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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

.foundation-mq {
  font-family: "xsmall=0em&small=30em&medium=48em&large=64em&xlarge=75em&xxlarge=100em"; }

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

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

body {
  padding: 0;
  margin: 0;
  font-family: "Montserrat", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1.5;
  color: #434547;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  display: inline-block;
  vertical-align: middle; }

textarea {
  height: auto;
  min-height: 50px;
  border-radius: 0; }

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

#map_canvas img,
#map_canvas embed,
#map_canvas object,
.map_canvas img,
.map_canvas embed,
.map_canvas object,
.mqa-display img,
.mqa-display embed,
.mqa-display object {
  max-width: none !important; }

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  background: transparent;
  padding: 0;
  border: 0;
  border-radius: 0;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

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

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

.row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }
  .row .row {
    max-width: none;
    margin-left: -0.625rem;
    margin-right: -0.625rem; }
    @media screen and (min-width: 48em) {
      .row .row {
        margin-left: -0.9375rem;
        margin-right: -0.9375rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }

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

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

.xsmall-1 {
  -ms-flex: 0 0 4.16667%;
      flex: 0 0 4.16667%;
  max-width: 4.16667%; }

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

.xsmall-2 {
  -ms-flex: 0 0 8.33333%;
      flex: 0 0 8.33333%;
  max-width: 8.33333%; }

.xsmall-offset-1 {
  margin-left: 4.16667%; }

.xsmall-3 {
  -ms-flex: 0 0 12.5%;
      flex: 0 0 12.5%;
  max-width: 12.5%; }

.xsmall-offset-2 {
  margin-left: 8.33333%; }

.xsmall-4 {
  -ms-flex: 0 0 16.66667%;
      flex: 0 0 16.66667%;
  max-width: 16.66667%; }

.xsmall-offset-3 {
  margin-left: 12.5%; }

.xsmall-5 {
  -ms-flex: 0 0 20.83333%;
      flex: 0 0 20.83333%;
  max-width: 20.83333%; }

.xsmall-offset-4 {
  margin-left: 16.66667%; }

.xsmall-6 {
  -ms-flex: 0 0 25%;
      flex: 0 0 25%;
  max-width: 25%; }

.xsmall-offset-5 {
  margin-left: 20.83333%; }

.xsmall-7 {
  -ms-flex: 0 0 29.16667%;
      flex: 0 0 29.16667%;
  max-width: 29.16667%; }

.xsmall-offset-6 {
  margin-left: 25%; }

.xsmall-8 {
  -ms-flex: 0 0 33.33333%;
      flex: 0 0 33.33333%;
  max-width: 33.33333%; }

.xsmall-offset-7 {
  margin-left: 29.16667%; }

.xsmall-9 {
  -ms-flex: 0 0 37.5%;
      flex: 0 0 37.5%;
  max-width: 37.5%; }

.xsmall-offset-8 {
  margin-left: 33.33333%; }

.xsmall-10 {
  -ms-flex: 0 0 41.66667%;
      flex: 0 0 41.66667%;
  max-width: 41.66667%; }

.xsmall-offset-9 {
  margin-left: 37.5%; }

.xsmall-11 {
  -ms-flex: 0 0 45.83333%;
      flex: 0 0 45.83333%;
  max-width: 45.83333%; }

.xsmall-offset-10 {
  margin-left: 41.66667%; }

.xsmall-12 {
  -ms-flex: 0 0 50%;
      flex: 0 0 50%;
  max-width: 50%; }

.xsmall-offset-11 {
  margin-left: 45.83333%; }

.xsmall-13 {
  -ms-flex: 0 0 54.16667%;
      flex: 0 0 54.16667%;
  max-width: 54.16667%; }

.xsmall-offset-12 {
  margin-left: 50%; }

.xsmall-14 {
  -ms-flex: 0 0 58.33333%;
      flex: 0 0 58.33333%;
  max-width: 58.33333%; }

.xsmall-offset-13 {
  margin-left: 54.16667%; }

.xsmall-15 {
  -ms-flex: 0 0 62.5%;
      flex: 0 0 62.5%;
  max-width: 62.5%; }

.xsmall-offset-14 {
  margin-left: 58.33333%; }

.xsmall-16 {
  -ms-flex: 0 0 66.66667%;
      flex: 0 0 66.66667%;
  max-width: 66.66667%; }

.xsmall-offset-15 {
  margin-left: 62.5%; }

.xsmall-17 {
  -ms-flex: 0 0 70.83333%;
      flex: 0 0 70.83333%;
  max-width: 70.83333%; }

.xsmall-offset-16 {
  margin-left: 66.66667%; }

.xsmall-18 {
  -ms-flex: 0 0 75%;
      flex: 0 0 75%;
  max-width: 75%; }

.xsmall-offset-17 {
  margin-left: 70.83333%; }

.xsmall-19 {
  -ms-flex: 0 0 79.16667%;
      flex: 0 0 79.16667%;
  max-width: 79.16667%; }

.xsmall-offset-18 {
  margin-left: 75%; }

.xsmall-20 {
  -ms-flex: 0 0 83.33333%;
      flex: 0 0 83.33333%;
  max-width: 83.33333%; }

.xsmall-offset-19 {
  margin-left: 79.16667%; }

.xsmall-21 {
  -ms-flex: 0 0 87.5%;
      flex: 0 0 87.5%;
  max-width: 87.5%; }

.xsmall-offset-20 {
  margin-left: 83.33333%; }

.xsmall-22 {
  -ms-flex: 0 0 91.66667%;
      flex: 0 0 91.66667%;
  max-width: 91.66667%; }

.xsmall-offset-21 {
  margin-left: 87.5%; }

.xsmall-23 {
  -ms-flex: 0 0 95.83333%;
      flex: 0 0 95.83333%;
  max-width: 95.83333%; }

.xsmall-offset-22 {
  margin-left: 91.66667%; }

.xsmall-24 {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  max-width: 100%; }

.xsmall-offset-23 {
  margin-left: 95.83333%; }

.xsmall-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.xsmall-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.xsmall-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.xsmall-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.xsmall-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.xsmall-order-6 {
  -ms-flex-order: 6;
      order: 6; }

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

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

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

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

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

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

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

.xsmall-up-8 {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .xsmall-up-8 > .column, .xsmall-up-8 > .columns {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }

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

.xsmall-uncollapse > .column, .xsmall-uncollapse > .columns {
  padding-left: 0.625rem;
  padding-right: 0.625rem; }

@media screen and (min-width: 30em) {
  .small-1 {
    -ms-flex: 0 0 4.16667%;
        flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .small-offset-0 {
    margin-left: 0%; }
  .small-2 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .small-offset-1 {
    margin-left: 4.16667%; }
  .small-3 {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }
  .small-offset-2 {
    margin-left: 8.33333%; }
  .small-4 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .small-offset-3 {
    margin-left: 12.5%; }
  .small-5 {
    -ms-flex: 0 0 20.83333%;
        flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .small-offset-4 {
    margin-left: 16.66667%; }
  .small-6 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .small-offset-5 {
    margin-left: 20.83333%; }
  .small-7 {
    -ms-flex: 0 0 29.16667%;
        flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .small-offset-6 {
    margin-left: 25%; }
  .small-8 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .small-offset-7 {
    margin-left: 29.16667%; }
  .small-9 {
    -ms-flex: 0 0 37.5%;
        flex: 0 0 37.5%;
    max-width: 37.5%; }
  .small-offset-8 {
    margin-left: 33.33333%; }
  .small-10 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .small-offset-9 {
    margin-left: 37.5%; }
  .small-11 {
    -ms-flex: 0 0 45.83333%;
        flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .small-offset-10 {
    margin-left: 41.66667%; }
  .small-12 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .small-offset-11 {
    margin-left: 45.83333%; }
  .small-13 {
    -ms-flex: 0 0 54.16667%;
        flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .small-offset-12 {
    margin-left: 50%; }
  .small-14 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .small-offset-13 {
    margin-left: 54.16667%; }
  .small-15 {
    -ms-flex: 0 0 62.5%;
        flex: 0 0 62.5%;
    max-width: 62.5%; }
  .small-offset-14 {
    margin-left: 58.33333%; }
  .small-16 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .small-offset-15 {
    margin-left: 62.5%; }
  .small-17 {
    -ms-flex: 0 0 70.83333%;
        flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .small-offset-16 {
    margin-left: 66.66667%; }
  .small-18 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .small-offset-17 {
    margin-left: 70.83333%; }
  .small-19 {
    -ms-flex: 0 0 79.16667%;
        flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .small-offset-18 {
    margin-left: 75%; }
  .small-20 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .small-offset-19 {
    margin-left: 79.16667%; }
  .small-21 {
    -ms-flex: 0 0 87.5%;
        flex: 0 0 87.5%;
    max-width: 87.5%; }
  .small-offset-20 {
    margin-left: 83.33333%; }
  .small-22 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .small-offset-21 {
    margin-left: 87.5%; }
  .small-23 {
    -ms-flex: 0 0 95.83333%;
        flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .small-offset-22 {
    margin-left: 91.66667%; }
  .small-24 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .small-offset-23 {
    margin-left: 95.83333%; }
  .small-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .small-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .small-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .small-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .small-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .small-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .small-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-1 > .column, .small-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .small-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-2 > .column, .small-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .small-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-3 > .column, .small-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .small-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-4 > .column, .small-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .small-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-5 > .column, .small-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .small-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-6 > .column, .small-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .small-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-7 > .column, .small-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .small-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .small-up-8 > .column, .small-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

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

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

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

@media screen and (min-width: 48em) {
  .medium-1 {
    -ms-flex: 0 0 4.16667%;
        flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .medium-offset-1 {
    margin-left: 4.16667%; }
  .medium-3 {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }
  .medium-offset-2 {
    margin-left: 8.33333%; }
  .medium-4 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .medium-offset-3 {
    margin-left: 12.5%; }
  .medium-5 {
    -ms-flex: 0 0 20.83333%;
        flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .medium-offset-4 {
    margin-left: 16.66667%; }
  .medium-6 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .medium-offset-5 {
    margin-left: 20.83333%; }
  .medium-7 {
    -ms-flex: 0 0 29.16667%;
        flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .medium-offset-6 {
    margin-left: 25%; }
  .medium-8 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .medium-offset-7 {
    margin-left: 29.16667%; }
  .medium-9 {
    -ms-flex: 0 0 37.5%;
        flex: 0 0 37.5%;
    max-width: 37.5%; }
  .medium-offset-8 {
    margin-left: 33.33333%; }
  .medium-10 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .medium-offset-9 {
    margin-left: 37.5%; }
  .medium-11 {
    -ms-flex: 0 0 45.83333%;
        flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .medium-offset-10 {
    margin-left: 41.66667%; }
  .medium-12 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .medium-offset-11 {
    margin-left: 45.83333%; }
  .medium-13 {
    -ms-flex: 0 0 54.16667%;
        flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .medium-offset-12 {
    margin-left: 50%; }
  .medium-14 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .medium-offset-13 {
    margin-left: 54.16667%; }
  .medium-15 {
    -ms-flex: 0 0 62.5%;
        flex: 0 0 62.5%;
    max-width: 62.5%; }
  .medium-offset-14 {
    margin-left: 58.33333%; }
  .medium-16 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .medium-offset-15 {
    margin-left: 62.5%; }
  .medium-17 {
    -ms-flex: 0 0 70.83333%;
        flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .medium-offset-16 {
    margin-left: 66.66667%; }
  .medium-18 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .medium-offset-17 {
    margin-left: 70.83333%; }
  .medium-19 {
    -ms-flex: 0 0 79.16667%;
        flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .medium-offset-18 {
    margin-left: 75%; }
  .medium-20 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .medium-offset-19 {
    margin-left: 79.16667%; }
  .medium-21 {
    -ms-flex: 0 0 87.5%;
        flex: 0 0 87.5%;
    max-width: 87.5%; }
  .medium-offset-20 {
    margin-left: 83.33333%; }
  .medium-22 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .medium-offset-21 {
    margin-left: 87.5%; }
  .medium-23 {
    -ms-flex: 0 0 95.83333%;
        flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .medium-offset-22 {
    margin-left: 91.66667%; }
  .medium-24 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .medium-offset-23 {
    margin-left: 95.83333%; }
  .medium-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .medium-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .medium-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .medium-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .medium-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .medium-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .medium-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-1 > .column, .medium-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .medium-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-2 > .column, .medium-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .medium-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-3 > .column, .medium-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .medium-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-4 > .column, .medium-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .medium-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-5 > .column, .medium-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .medium-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-6 > .column, .medium-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .medium-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-7 > .column, .medium-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .medium-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .medium-up-8 > .column, .medium-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

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

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

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

@media screen and (min-width: 64em) {
  .large-1 {
    -ms-flex: 0 0 4.16667%;
        flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .large-offset-1 {
    margin-left: 4.16667%; }
  .large-3 {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }
  .large-offset-2 {
    margin-left: 8.33333%; }
  .large-4 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .large-offset-3 {
    margin-left: 12.5%; }
  .large-5 {
    -ms-flex: 0 0 20.83333%;
        flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .large-offset-4 {
    margin-left: 16.66667%; }
  .large-6 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .large-offset-5 {
    margin-left: 20.83333%; }
  .large-7 {
    -ms-flex: 0 0 29.16667%;
        flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .large-offset-6 {
    margin-left: 25%; }
  .large-8 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .large-offset-7 {
    margin-left: 29.16667%; }
  .large-9 {
    -ms-flex: 0 0 37.5%;
        flex: 0 0 37.5%;
    max-width: 37.5%; }
  .large-offset-8 {
    margin-left: 33.33333%; }
  .large-10 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .large-offset-9 {
    margin-left: 37.5%; }
  .large-11 {
    -ms-flex: 0 0 45.83333%;
        flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .large-offset-10 {
    margin-left: 41.66667%; }
  .large-12 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .large-offset-11 {
    margin-left: 45.83333%; }
  .large-13 {
    -ms-flex: 0 0 54.16667%;
        flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .large-offset-12 {
    margin-left: 50%; }
  .large-14 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .large-offset-13 {
    margin-left: 54.16667%; }
  .large-15 {
    -ms-flex: 0 0 62.5%;
        flex: 0 0 62.5%;
    max-width: 62.5%; }
  .large-offset-14 {
    margin-left: 58.33333%; }
  .large-16 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .large-offset-15 {
    margin-left: 62.5%; }
  .large-17 {
    -ms-flex: 0 0 70.83333%;
        flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .large-offset-16 {
    margin-left: 66.66667%; }
  .large-18 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .large-offset-17 {
    margin-left: 70.83333%; }
  .large-19 {
    -ms-flex: 0 0 79.16667%;
        flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .large-offset-18 {
    margin-left: 75%; }
  .large-20 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .large-offset-19 {
    margin-left: 79.16667%; }
  .large-21 {
    -ms-flex: 0 0 87.5%;
        flex: 0 0 87.5%;
    max-width: 87.5%; }
  .large-offset-20 {
    margin-left: 83.33333%; }
  .large-22 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .large-offset-21 {
    margin-left: 87.5%; }
  .large-23 {
    -ms-flex: 0 0 95.83333%;
        flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .large-offset-22 {
    margin-left: 91.66667%; }
  .large-24 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .large-offset-23 {
    margin-left: 95.83333%; }
  .large-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .large-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .large-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .large-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .large-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .large-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .large-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-1 > .column, .large-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .large-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-2 > .column, .large-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .large-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-3 > .column, .large-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .large-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-4 > .column, .large-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .large-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-5 > .column, .large-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .large-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-6 > .column, .large-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .large-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-7 > .column, .large-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .large-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .large-up-8 > .column, .large-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

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

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

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

@media screen and (min-width: 75em) {
  .xlarge-1 {
    -ms-flex: 0 0 4.16667%;
        flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xlarge-offset-1 {
    margin-left: 4.16667%; }
  .xlarge-3 {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xlarge-offset-2 {
    margin-left: 8.33333%; }
  .xlarge-4 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xlarge-offset-3 {
    margin-left: 12.5%; }
  .xlarge-5 {
    -ms-flex: 0 0 20.83333%;
        flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .xlarge-offset-4 {
    margin-left: 16.66667%; }
  .xlarge-6 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xlarge-offset-5 {
    margin-left: 20.83333%; }
  .xlarge-7 {
    -ms-flex: 0 0 29.16667%;
        flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .xlarge-offset-6 {
    margin-left: 25%; }
  .xlarge-8 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xlarge-offset-7 {
    margin-left: 29.16667%; }
  .xlarge-9 {
    -ms-flex: 0 0 37.5%;
        flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xlarge-offset-8 {
    margin-left: 33.33333%; }
  .xlarge-10 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xlarge-offset-9 {
    margin-left: 37.5%; }
  .xlarge-11 {
    -ms-flex: 0 0 45.83333%;
        flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .xlarge-offset-10 {
    margin-left: 41.66667%; }
  .xlarge-12 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xlarge-offset-11 {
    margin-left: 45.83333%; }
  .xlarge-13 {
    -ms-flex: 0 0 54.16667%;
        flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .xlarge-offset-12 {
    margin-left: 50%; }
  .xlarge-14 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xlarge-offset-13 {
    margin-left: 54.16667%; }
  .xlarge-15 {
    -ms-flex: 0 0 62.5%;
        flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xlarge-offset-14 {
    margin-left: 58.33333%; }
  .xlarge-16 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xlarge-offset-15 {
    margin-left: 62.5%; }
  .xlarge-17 {
    -ms-flex: 0 0 70.83333%;
        flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .xlarge-offset-16 {
    margin-left: 66.66667%; }
  .xlarge-18 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xlarge-offset-17 {
    margin-left: 70.83333%; }
  .xlarge-19 {
    -ms-flex: 0 0 79.16667%;
        flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .xlarge-offset-18 {
    margin-left: 75%; }
  .xlarge-20 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xlarge-offset-19 {
    margin-left: 79.16667%; }
  .xlarge-21 {
    -ms-flex: 0 0 87.5%;
        flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xlarge-offset-20 {
    margin-left: 83.33333%; }
  .xlarge-22 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xlarge-offset-21 {
    margin-left: 87.5%; }
  .xlarge-23 {
    -ms-flex: 0 0 95.83333%;
        flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .xlarge-offset-22 {
    margin-left: 91.66667%; }
  .xlarge-24 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xlarge-offset-23 {
    margin-left: 95.83333%; }
  .xlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

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

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

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

@media screen and (min-width: 100em) {
  .xxlarge-1 {
    -ms-flex: 0 0 4.16667%;
        flex: 0 0 4.16667%;
    max-width: 4.16667%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    -ms-flex: 0 0 8.33333%;
        flex: 0 0 8.33333%;
    max-width: 8.33333%; }
  .xxlarge-offset-1 {
    margin-left: 4.16667%; }
  .xxlarge-3 {
    -ms-flex: 0 0 12.5%;
        flex: 0 0 12.5%;
    max-width: 12.5%; }
  .xxlarge-offset-2 {
    margin-left: 8.33333%; }
  .xxlarge-4 {
    -ms-flex: 0 0 16.66667%;
        flex: 0 0 16.66667%;
    max-width: 16.66667%; }
  .xxlarge-offset-3 {
    margin-left: 12.5%; }
  .xxlarge-5 {
    -ms-flex: 0 0 20.83333%;
        flex: 0 0 20.83333%;
    max-width: 20.83333%; }
  .xxlarge-offset-4 {
    margin-left: 16.66667%; }
  .xxlarge-6 {
    -ms-flex: 0 0 25%;
        flex: 0 0 25%;
    max-width: 25%; }
  .xxlarge-offset-5 {
    margin-left: 20.83333%; }
  .xxlarge-7 {
    -ms-flex: 0 0 29.16667%;
        flex: 0 0 29.16667%;
    max-width: 29.16667%; }
  .xxlarge-offset-6 {
    margin-left: 25%; }
  .xxlarge-8 {
    -ms-flex: 0 0 33.33333%;
        flex: 0 0 33.33333%;
    max-width: 33.33333%; }
  .xxlarge-offset-7 {
    margin-left: 29.16667%; }
  .xxlarge-9 {
    -ms-flex: 0 0 37.5%;
        flex: 0 0 37.5%;
    max-width: 37.5%; }
  .xxlarge-offset-8 {
    margin-left: 33.33333%; }
  .xxlarge-10 {
    -ms-flex: 0 0 41.66667%;
        flex: 0 0 41.66667%;
    max-width: 41.66667%; }
  .xxlarge-offset-9 {
    margin-left: 37.5%; }
  .xxlarge-11 {
    -ms-flex: 0 0 45.83333%;
        flex: 0 0 45.83333%;
    max-width: 45.83333%; }
  .xxlarge-offset-10 {
    margin-left: 41.66667%; }
  .xxlarge-12 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    max-width: 50%; }
  .xxlarge-offset-11 {
    margin-left: 45.83333%; }
  .xxlarge-13 {
    -ms-flex: 0 0 54.16667%;
        flex: 0 0 54.16667%;
    max-width: 54.16667%; }
  .xxlarge-offset-12 {
    margin-left: 50%; }
  .xxlarge-14 {
    -ms-flex: 0 0 58.33333%;
        flex: 0 0 58.33333%;
    max-width: 58.33333%; }
  .xxlarge-offset-13 {
    margin-left: 54.16667%; }
  .xxlarge-15 {
    -ms-flex: 0 0 62.5%;
        flex: 0 0 62.5%;
    max-width: 62.5%; }
  .xxlarge-offset-14 {
    margin-left: 58.33333%; }
  .xxlarge-16 {
    -ms-flex: 0 0 66.66667%;
        flex: 0 0 66.66667%;
    max-width: 66.66667%; }
  .xxlarge-offset-15 {
    margin-left: 62.5%; }
  .xxlarge-17 {
    -ms-flex: 0 0 70.83333%;
        flex: 0 0 70.83333%;
    max-width: 70.83333%; }
  .xxlarge-offset-16 {
    margin-left: 66.66667%; }
  .xxlarge-18 {
    -ms-flex: 0 0 75%;
        flex: 0 0 75%;
    max-width: 75%; }
  .xxlarge-offset-17 {
    margin-left: 70.83333%; }
  .xxlarge-19 {
    -ms-flex: 0 0 79.16667%;
        flex: 0 0 79.16667%;
    max-width: 79.16667%; }
  .xxlarge-offset-18 {
    margin-left: 75%; }
  .xxlarge-20 {
    -ms-flex: 0 0 83.33333%;
        flex: 0 0 83.33333%;
    max-width: 83.33333%; }
  .xxlarge-offset-19 {
    margin-left: 79.16667%; }
  .xxlarge-21 {
    -ms-flex: 0 0 87.5%;
        flex: 0 0 87.5%;
    max-width: 87.5%; }
  .xxlarge-offset-20 {
    margin-left: 83.33333%; }
  .xxlarge-22 {
    -ms-flex: 0 0 91.66667%;
        flex: 0 0 91.66667%;
    max-width: 91.66667%; }
  .xxlarge-offset-21 {
    margin-left: 87.5%; }
  .xxlarge-23 {
    -ms-flex: 0 0 95.83333%;
        flex: 0 0 95.83333%;
    max-width: 95.83333%; }
  .xxlarge-offset-22 {
    margin-left: 91.66667%; }
  .xxlarge-24 {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%;
    max-width: 100%; }
  .xxlarge-offset-23 {
    margin-left: 95.83333%; }
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; }
  .xxlarge-up-1 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
      max-width: 100%; }
  .xxlarge-up-2 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
      max-width: 50%; }
  .xxlarge-up-3 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
      -ms-flex: 0 0 33.33333%;
          flex: 0 0 33.33333%;
      max-width: 33.33333%; }
  .xxlarge-up-4 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      max-width: 25%; }
  .xxlarge-up-5 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
      -ms-flex: 0 0 20%;
          flex: 0 0 20%;
      max-width: 20%; }
  .xxlarge-up-6 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      max-width: 16.66667%; }
  .xxlarge-up-7 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
      -ms-flex: 0 0 14.28571%;
          flex: 0 0 14.28571%;
      max-width: 14.28571%; }
  .xxlarge-up-8 {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      max-width: 12.5%; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.xsmall-order-1 {
  -ms-flex-order: 1;
      order: 1; }

.xsmall-order-2 {
  -ms-flex-order: 2;
      order: 2; }

.xsmall-order-3 {
  -ms-flex-order: 3;
      order: 3; }

.xsmall-order-4 {
  -ms-flex-order: 4;
      order: 4; }

.xsmall-order-5 {
  -ms-flex-order: 5;
      order: 5; }

.xsmall-order-6 {
  -ms-flex-order: 6;
      order: 6; }

@media screen and (min-width: 30em) {
  .small-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .small-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .small-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .small-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .small-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .small-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

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

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

@media screen and (min-width: 75em) {
  .xlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

@media screen and (min-width: 100em) {
  .xxlarge-order-1 {
    -ms-flex-order: 1;
        order: 1; }
  .xxlarge-order-2 {
    -ms-flex-order: 2;
        order: 2; }
  .xxlarge-order-3 {
    -ms-flex-order: 3;
        order: 3; }
  .xxlarge-order-4 {
    -ms-flex-order: 4;
        order: 4; }
  .xxlarge-order-5 {
    -ms-flex-order: 5;
        order: 5; }
  .xxlarge-order-6 {
    -ms-flex-order: 6;
        order: 6; } }

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

p {
  font-size: inherit;
  line-height: 1.6;
  margin-bottom: 1rem;
  text-rendering: optimizeLegibility; }

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

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

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

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Montserrat", Helvetica, Roboto, Arial, sans-serif;
  font-weight: bold;
  font-style: normal;
  color: #f36717;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #e2e2e2;
    line-height: 0; }

h1 {
  font-size: 1.5625rem; }

h2 {
  font-size: 1.25rem; }

h3 {
  font-size: 1.0625rem; }

h4 {
  font-size: 1.125rem; }

h5 {
  font-size: 1rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 1.875rem; }
  h2 {
    font-size: 1.4375rem; }
  h3 {
    font-size: 1.25rem; }
  h4 {
    font-size: 1.5625rem; }
  h5 {
    font-size: 1rem; }
  h6 {
    font-size: 1rem; } }

@media screen and (min-width: 75em) {
  h1 {
    font-size: 2.0625rem; }
  h2 {
    font-size: 1.625rem; }
  h3 {
    font-size: 1.375rem; }
  h4 {
    font-size: 1.25rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 1rem; } }

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

hr {
  max-width: 100%;
  height: 0;
  border-right: 0;
  border-top: 0;
  border-bottom: 1px solid #e2e2e2;
  border-left: 0;
  margin: 1.25rem auto;
  clear: both; }

ul,
ol,
dl {
  line-height: 1.6;
  margin-bottom: 1rem;
  list-style-position: outside; }

li {
  font-size: inherit; }

ul {
  list-style-type: disc;
  margin-left: 1.25rem; }

ol {
  margin-left: 1.25rem; }

ul ul, ol ul, ul ol, ol ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

dl {
  margin-bottom: 1rem; }
  dl dt {
    margin-bottom: 0.3rem;
    font-weight: bold; }

blockquote {
  margin: 0 0 1rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #e2e2e2; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #434547;
  cursor: help;
  border-bottom: 1px dotted #0a0a0a; }

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

kbd {
  padding: 0.125rem 0.25rem 0;
  margin: 0;
  background-color: #f5f5f5;
  color: #0a0a0a;
  font-family: Consolas, "Liberation Mono", Courier, monospace; }

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

.lead {
  font-size: 125%;
  line-height: 1.6; }

.stat {
  font-size: 2.5rem;
  line-height: 1; }
  p + .stat {
    margin-top: -1rem; }

.no-bullet {
  margin-left: 0;
  list-style: none; }

.text-left {
  text-align: left; }

.text-right {
  text-align: right; }

.text-center {
  text-align: center; }

.text-justify {
  text-align: justify; }

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

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

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

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

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

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

@media print {
  * {
    background: transparent !important;
    color: black !important;
    box-shadow: none !important;
    text-shadow: none !important; }
  .show-for-print {
    display: block !important; }
  .hide-for-print {
    display: none !important; }
  table.show-for-print {
    display: table !important; }
  thead.show-for-print {
    display: table-header-group !important; }
  tbody.show-for-print {
    display: table-row-group !important; }
  tr.show-for-print {
    display: table-row !important; }
  td.show-for-print {
    display: table-cell !important; }
  th.show-for-print {
    display: table-cell !important; }
  a,
  a:visited {
    text-decoration: underline; }
  a[href]:after {
    content: " (" attr(href) ")"; }
  .ir a:after,
  a[href^='javascript:']:after,
  a[href^='#']:after {
    content: ''; }
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  pre,
  blockquote {
    border: 1px solid #8a8a8a;
    page-break-inside: avoid; }
  thead {
    display: table-header-group; }
  tr,
  img {
    page-break-inside: avoid; }
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.5cm; }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  h2,
  h3 {
    page-break-after: avoid; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #f36717;
  color: #fff; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #d7550b;
    color: #fff; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #f36717;
    color: #fff; }
    .button.primary:hover, .button.primary:focus {
      background-color: #ca500a;
      color: #fff; }
  .button.secondary {
    background-color: #434547;
    color: #fff; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #363739;
      color: #fff; }
  .button.success {
    background-color: #3adb76;
    color: #fff; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #fff; }
  .button.warning {
    background-color: #ffae00;
    color: #fff; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fff; }
  .button.alert {
    background-color: #ec5840;
    color: #fff; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #fff; }
  .button.hollow {
    border: 1px solid #f36717;
    color: #f36717; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #7e3207;
      color: #7e3207; }
    .button.hollow.primary {
      border: 1px solid #f36717;
      color: #f36717; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #7e3207;
        color: #7e3207; }
    .button.hollow.secondary {
      border: 1px solid #434547;
      color: #434547; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #222324;
        color: #222324; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #f36717;
      color: #fff; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fff transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

[type='text'], [type='password'], [type='date'], [type='datetime'], [type='datetime-local'], [type='month'], [type='week'], [type='email'], [type='number'], [type='search'], [type='tel'], [type='time'], [type='url'], [type='color'],
textarea {
  display: block;
  box-sizing: border-box;
  width: 100%;
  height: 2.3125rem;
  padding: 0.5rem;
  border: 1px solid #e2e2e2;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 0.875rem;
  color: #434547;
  background-color: #fff;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  border-radius: 0;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
  -moz-appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    border: 1px solid #b7b7b7;
    background-color: #fff;
    outline: none;
    box-shadow: 0 0 5px #e2e2e2;
    transition: box-shadow 0.5s, border-color 0.25s ease-in-out; }

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

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

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

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #f5f5f5;
  cursor: not-allowed; }

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

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

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }
  [type='checkbox'] + label[for],
  [type='radio'] + label[for] {
    cursor: pointer; }

label > [type='checkbox'],
label > [type='radio'] {
  margin-right: 0.5rem; }

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

label {
  display: block;
  margin: 0;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.8;
  color: #434547; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

.help-text {
  margin-top: -0.5rem;
  font-size: 0.75rem;
  font-style: normal;
  color: #8a8a8a; }

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

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

.input-group-label {
  text-align: center;
  padding: 0 1rem;
  background: #f5f5f5;
  color: #0a0a0a;
  border: 1px solid #e2e2e2;
  white-space: nowrap;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

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

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

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

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

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

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

select {
  height: 2.3125rem;
  padding: 0.5rem;
  border: 1px solid #e2e2e2;
  margin: 0 0 1rem;
  font-size: 0.875rem;
  font-family: inherit;
  line-height: normal;
  color: #434547;
  background-color: #fff;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' version='1.1' width='32' height='24' viewBox='0 0 32 24'><polygon points='0,0 32,0 16,24' style='fill: rgb%2851, 51, 51%29'></polygon></svg>");
  background-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #f5f5f5;
    cursor: not-allowed; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

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

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

.form-error {
  display: none;
  margin-top: -0.5rem;
  margin-bottom: 1rem;
  font-size: 0.75rem;
  font-weight: bold;
  color: #ec5840; }
  .form-error.is-visible {
    display: block; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .hide-for-medium-only {
    display: none !important; } }

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

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

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

@media screen and (min-width: 64em) and (max-width: 74.9375em) {
  .hide-for-large-only {
    display: none !important; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::after {
  clear: both; }

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

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

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

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

.accordion-content {
  padding: 1rem;
  display: none;
  border: 1px solid #f5f5f5;
  border-bottom: 0;
  background-color: #fff;
  color: #f36717; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #f5f5f5; }

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

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

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #f36717;
  color: #fff; }
  .badge.secondary {
    background: #434547;
    color: #fff; }
  .badge.success {
    background: #3adb76;
    color: #fff; }
  .badge.warning {
    background: #ffae00;
    color: #fff; }
  .badge.alert {
    background: #ec5840;
    color: #fff; }

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

.button-group {
  margin-bottom: 1rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
      flex-wrap: nowrap;
  -ms-flex-align: stretch;
      align-items: stretch; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -ms-flex: 1 1 0px;
        flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #f36717;
    color: #fff; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #ca500a;
      color: #fff; }
  .button-group.secondary .button {
    background-color: #434547;
    color: #fff; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #363739;
      color: #fff; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #fff; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #fff; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #fff; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #fff; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #fff; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #fff; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -ms-flex: 1 1 0px;
          flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (min-width: 30em) and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem 1rem 0 1rem;
  border: 1px solid #e2e2e2;
  border-radius: 0;
  position: relative;
  color: #434547;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #fde8dc; }
  .callout.secondary {
    background-color: #e2e3e4; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

.close-button {
  position: absolute;
  color: #8a8a8a;
  right: 1rem;
  top: 0.5rem;
  font-size: 2em;
  line-height: 1;
  cursor: pointer; }
  [data-whatinput='mouse'] .close-button {
    outline: 0; }
  .close-button:hover, .close-button:focus {
    color: #0a0a0a; }

.dropdown-pane {
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  display: block;
  font-size: 1rem;
  padding: 0.5rem;
  position: absolute;
  visibility: hidden;
  width: 300px;
  z-index: 10; }
  .dropdown-pane.is-open {
    visibility: visible; }

.dropdown-pane.tiny {
  width: 100px; }

.dropdown-pane.small {
  width: 200px; }

.dropdown-pane.large {
  width: 400px; }

.dropdown.menu > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 0;
  top: 100%; }

.dropdown.menu > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 0;
  top: 100%; }

[data-whatinput='mouse'] .dropdown.menu a {
  outline: 0; }

.no-js .dropdown.menu ul {
  display: none; }

.dropdown.menu.vertical > li .is-dropdown-submenu {
  top: 0; }

.dropdown.menu.vertical > li.opens-left > .is-dropdown-submenu {
  left: auto;
  right: 100%; }

.dropdown.menu.vertical > li.opens-right > .is-dropdown-submenu {
  right: auto;
  left: 100%; }

@media screen and (min-width: 30em) {
  .dropdown.menu.small-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.small-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.small-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.small-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.small-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 75em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

@media screen and (min-width: 100em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; } }

.dropdown.menu.align-right .is-dropdown-submenu.first-sub {
  top: 100%;
  left: auto;
  right: 0; }

.is-dropdown-menu.vertical {
  width: 100px; }
  .is-dropdown-menu.vertical.align-right {
    float: right; }

.is-dropdown-submenu-parent {
  position: relative; }
  .is-dropdown-submenu-parent a::after {
    position: absolute;
    top: 50%;
    right: 5px;
    margin-top: -2px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fff;
  border: none; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

.flex-video {
  position: relative;
  height: 0;
  padding-bottom: 75%;
  margin-bottom: 1rem;
  overflow: hidden; }
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flex-video.widescreen {
    padding-bottom: 56.25%; }
  .flex-video.vimeo {
    padding-top: 0; }

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 0;
  background: #f36717;
  color: #fff; }
  .label.secondary {
    background: #434547;
    color: #fff; }
  .label.success {
    background: #3adb76;
    color: #fff; }
  .label.warning {
    background: #ffae00;
    color: #fff; }
  .label.alert {
    background: #ec5840;
    color: #fff; }

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

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

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

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

.pagination {
  margin-left: 0;
  margin-bottom: 1rem; }
  .pagination::before, .pagination::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    border-radius: 0;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #0a0a0a;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0; }
    .pagination a:hover,
    .pagination button:hover {
      background: #f5f5f5; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #f36717;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #e2e2e2;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #0a0a0a; }

.pagination-previous a::before,
.pagination-previous.disabled::before {
  content: '\00ab';
  display: inline-block;
  margin-right: 0.5rem; }

.pagination-next a::after,
.pagination-next.disabled::after {
  content: '\00bb';
  display: inline-block;
  margin-left: 0.5rem; }

.progress {
  background-color: #e2e2e2;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #f36717; }
  .progress.secondary .progress-meter {
    background-color: #434547; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }

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

.progress-meter-text {
  position: absolute;
  top: 50%;
  left: 50%;
  -ms-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
  position: absolute;
  margin: 0;
  font-size: 0.75rem;
  font-weight: bold;
  color: #fff;
  white-space: nowrap; }

.slider {
  position: relative;
  height: 0.5rem;
  margin-top: 1.25rem;
  margin-bottom: 2.25rem;
  background-color: #f5f5f5;
  cursor: pointer;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

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

.slider-handle {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%);
  position: absolute;
  left: 0;
  z-index: 1;
  display: inline-block;
  width: 1.4rem;
  height: 1.4rem;
  background-color: #f36717;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 0; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #d7550b; }
  .slider-handle.is-dragging {
    transition: all 0s linear; }

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

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

.sticky-container {
  position: relative; }

.sticky {
  position: absolute;
  z-index: 0;
  transform: translate3d(0, 0, 0); }

.sticky.is-stuck {
  position: fixed;
  z-index: 5; }
  .sticky.is-stuck.is-at-top {
    top: 0; }
  .sticky.is-stuck.is-at-bottom {
    bottom: 0; }

.sticky.is-anchored {
  position: absolute;
  left: auto;
  right: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

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

html.is-reveal-open,
html.is-reveal-open body {
  height: 100%;
  overflow: hidden;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

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

.reveal {
  display: none;
  z-index: 1006;
  padding: 1rem;
  border: 1px solid #e2e2e2;
  background-color: #fff;
  border-radius: 0;
  position: relative;
  top: 100px;
  margin-left: auto;
  margin-right: auto;
  overflow-y: auto; }
  [data-whatinput='mouse'] .reveal {
    outline: 0; }
  @media screen and (min-width: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 100%; } }
  @media screen and (min-width: 48em) {
    .reveal .reveal {
      left: auto;
      right: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 100%; } }
  @media screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 100%; } }
  @media screen and (min-width: 48em) {
    .reveal.large {
      width: 90%;
      max-width: 100%; } }
  .reveal.full {
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    height: 100vh;
    min-height: 100vh;
    max-width: none;
    margin-left: 0;
    border: 0;
    border-radius: 0; }
  @media screen and (max-width: 29.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      max-width: none;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  margin-bottom: 1rem;
  outline: 0;
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  color: #fff;
  font-weight: bold;
  font-size: 0.875rem; }

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

.switch-paddle {
  background: #e2e2e2;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fff;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    transition: all 0.25s ease-out;
    transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #f36717; }
    input:checked ~ .switch-paddle::after {
      left: 2.25rem; }
  [data-whatinput='mouse'] input:focus ~ .switch-paddle {
    outline: 0; }

.switch-active, .switch-inactive {
  position: absolute;
  top: 50%;
  -ms-transform: translateY(-50%);
      transform: translateY(-50%); }

.switch-active {
  left: 8%;
  display: none; }
  input:checked + label > .switch-active {
    display: block; }

.switch-inactive {
  right: 15%; }
  input:checked + label > .switch-inactive {
    display: none; }

.switch.tiny .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem; }

.switch.tiny .switch-paddle::after {
  width: 1rem;
  height: 1rem; }

.switch.tiny input:checked ~ .switch-paddle::after {
  left: 1.75rem; }

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem; }

.switch.small .switch-paddle::after {
  width: 1.25rem;
  height: 1.25rem; }

.switch.small input:checked ~ .switch-paddle::after {
  left: 2rem; }

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem; }

.switch.large .switch-paddle::after {
  width: 2rem;
  height: 2rem; }

.switch.large input:checked ~ .switch-paddle::after {
  left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  table thead,
  table tbody,
  table tfoot {
    border: 1px solid #f2f2f2;
    background-color: #fff; }
  table caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  table thead,
  table tfoot {
    background: #f9f9f9;
    color: #434547; }
    table thead tr,
    table tfoot tr {
      background: transparent; }
    table thead th,
    table thead td,
    table tfoot th,
    table tfoot td {
      padding: 0.5rem 0.625rem 0.625rem;
      font-weight: bold;
      text-align: left; }
  table tbody tr:nth-child(even) {
    background-color: #f2f2f2; }
  table tbody th,
  table tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

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

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

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

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

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

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fff;
  border: 1px solid #f5f5f5; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table;
    -ms-flex-preferred-size: 0;
        flex-basis: 0;
    -ms-flex-order: 1;
        order: 1; }
  .tabs::after {
    clear: both; }

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

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

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

.tabs-title {
  float: left; }
  .tabs-title > a {
    display: block;
    padding: 1.25rem 1.5rem;
    line-height: 1;
    font-size: 0.75rem; }
    .tabs-title > a:hover {
      background: #fff; }
    .tabs-title > a:focus, .tabs-title > a[aria-selected='true'] {
      background: #f5f5f5; }

.tabs-content {
  background: #fff;
  transition: all 0.5s ease;
  border: 1px solid #f5f5f5;
  border-top: 0; }

.tabs-content.vertical {
  border: 1px solid #f5f5f5;
  border-left: 0; }

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel.is-active {
    display: block; }

.title-bar {
  background: #0a0a0a;
  color: #fff;
  padding: 0.5rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left,
.title-bar-right {
  -ms-flex: 1 1 0px;
      flex: 1 1 0px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
* Funkce i mixins jsou na nejvyšší úrovni -> využití ve všech stylech!
* Soubor global-setting je nad app-setting z důvodu možnosti překrýt individuálním app-settings
* pro jednotlivé instance systému.
*/
/* global -  nastavení komponent nutné pro základní rozvržení,
*  tyto hodnoty je nutné mít nastavené i přes to, že se s nimi nepracuje v app-settings.
*/
h2 {
  color: #434547; }

h4 {
  color: #434547;
  font-weight: bold; }

.form-error {
  color: #ec5840; }

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-regular.woff") format("woff");
  font-weight: normal; }

@font-face {
  font-family: "Montserrat";
  src: url("../fonts/Montserrat-Bold.woff") format("woff");
  font-weight: bold; }

html, body {
  height: 100%;
  -webkit-overflow-scrolling: auto; }

body {
  font-family: "Montserrat", Helvetica, Roboto, Arial, sans-serif;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow: hidden; }

.topBar {
  width: 100%;
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  -ms-flex-direction: row;
      flex-direction: row; }

.mainWrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  min-height: 0;
  position: relative; }

nav {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  z-index: 11;
  left: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: transform .3s ease;
  transform: translate3d(-100%, 0, 0); }
  nav.toggleLeftSidebarMobile {
    transform: translate3d(0, 0, 0); }
  @media screen and (min-width: 64em) {
    nav {
      transform: translate3d(0, 0, 0); }
      nav.toggleLeftSidebarMobile {
        transform: translate3d(0, 0, 0); }
      .toggleLeftSidebarDesktop nav {
        transform: translate3d(-100%, 0, 0) !important; } }

.middleRightWrapper {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 1 1 0px;
      flex: 1 1 0px;
  -ms-flex-direction: column;
      flex-direction: column;
  overflow-y: scroll;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar; }
  .middleRightWrapper .contentHeader {
    -ms-flex: 0 0 auto;
        flex: 0 0 auto; }
  @media screen and (min-width: 48em) {
    .middleRightWrapper {
      overflow-y: auto; }
      .middleRightWrapper .content {
        display: -ms-flexbox;
        display: flex;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
        -ms-flex-direction: row;
            flex-direction: row;
        position: relative;
        overflow: hidden; } }
  @media screen and (min-width: 64em) {
    .middleRightWrapper {
      margin-left: 100%; } }
  @media screen and (min-width: 64em) and (min-width: 480px) {
    .middleRightWrapper {
      margin-left: 12.5rem; } }
  @media screen and (min-width: 64em) and (min-width: 1200px) {
    .middleRightWrapper {
      margin-left: 13.75rem; } }
  @media screen and (min-width: 64em) and (min-width: 1600px) {
    .middleRightWrapper {
      margin-left: 15rem; } }
  @media screen and (min-width: 64em) {
      .toggleLeftSidebarDesktop .middleRightWrapper {
        margin-left: 0; } }
  @media screen and (min-width: 100em) {
    .middleRightWrapper .content {
      padding-right: 100%; } }
  @media screen and (min-width: 100em) and (min-width: 480px) {
    .middleRightWrapper .content {
      padding-right: 12.5rem; } }
  @media screen and (min-width: 100em) and (min-width: 1200px) {
    .middleRightWrapper .content {
      padding-right: 13.75rem; } }
  @media screen and (min-width: 100em) and (min-width: 1600px) {
    .middleRightWrapper .content {
      padding-right: 15rem; } }
  @media screen and (min-width: 100em) {
      .middleRightWrapper .content.toggleRightSidebarDesktop {
        padding-right: 0; } }

article {
  display: block;
  -ms-flex: auto;
      flex: auto; }
  @media screen and (min-width: 48em) {
    article {
      overflow-y: scroll;
      -webkit-overflow-scrolling: touch;
      -ms-overflow-style: -ms-autohiding-scrollbar; } }

aside {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto;
  right: 0;
  top: 0;
  bottom: 0;
  position: absolute;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transition: transform .3s ease;
  transform: translate3d(100%, 0, 0); }
  aside.toggleRightSidebarMobile {
    transform: translate3d(0, 0, 0); }
  @media screen and (min-width: 100em) {
    aside {
      transform: translate3d(0, 0, 0); }
      aside.toggleRightSidebarMobile {
        transform: translate3d(0, 0, 0); }
      .toggleRightSidebarDesktop aside {
        transform: translate3d(100%, 0, 0) !important; } }

.footer {
  display: block;
  -ms-flex: 0 0 auto;
      flex: 0 0 auto; }

.topBar {
  background: #fff;
  z-index: 20;
  height: 2.8125rem;
  font-size: 0.75rem;
  box-shadow: 0 0 5px rgba(10, 10, 10, 0.2);
  border-bottom: none; }
  @media screen and (min-width: 768px) {
    .topBar {
      height: 3.125rem; } }
  @media screen and (min-width: 1200px) {
    .topBar {
      height: 3.4375rem; } }
  @media screen and (min-width: 768px) {
    .topBar {
      font-size: 0.875rem; } }
  .topBar .title {
    width: auto;
    height: 2.8125rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    line-height: 1;
    background: #fff;
    white-space: nowrap;
    overflow: hidden;
    position: relative; }
    @media screen and (min-width: 480px) {
      .topBar .title {
        width: 13.75rem; } }
    @media screen and (min-width: 1200px) {
      .topBar .title {
        width: 13.75rem; } }
    @media screen and (min-width: 1600px) {
      .topBar .title {
        width: 15rem; } }
    @media screen and (min-width: 768px) {
      .topBar .title {
        height: 3.125rem; } }
    @media screen and (min-width: 1200px) {
      .topBar .title {
        height: 3.4375rem; } }
    .topBar .title .logo {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      .topBar .title .logo svg {
        width: 60%;
        fill: #fff;
        height: auto;
        max-height: 100%; }
        @media screen and (min-width: 768px) {
          .topBar .title .logo svg {
            width: 75%; } }
    .topBar .title:after {
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      right: 0;
      z-index: 2;
      display: block;
      content: "";
      box-shadow: none;
      pointer-events: none; }
  .topBar .controls {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 1 1 auto;
        flex: 1 1 auto;
    padding: 0; }
    @media screen and (min-width: 768px) {
      .topBar .controls {
        padding: 0; } }
    .topBar .controls > .row {
      width: 100%; }
    .topBar .controls svg {
      fill: #434547;
      height: 1.25rem;
      width: 1.25rem; }
      @media screen and (min-width: 768px) {
        .topBar .controls svg {
          height: 1.5625rem; } }
      @media screen and (min-width: 768px) {
        .topBar .controls svg {
          width: 1.5625rem; } }
      .topBar .controls svg.iconArrow {
        margin: 0 0 0 0.625rem;
        width: 1rem;
        height: 1rem; }
        @media screen and (min-width: 768px) {
          .topBar .controls svg.iconArrow {
            width: 1.125rem; } }
        @media screen and (min-width: 768px) {
          .topBar .controls svg.iconArrow {
            height: 1.125rem; } }
        .topBar .controls svg.iconArrow.down {
          -ms-transform: rotate(90deg);
              transform: rotate(90deg); }
  .topBar .button-group {
    margin-bottom: 0; }
  .topBar .dropdown.menu > li > a:not(.button) {
    color: #fff;
    padding: 0 0.625rem 0 0.625rem;
    line-height: 2.8125rem;
    height: 2.8125rem; }
    @media screen and (min-width: 768px) {
      .topBar .dropdown.menu > li > a:not(.button) {
        padding: 0 1rem 0 1rem; } }
    @media screen and (min-width: 768px) {
      .topBar .dropdown.menu > li > a:not(.button) {
        line-height: 3.125rem; } }
    @media screen and (min-width: 1200px) {
      .topBar .dropdown.menu > li > a:not(.button) {
        line-height: 3.4375rem; } }
    @media screen and (min-width: 768px) {
      .topBar .dropdown.menu > li > a:not(.button) {
        height: 3.125rem; } }
    @media screen and (min-width: 1200px) {
      .topBar .dropdown.menu > li > a:not(.button) {
        height: 3.4375rem; } }
  .topBar .dropdown.menu .userAvatar {
    margin-right: 0.625rem; }
    @media screen and (min-width: 1024px) {
      .topBar .dropdown.menu .userAvatar {
        margin-right: 0.9375rem; } }
    .topBar .dropdown.menu .userAvatar img {
      display: block;
      height: 1.82812rem;
      border: 2px solid #fff;
      border-radius: 50%; }
      @media screen and (min-width: 768px) {
        .topBar .dropdown.menu .userAvatar img {
          height: 2.03125rem; } }
      @media screen and (min-width: 1200px) {
        .topBar .dropdown.menu .userAvatar img {
          height: 2.23438rem; } }
  .topBar .dropdown.menu small {
    color: #434547;
    line-height: 1;
    text-transform: uppercase; }
  .topBar .dropdown.menu strong {
    color: #f36717;
    line-height: 1.5;
    text-transform: uppercase; }

.contentHeader {
  background: #fff;
  color: #f4762e;
  width: 100%;
  z-index: 10;
  border-bottom: 1px solid #e2e2e2;
  padding: 0.625rem 0 0 0; }
  @media screen and (min-width: 768px) {
    .contentHeader {
      padding: 0.9375rem 0 0 0; } }
  .contentHeader h1 {
    color: #f36717;
    font-weight: bold;
    margin: 0 0 0.625rem 0; }
    @media screen and (min-width: 768px) {
      .contentHeader h1 {
        margin: 0 0 0.9375rem 0; } }
    @media screen and (min-width: 0) {
      .contentHeader h1 {
        font-size: 1.1875rem; } }
    @media screen and (min-width: 768px) {
      .contentHeader h1 {
        font-size: 1.4375rem; } }
    @media screen and (min-width: 1200px) {
      .contentHeader h1 {
        font-size: 1.5625rem; } }

.mainWrapper {
  background: #f5f5f5; }

.middleRightWrapper article {
  padding: 0.9375rem 0 0 0; }
  @media screen and (min-width: 768px) {
    .middleRightWrapper article {
      padding: 1.25rem 0 0 0; } }

.contentTopWrapper {
  z-index: 9; }

nav {
  background-color: #323335;
  width: 100%; }
  @media screen and (min-width: 480px) {
    nav {
      width: 12.5rem; } }
  @media screen and (min-width: 1200px) {
    nav {
      width: 13.75rem; } }
  @media screen and (min-width: 1600px) {
    nav {
      width: 15rem; } }

.side-nav {
  margin: 0;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex: 1 1 auto;
      flex: 1 1 auto;
  position: relative;
  z-index: 1;
  border-right: 0;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  box-shadow: 0 1px 6px rgba(10, 10, 10, 0.2); }
  .side-nav li {
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    -ms-flex-direction: column;
        flex-direction: column; }
    .side-nav li span {
      -ms-flex: 1 1 1px;
          flex: 1 1 1px; }
  .side-nav > li {
    border-bottom: 1px solid #3d3f41;
    padding-left: 0;
    font-size: 0.75rem; }
    @media screen and (min-width: 1024px) {
      .side-nav > li {
        font-size: 0.8125rem; } }
    @media screen and (min-width: 1200px) {
      .side-nav > li {
        font-size: 0.875rem; } }
    @media screen and (min-width: 1600px) {
      .side-nav > li {
        font-size: 0.9375rem; } }
    .side-nav > li .icon {
      width: 1.125rem;
      height: 1.125rem;
      margin: 0 0.3125rem 0 0;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
      @media screen and (min-width: 768px) {
        .side-nav > li .icon {
          width: 1.25rem; } }
      @media screen and (min-width: 768px) {
        .side-nav > li .icon {
          height: 1.25rem; } }
      .side-nav > li .icon, .side-nav > li .icon svg {
        fill: #fff; }
    .side-nav > li .arrow {
      width: 0.625rem;
      height: 0.625rem;
      fill: #7b7d7e;
      margin: 0 0 0 0.3125rem;
      -ms-flex: 0 0 auto;
          flex: 0 0 auto; }
      @media screen and (min-width: 768px) {
        .side-nav > li .arrow {
          width: 0.75rem; } }
      @media screen and (min-width: 1024px) {
        .side-nav > li .arrow {
          width: 0.875rem; } }
      @media screen and (min-width: 768px) {
        .side-nav > li .arrow {
          height: 0.75rem; } }
      @media screen and (min-width: 1024px) {
        .side-nav > li .arrow {
          height: 0.875rem; } }
    .side-nav > li a:not(.button), .side-nav > li strong {
      padding: 0.75rem 0.625rem 0.75rem 0.625rem;
      position: relative;
      z-index: 0;
      width: 100%;
      text-decoration: none;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
      @media screen and (min-width: 768px) {
        .side-nav > li a:not(.button), .side-nav > li strong {
          padding: 0.625rem 0.9375rem 0.625rem 0.9375rem; } }
      @media screen and (min-width: 1600px) {
        .side-nav > li a:not(.button), .side-nav > li strong {
          padding: 0.75rem 0.9375rem 0.75rem 0.9375rem; } }
    .side-nav > li > a:not(.button) {
      color: #fff;
      font-weight: 500; }
      .side-nav > li > a:not(.button):hover, .side-nav > li > a:not(.button):focus {
        background: #2c2d2f; }
    .side-nav > li strong {
      display: block;
      color: #111213; }
      .side-nav > li strong .icon, .side-nav > li strong .arrow {
        fill: #111213 !important; }
    .side-nav > li.current > a:not(.button), .side-nav > li.current strong {
      background: #272829;
      font-weight: 700;
      color: #fff; }
    .side-nav > li ul > li {
      padding-left: 0;
      font-size: 0.75rem; }
      .side-nav > li ul > li:first-of-type {
        border-top: 0; }
      .side-nav > li ul > li:not(:last-of-type) {
        border-bottom: 0; }
      @media screen and (min-width: 1024px) {
        .side-nav > li ul > li {
          font-size: 0.75rem; } }
      .side-nav > li ul > li .arrow {
        margin: 0 0.3125rem 0 0;
        fill: #f36717; }
      .side-nav > li ul > li a:not(.button), .side-nav > li ul > li strong {
        padding: 0.625rem 0.625rem 0.625rem 1.875rem;
        color: #7b7d7e;
        font-weight: 400; }
        @media screen and (min-width: 768px) {
          .side-nav > li ul > li a:not(.button), .side-nav > li ul > li strong {
            padding: 0.625rem 0.9375rem 0.625rem 2.5rem; } }
        @media screen and (min-width: 1600px) {
          .side-nav > li ul > li a:not(.button), .side-nav > li ul > li strong {
            padding: 0.5625rem 0.9375rem 0.5625rem 2.5rem; } }
      .side-nav > li ul > li a:not(.button) {
        font-weight: 500; }
        .side-nav > li ul > li a:not(.button):hover, .side-nav > li ul > li a:not(.button):focus {
          background: #323335; }
      .side-nav > li ul > li.current > a:not(.button), .side-nav > li ul > li.current strong {
        font-weight: 400;
        color: #fff; }
        .side-nav > li ul > li.current > a:not(.button):hover, .side-nav > li ul > li.current > a:not(.button):focus, .side-nav > li ul > li.current strong:hover, .side-nav > li ul > li.current strong:focus {
          background: #323335; }
      .side-nav > li ul > li ul > li {
        border-bottom: 0;
        padding-left: 0;
        font-size: 0.6875rem; }
        @media screen and (min-width: 1024px) {
          .side-nav > li ul > li ul > li {
            font-size: 0.6875rem; } }
        .side-nav > li ul > li ul > li a:not(.button), .side-nav > li ul > li ul > li strong {
          padding: 0.5rem 0.625rem 0.5rem 2.875rem;
          color: #696a6c;
          font-weight: normal; }
          @media screen and (min-width: 768px) {
            .side-nav > li ul > li ul > li a:not(.button), .side-nav > li ul > li ul > li strong {
              padding: 0.5rem 0.9375rem 0.5rem 3.5rem; } }
          @media screen and (min-width: 1600px) {
            .side-nav > li ul > li ul > li a:not(.button), .side-nav > li ul > li ul > li strong {
              padding: 0.375rem 0.9375rem 0.375rem 3.5rem; } }
        .side-nav > li ul > li ul > li a:not(.button) {
          font-weight: 500; }
          .side-nav > li ul > li ul > li a:not(.button):hover, .side-nav > li ul > li ul > li a:not(.button):focus {
            background: #323335; }
        .side-nav > li ul > li ul > li.current > a:not(.button), .side-nav > li ul > li ul > li.current strong {
          font-weight: normal;
          color: #fff; }
          .side-nav > li ul > li ul > li.current > a:not(.button):hover, .side-nav > li ul > li ul > li.current > a:not(.button):focus, .side-nav > li ul > li ul > li.current strong:hover, .side-nav > li ul > li ul > li.current strong:focus {
            background: #323335; }
  .side-nav ul {
    margin-left: 0;
    background: #272829; }

aside {
  width: 100%;
  z-index: 9;
  background: #fff;
  box-shadow: 0 1px 6px rgba(10, 10, 10, 0.2); }
  @media screen and (min-width: 480px) {
    aside {
      width: 12.5rem; } }
  @media screen and (min-width: 1200px) {
    aside {
      width: 13.75rem; } }
  @media screen and (min-width: 1600px) {
    aside {
      width: 15rem; } }
  @media screen and (min-width: 0) {
    aside {
      padding-top: 0.625rem; } }
  @media screen and (min-width: 768px) {
    aside {
      padding-top: 0.9375rem; } }
  aside .contentForm {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex: 1;
        flex: 1;
    -ms-flex-align: stretch;
        align-items: stretch;
    position: relative; }
    aside .contentForm > .row {
      width: 100%; }
    aside .contentForm .blockFields {
      -ms-flex-direction: column;
          flex-direction: column;
      position: relative;
      overflow-y: auto; }
      aside .contentForm .blockFields label {
        color: #0a0a0a; }
      aside .contentForm .blockFields input {
        background: #fff;
        box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.2);
        border: 1px solid #e2e2e2; }
    aside .contentForm .blockButtonControl {
      -ms-flex: 1 0 auto;
          flex: 1 0 auto; }
      @media screen and (min-width: 0) {
        aside .contentForm .blockButtonControl {
          padding-top: 0.625rem; } }
      @media screen and (min-width: 768px) {
        aside .contentForm .blockButtonControl {
          padding-top: 0.9375rem; } }
  aside .switchWrapper {
    visibility: hidden;
    display: -ms-flexbox;
    display: flex;
    -ms-flex: 0 0 auto;
        flex: 0 0 auto;
    width: 100%;
    background: #fff;
    padding: 0.625rem 0; }
    @media screen and (min-width: 768px) {
      aside .switchWrapper {
        padding: 0.9375rem 0; } }
    aside .switchWrapper .switch {
      margin-bottom: 0; }
      aside .switchWrapper .switch .switch-paddle {
        vertical-align: top;
        background: #f5f5f5; }
        aside .switchWrapper .switch .switch-paddle::after {
          background: #fff; }
      aside .switchWrapper .switch .switch-input:checked ~ .switch-paddle {
        background: #466b9c; }
    aside .switchWrapper small {
      color: #0a0a0a;
      text-transform: uppercase;
      padding: 0 0.3125rem;
      font-size: 0.625rem; }

.footer {
  height: 1.875rem;
  background-color: #fff; }
  @media screen and (min-width: 0) {
    .footer {
      height: 2.1875rem; } }
  @media screen and (min-width: 768px) {
    .footer {
      height: 2.8125rem; } }
  @media screen and (min-width: 1024px) {
    .footer {
      height: 3.4375rem; } }

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

@media screen and (min-width: 0) {
  .column.xsmall-collapse, .xsmall-collapse.columns {
    padding-left: 0;
    padding-right: 0; } }

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

@media screen and (min-width: 0) {
  .column.xsmall-uncollapse-left, .xsmall-uncollapse-left.columns {
    padding-left: 0.625rem; } }

@media screen and (min-width: 0) {
  .column.xsmall-uncollapse-right, .xsmall-uncollapse-right.columns {
    padding-right: 0.625rem; } }

@media screen and (min-width: 0) {
  .column.xsmall-collapse-left, .xsmall-collapse-left.columns {
    padding-left: 0; } }

@media screen and (min-width: 0) {
  .column.xsmall-collapse-right, .xsmall-collapse-right.columns {
    padding-right: 0; } }

@media screen and (min-width: 0) {
  .column.xsmall-align-right, .xsmall-align-right.columns {
    -ms-flex-pack: end;
        justify-content: flex-end; } }

@media screen and (min-width: 0) {
  .column.xsmall-align-center, .xsmall-align-center.columns {
    -ms-flex-pack: center;
        justify-content: center; } }

@media screen and (min-width: 0) {
  .column.xsmall-shrink, .xsmall-shrink.columns {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 0) {
  .column.xsmall-unshrink, .xsmall-unshrink.columns {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 480px) {
  .column.small-collapse, .small-collapse.columns {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 480px) {
  .column.small-uncollapse, .small-uncollapse.columns {
    padding-left: 0.625rem;
    padding-right: 0.625rem; } }

@media screen and (min-width: 480px) {
  .column.small-uncollapse-left, .small-uncollapse-left.columns {
    padding-left: 0.625rem; } }

@media screen and (min-width: 480px) {
  .column.small-uncollapse-right, .small-uncollapse-right.columns {
    padding-right: 0.625rem; } }

@media screen and (min-width: 480px) {
  .column.small-collapse-left, .small-collapse-left.columns {
    padding-left: 0; } }

@media screen and (min-width: 480px) {
  .column.small-collapse-right, .small-collapse-right.columns {
    padding-right: 0; } }

@media screen and (min-width: 480px) {
  .column.small-align-right, .small-align-right.columns {
    -ms-flex-pack: end;
        justify-content: flex-end; } }

@media screen and (min-width: 480px) {
  .column.small-align-center, .small-align-center.columns {
    -ms-flex-pack: center;
        justify-content: center; } }

@media screen and (min-width: 480px) {
  .column.small-shrink, .small-shrink.columns {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 480px) {
  .column.small-unshrink, .small-unshrink.columns {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 768px) {
  .column.medium-collapse, .medium-collapse.columns {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 768px) {
  .column.medium-uncollapse, .medium-uncollapse.columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 768px) {
  .column.medium-uncollapse-left, .medium-uncollapse-left.columns {
    padding-left: 0.9375rem; } }

@media screen and (min-width: 768px) {
  .column.medium-uncollapse-right, .medium-uncollapse-right.columns {
    padding-right: 0.9375rem; } }

@media screen and (min-width: 768px) {
  .column.medium-collapse-left, .medium-collapse-left.columns {
    padding-left: 0; } }

@media screen and (min-width: 768px) {
  .column.medium-collapse-right, .medium-collapse-right.columns {
    padding-right: 0; } }

@media screen and (min-width: 768px) {
  .column.medium-align-right, .medium-align-right.columns {
    -ms-flex-pack: end;
        justify-content: flex-end; } }

@media screen and (min-width: 768px) {
  .column.medium-align-center, .medium-align-center.columns {
    -ms-flex-pack: center;
        justify-content: center; } }

@media screen and (min-width: 768px) {
  .column.medium-shrink, .medium-shrink.columns {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 768px) {
  .column.medium-unshrink, .medium-unshrink.columns {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 1024px) {
  .column.large-collapse, .large-collapse.columns {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 1024px) {
  .column.large-uncollapse, .large-uncollapse.columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 1024px) {
  .column.large-uncollapse-left, .large-uncollapse-left.columns {
    padding-left: 0.9375rem; } }

@media screen and (min-width: 1024px) {
  .column.large-uncollapse-right, .large-uncollapse-right.columns {
    padding-right: 0.9375rem; } }

@media screen and (min-width: 1024px) {
  .column.large-collapse-left, .large-collapse-left.columns {
    padding-left: 0; } }

@media screen and (min-width: 1024px) {
  .column.large-collapse-right, .large-collapse-right.columns {
    padding-right: 0; } }

@media screen and (min-width: 1024px) {
  .column.large-align-right, .large-align-right.columns {
    -ms-flex-pack: end;
        justify-content: flex-end; } }

@media screen and (min-width: 1024px) {
  .column.large-align-center, .large-align-center.columns {
    -ms-flex-pack: center;
        justify-content: center; } }

@media screen and (min-width: 1024px) {
  .column.large-shrink, .large-shrink.columns {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 1024px) {
  .column.large-unshrink, .large-unshrink.columns {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-collapse, .xlarge-collapse.columns {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-uncollapse, .xlarge-uncollapse.columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-uncollapse-left, .xlarge-uncollapse-left.columns {
    padding-left: 0.9375rem; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-uncollapse-right, .xlarge-uncollapse-right.columns {
    padding-right: 0.9375rem; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-collapse-left, .xlarge-collapse-left.columns {
    padding-left: 0; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-collapse-right, .xlarge-collapse-right.columns {
    padding-right: 0; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-align-right, .xlarge-align-right.columns {
    -ms-flex-pack: end;
        justify-content: flex-end; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-align-center, .xlarge-align-center.columns {
    -ms-flex-pack: center;
        justify-content: center; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-shrink, .xlarge-shrink.columns {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 1200px) {
  .column.xlarge-unshrink, .xlarge-unshrink.columns {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-collapse, .xxlarge-collapse.columns {
    padding-left: 0;
    padding-right: 0; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-uncollapse, .xxlarge-uncollapse.columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-uncollapse-left, .xxlarge-uncollapse-left.columns {
    padding-left: 0.9375rem; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-uncollapse-right, .xxlarge-uncollapse-right.columns {
    padding-right: 0.9375rem; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-collapse-left, .xxlarge-collapse-left.columns {
    padding-left: 0; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-collapse-right, .xxlarge-collapse-right.columns {
    padding-right: 0; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-align-right, .xxlarge-align-right.columns {
    -ms-flex-pack: end;
        justify-content: flex-end; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-align-center, .xxlarge-align-center.columns {
    -ms-flex-pack: center;
        justify-content: center; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-shrink, .xxlarge-shrink.columns {
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

@media screen and (min-width: 1600px) {
  .column.xxlarge-unshrink, .xxlarge-unshrink.columns {
    -ms-flex-positive: 1;
        flex-grow: 1;
    -ms-flex-negative: 0;
        flex-shrink: 0; } }

.hamburger-box {
  vertical-align: middle; }

.hamburger--arrow.is-active .hamburger-inner:before, .hamburger--arrow.is-active .hamburger-inner:after {
  width: 15px; }

.hamburger--arrow.is-active .hamburger-inner:before {
  top: -3px; }

.hamburger--arrow.is-active .hamburger-inner:after {
  bottom: -3px; }

.datepicker.dropdown-menu {
  border-radius: 0px !important; }

.datepicker .dow {
  background: #fff;
  color: #0a0a0a; }

.fa-chevron-left.fi-arrow-left::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent #f36717 transparent transparent;
  border-right-style: solid;
  border-left-width: 0; }

.fa-chevron-right.fi-arrow-right::after {
  content: "";
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent #f36717;
  border-left-style: solid;
  border-right-width: 0; }

.year.active {
  color: white;
  background: #f36717; }

.month.active {
  color: white;
  background: #f36717; }

.day.active {
  color: white;
  background: #f36717; }

/*!
 * Hamburgers
 * @description Tasty CSS-animated hamburgers
 * @author Jonathan Suh @jonsuh
 * @site https://jonsuh.com/hamburgers
 * @link https://github.com/jonsuh/hamburgers
 */
.hamburger {
  padding: 15px 0px;
  display: inline-block;
  cursor: pointer;
  transition-property: opacity, filter;
  transition-duration: 0.15s;
  transition-timing-function: linear;
  font: inherit;
  color: inherit;
  text-transform: none;
  background-color: transparent;
  border: 0;
  margin: 0;
  overflow: visible; }
  .hamburger:hover {
    opacity: 1; }

.hamburger-box {
  width: 18px;
  height: 12px;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -1px; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 18px;
    height: 2px;
    background-color: #434547;
    border-radius: 1px;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -5px; }
  .hamburger-inner::after {
    bottom: -5px; }

/*
   * Arrow
   */
.hamburger--arrow.is-active .hamburger-inner::before {
  transform: translate3d(-3.6px, 0, 0) rotate(-45deg) scale(0.7, 1); }

.hamburger--arrow.is-active .hamburger-inner::after {
  transform: translate3d(-3.6px, 0, 0) rotate(45deg) scale(0.7, 1); }

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

.datepicker-inline {
  width: 220px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/*
================================================================================
SPINNERS
================================================================================
A Sass mixin to generate a pure CSS3 loading/busy indicator.
https://github.com/franzheidl/spinners
Franz Heidl 2014
MIT License
--------------------------------------------------------------------------------
USAGE

Default:

.my-spinner {
 @include spinner();
}


Custom:

.my-spinner {
 @include spinner(1.25em, 3px solid #555, .7s, background rgba(0, 0, 0, .2);
}

All arguments are optional.

Acceppts any valid CSS dimensional declaration, e.g px, em, rem as an argument for size.

Use either shorthand border declarations or individual 'border-[property] [value]' (no colon!) pairs for the style.

Pass any number of seconds referring to the duration of one full rotation for animation speed.

--------------------------------------------------------------------------------
*/

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

.icon, .icon svg {
  fill: #434547;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 1rem;
  width: 1.25rem;
  height: 1.25rem; }
  @media screen and (min-width: 768px) {
    .icon, .icon svg {
      width: 1.875rem; } }
  @media screen and (min-width: 768px) {
    .icon, .icon svg {
      height: 1.875rem; } }

.toggleIcon .iconShow {
  display: none; }

.iconHide, .icon .iconHide {
  display: none; }

.toggleIcon .iconHide {
  display: inline-block; }

.loading {
  background-color: transparent;
  border: 2px solid #f36717;
  border-radius: 50%;
  border-top-color: rgba(0, 0, 0, 0.1);
  border-right-color: rgba(0, 0, 0, 0.1);
  width: 1.375rem;
  height: 1.375rem;
  display: inline-block;
  vertical-align: middle;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
  animation: spinner-animation 0.65s infinite linear; }
  @media screen and (min-width: 0) {
    .loading {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .loading {
      margin-bottom: 0.9375rem; } }
  .loading.secondary {
    border-left-color: #434547;
    border-bottom-color: #434547; }
  .loading.black {
    border-left-color: #434547;
    border-bottom-color: #434547; }
  .loading.white {
    border-left-color: #fff;
    border-bottom-color: #fff; }
  .loading.large {
    width: 1.625rem;
    height: 1.625rem; }
  .loading.small {
    width: 1.125rem;
    height: 1.125rem; }
  .loading.tiny {
    width: 0.875rem;
    height: 0.875rem; }
  .button .loading {
    margin: 0 0.4375rem 0 0;
    background-color: transparent;
    border: 2px solid #fff;
    border-radius: 50%;
    border-top-color: transparent;
    border-right-color: transparent;
    width: 0.875rem;
    height: 0.875rem;
    display: inline-block;
    vertical-align: middle;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    animation: spinner-animation 0.65s infinite linear; }
  .button.hollow .loading {
    background-color: transparent;
    border: 2px solid #f36717;
    border-radius: 50%;
    border-top-color: rgba(0, 0, 0, 0.1);
    border-right-color: rgba(0, 0, 0, 0.1);
    width: 0.875rem;
    height: 0.875rem;
    display: inline-block;
    vertical-align: middle;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    animation: spinner-animation 0.65s infinite linear; }

.loadingPlaceholderWrapper {
  position: relative; }
  .loadingPlaceholderWrapper .loading {
    position: absolute;
    z-index: 0;
    left: 50%;
    top: 50%;
    margin-left: -0.6875rem;
    margin-top: -0.6875rem; }
    .loadingPlaceholderWrapper .loading.large {
      margin-left: -0.8125rem;
      margin-top: -0.8125rem; }
    .loadingPlaceholderWrapper .loading.small {
      margin-left: -0.5625rem;
      margin-top: -0.5625rem; }
  .loadingPlaceholderWrapper .button {
    z-index: 1;
    position: relative; }
    .loadingPlaceholderWrapper .button + .loading {
      visibility: hidden; }
    .loadingPlaceholderWrapper .button.invisible {
      margin-bottom: 0; }
      .loadingPlaceholderWrapper .button.invisible + .loading {
        visibility: visible; }

[type='text'],
[type='password'],
[type='date'],
[type='datetime'],
[type='datetime-local'],
[type='month'],
[type='week'],
[type='email'],
[type='number'],
[type='search'],
[type='tel'],
[type='time'],
[type='url'],
[type='color'],
select {
  font-size: 0.75rem;
  height: 2.1875rem; }
  @media screen and (min-width: 1024px) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      font-size: 0.8125rem; } }
  @media screen and (min-width: 1200px) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      font-size: 0.875rem; } }
  @media screen and (min-width: 1600px) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      font-size: 0.9375rem; } }
  @media screen and (min-width: 1024px) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      height: 2.3125rem; } }
  @media screen and (min-width: 1200px) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      height: 2.5rem; } }
  @media screen and (min-width: 1600px) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      height: 2.625rem; } }
  @media screen and (min-width: 0) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    [type='text'],
    [type='password'],
    [type='date'],
    [type='datetime'],
    [type='datetime-local'],
    [type='month'],
    [type='week'],
    [type='email'],
    [type='number'],
    [type='search'],
    [type='tel'],
    [type='time'],
    [type='url'],
    [type='color'],
    select {
      margin-bottom: 0.9375rem; } }
  [type='text']:disabled, [type='text'][readonly],
  [type='password']:disabled,
  [type='password'][readonly],
  [type='date']:disabled,
  [type='date'][readonly],
  [type='datetime']:disabled,
  [type='datetime'][readonly],
  [type='datetime-local']:disabled,
  [type='datetime-local'][readonly],
  [type='month']:disabled,
  [type='month'][readonly],
  [type='week']:disabled,
  [type='week'][readonly],
  [type='email']:disabled,
  [type='email'][readonly],
  [type='number']:disabled,
  [type='number'][readonly],
  [type='search']:disabled,
  [type='search'][readonly],
  [type='tel']:disabled,
  [type='tel'][readonly],
  [type='time']:disabled,
  [type='time'][readonly],
  [type='url']:disabled,
  [type='url'][readonly],
  [type='color']:disabled,
  [type='color'][readonly],
  select:disabled,
  select[readonly] {
    color: #8a8a8a;
    background-color: #f5f5f5; }
    [type='text']:disabled:-ms-input-placeholder, [type='text'][readonly]:-ms-input-placeholder,
    [type='password']:disabled:-ms-input-placeholder,
    [type='password'][readonly]:-ms-input-placeholder,
    [type='date']:disabled:-ms-input-placeholder,
    [type='date'][readonly]:-ms-input-placeholder,
    [type='datetime']:disabled:-ms-input-placeholder,
    [type='datetime'][readonly]:-ms-input-placeholder,
    [type='datetime-local']:disabled:-ms-input-placeholder,
    [type='datetime-local'][readonly]:-ms-input-placeholder,
    [type='month']:disabled:-ms-input-placeholder,
    [type='month'][readonly]:-ms-input-placeholder,
    [type='week']:disabled:-ms-input-placeholder,
    [type='week'][readonly]:-ms-input-placeholder,
    [type='email']:disabled:-ms-input-placeholder,
    [type='email'][readonly]:-ms-input-placeholder,
    [type='number']:disabled:-ms-input-placeholder,
    [type='number'][readonly]:-ms-input-placeholder,
    [type='search']:disabled:-ms-input-placeholder,
    [type='search'][readonly]:-ms-input-placeholder,
    [type='tel']:disabled:-ms-input-placeholder,
    [type='tel'][readonly]:-ms-input-placeholder,
    [type='time']:disabled:-ms-input-placeholder,
    [type='time'][readonly]:-ms-input-placeholder,
    [type='url']:disabled:-ms-input-placeholder,
    [type='url'][readonly]:-ms-input-placeholder,
    [type='color']:disabled:-ms-input-placeholder,
    [type='color'][readonly]:-ms-input-placeholder,
    select:disabled:-ms-input-placeholder,
    select[readonly]:-ms-input-placeholder {
      color: #8a8a8a; }
    [type='text']:disabled::placeholder, [type='text'][readonly]::placeholder,
    [type='password']:disabled::placeholder,
    [type='password'][readonly]::placeholder,
    [type='date']:disabled::placeholder,
    [type='date'][readonly]::placeholder,
    [type='datetime']:disabled::placeholder,
    [type='datetime'][readonly]::placeholder,
    [type='datetime-local']:disabled::placeholder,
    [type='datetime-local'][readonly]::placeholder,
    [type='month']:disabled::placeholder,
    [type='month'][readonly]::placeholder,
    [type='week']:disabled::placeholder,
    [type='week'][readonly]::placeholder,
    [type='email']:disabled::placeholder,
    [type='email'][readonly]::placeholder,
    [type='number']:disabled::placeholder,
    [type='number'][readonly]::placeholder,
    [type='search']:disabled::placeholder,
    [type='search'][readonly]::placeholder,
    [type='tel']:disabled::placeholder,
    [type='tel'][readonly]::placeholder,
    [type='time']:disabled::placeholder,
    [type='time'][readonly]::placeholder,
    [type='url']:disabled::placeholder,
    [type='url'][readonly]::placeholder,
    [type='color']:disabled::placeholder,
    [type='color'][readonly]::placeholder,
    select:disabled::placeholder,
    select[readonly]::placeholder {
      color: #8a8a8a; }

textarea {
  font-size: 0.75rem; }
  @media screen and (min-width: 1024px) {
    textarea {
      font-size: 0.8125rem; } }
  @media screen and (min-width: 1200px) {
    textarea {
      font-size: 0.875rem; } }
  @media screen and (min-width: 1600px) {
    textarea {
      font-size: 0.9375rem; } }
  @media screen and (min-width: 0) {
    textarea {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    textarea {
      margin-bottom: 0.9375rem; } }

label {
  font-size: 0.75rem; }
  @media screen and (min-width: 1024px) {
    label {
      font-size: 0.8125rem; } }
  @media screen and (min-width: 1200px) {
    label {
      font-size: 0.875rem; } }
  @media screen and (min-width: 1600px) {
    label {
      font-size: 0.9375rem; } }
  label.required::after {
    content: "*";
    color: #434547;
    margin-left: 0.1875rem;
    font-size: 0.75rem; }
    @media screen and (min-width: 1024px) {
      label.required::after {
        font-size: 0.8125rem; } }
    @media screen and (min-width: 1200px) {
      label.required::after {
        font-size: 0.875rem; } }
    @media screen and (min-width: 1600px) {
      label.required::after {
        font-size: 0.9375rem; } }

@media screen and (min-width: 0) {
  button {
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 768px) {
  button {
    margin-bottom: 0.9375rem; } }

.button {
  font-weight: bold; }
  .button, .button-group .button {
    font-size: 0.75rem; }
    @media screen and (min-width: 1024px) {
      .button, .button-group .button {
        font-size: 0.8125rem; } }
    @media screen and (min-width: 1200px) {
      .button, .button-group .button {
        font-size: 0.875rem; } }
    @media screen and (min-width: 1600px) {
      .button, .button-group .button {
        font-size: 0.9375rem; } }
    @media screen and (min-width: 0) {
      .button, .button-group .button {
        margin-bottom: 0.625rem; } }
    @media screen and (min-width: 768px) {
      .button, .button-group .button {
        margin-bottom: 0.9375rem; } }

@media screen and (min-width: 0) {
  .switch {
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 768px) {
  .switch {
    margin-bottom: 0.9375rem; } }

.wrapper-radio, .wrapper-checkbox {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .wrapper-radio [type='radio'], .wrapper-radio [type='checkbox'], .wrapper-checkbox [type='radio'], .wrapper-checkbox [type='checkbox'] {
    margin: 0; }
  @media screen and (min-width: 0) {
    .wrapper-radio, .wrapper-checkbox {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .wrapper-radio, .wrapper-checkbox {
      margin-bottom: 0.9375rem; } }

.fieldsetHeading, .fieldsetHead, legend {
  font-weight: 700;
  color: #434547;
  text-transform: uppercase;
  background: transparent;
  font-size: 1rem;
  line-height: 1.4; }
  @media screen and (min-width: je medium) {
    .fieldsetHeading, .fieldsetHead, legend {
      font-size: 1.125rem; } }
  @media screen and (min-width: 1024px) {
    .fieldsetHeading, .fieldsetHead, legend {
      font-size: 1.25rem; } }
  @media screen and (min-width: 0) {
    .fieldsetHeading, .fieldsetHead, legend {
      margin-bottom: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    .fieldsetHeading, .fieldsetHead, legend {
      margin-bottom: 0.46875rem; } }

@media screen and (min-width: 0) {
  pre {
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 768px) {
  pre {
    margin-bottom: 0.9375rem; } }

p {
  font-size: 0.75rem; }
  @media screen and (min-width: 1024px) {
    p {
      font-size: 0.8125rem; } }
  @media screen and (min-width: 1200px) {
    p {
      font-size: 0.875rem; } }
  @media screen and (min-width: 1600px) {
    p {
      font-size: 0.9375rem; } }

@media screen and (min-width: 0) {
  hr {
    margin-top: 0.625rem; } }

@media screen and (min-width: 768px) {
  hr {
    margin-top: 0.9375rem; } }

@media screen and (min-width: 0) {
  hr {
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 768px) {
  hr {
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 0) {
  hr.xsmall-collapse-top {
    margin-top: 0; } }

@media screen and (min-width: 0) {
  hr.xsmall-collapse-bottom {
    margin-bottom: 0; } }

@media screen and (min-width: 0) {
  hr.xsmall-uncollapse-top {
    margin-top: 0.625rem; } }

@media screen and (min-width: 0) {
  hr.xsmall-uncollapse-bottom {
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 0) {
  hr.xsmall-collapse {
    margin-top: 0;
    margin-bottom: 0; } }

@media screen and (min-width: 0) {
  hr.xsmall-uncollapse {
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 480px) {
  hr.small-collapse-top {
    margin-top: 0; } }

@media screen and (min-width: 480px) {
  hr.small-collapse-bottom {
    margin-bottom: 0; } }

@media screen and (min-width: 480px) {
  hr.small-uncollapse-top {
    margin-top: 0.625rem; } }

@media screen and (min-width: 480px) {
  hr.small-uncollapse-bottom {
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 480px) {
  hr.small-collapse {
    margin-top: 0;
    margin-bottom: 0; } }

@media screen and (min-width: 480px) {
  hr.small-uncollapse {
    margin-top: 0.625rem;
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 768px) {
  hr.medium-collapse-top {
    margin-top: 0; } }

@media screen and (min-width: 768px) {
  hr.medium-collapse-bottom {
    margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  hr.medium-uncollapse-top {
    margin-top: 0.9375rem; } }

@media screen and (min-width: 768px) {
  hr.medium-uncollapse-bottom {
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 768px) {
  hr.medium-collapse {
    margin-top: 0;
    margin-bottom: 0; } }

@media screen and (min-width: 768px) {
  hr.medium-uncollapse {
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 1024px) {
  hr.large-collapse-top {
    margin-top: 0; } }

@media screen and (min-width: 1024px) {
  hr.large-collapse-bottom {
    margin-bottom: 0; } }

@media screen and (min-width: 1024px) {
  hr.large-uncollapse-top {
    margin-top: 0.9375rem; } }

@media screen and (min-width: 1024px) {
  hr.large-uncollapse-bottom {
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 1024px) {
  hr.large-collapse {
    margin-top: 0;
    margin-bottom: 0; } }

@media screen and (min-width: 1024px) {
  hr.large-uncollapse {
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 1200px) {
  hr.xlarge-collapse-top {
    margin-top: 0; } }

@media screen and (min-width: 1200px) {
  hr.xlarge-collapse-bottom {
    margin-bottom: 0; } }

@media screen and (min-width: 1200px) {
  hr.xlarge-uncollapse-top {
    margin-top: 0.9375rem; } }

@media screen and (min-width: 1200px) {
  hr.xlarge-uncollapse-bottom {
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 1200px) {
  hr.xlarge-collapse {
    margin-top: 0;
    margin-bottom: 0; } }

@media screen and (min-width: 1200px) {
  hr.xlarge-uncollapse {
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 1600px) {
  hr.xxlarge-collapse-top {
    margin-top: 0; } }

@media screen and (min-width: 1600px) {
  hr.xxlarge-collapse-bottom {
    margin-bottom: 0; } }

@media screen and (min-width: 1600px) {
  hr.xxlarge-uncollapse-top {
    margin-top: 0.9375rem; } }

@media screen and (min-width: 1600px) {
  hr.xxlarge-uncollapse-bottom {
    margin-bottom: 0.9375rem; } }

@media screen and (min-width: 1600px) {
  hr.xxlarge-collapse {
    margin-top: 0;
    margin-bottom: 0; } }

@media screen and (min-width: 1600px) {
  hr.xxlarge-uncollapse {
    margin-top: 0.9375rem;
    margin-bottom: 0.9375rem; } }

.breakWord, .tableScroll .tableDescription, .dashboardWidget h2 {
  /* These are technically the same, but use both */
  overflow-wrap: break-word;
  word-wrap: break-word;
  -ms-word-break: break-all;
  /* This is the dangerous one in WebKit, as it breaks things wherever */
  word-break: break-all;
  /* Instead use this non-standard one: */
  word-break: break-word;
  /* Adds a hyphen where the word breaks, if supported (No Blink) */
  -ms-hyphens: auto;
  -webkit-hyphens: auto;
  hyphens: auto; }

code, kbd, pre, samp {
  font-size: 0.75rem; }
  @media screen and (min-width: 1024px) {
    code, kbd, pre, samp {
      font-size: 0.8125rem; } }
  @media screen and (min-width: 1200px) {
    code, kbd, pre, samp {
      font-size: 0.875rem; } }
  @media screen and (min-width: 1600px) {
    code, kbd, pre, samp {
      font-size: 0.9375rem; } }

.dropdown.menu span {
  line-height: 1.3; }

.dropdown.menu small {
  text-transform: uppercase;
  display: block;
  font-size: 75%;
  color: #8a8a8a; }

.dropdown.menu strong {
  text-transform: uppercase;
  color: #f36717; }

.dropdown.menu li a {
  -ms-flex-align: center;
      align-items: center;
  color: #434547; }

.dropdown.menu li li svg {
  width: 1.25rem;
  height: 1.25rem;
  fill: #434547; }

.dropdown.menu li li:hover {
  background: #f5f5f5; }

.dropdown.menu .menu {
  box-shadow: 0 3px 5px rgba(10, 10, 10, 0.1);
  display: none; }

.dropdown.menu .is-dropdown-submenu {
  display: block;
  opacity: 0;
  visibility: hidden;
  -ms-transform: translateY(5px);
      transform: translateY(5px);
  transition: all .3s ease; }
  .dropdown.menu .is-dropdown-submenu.js-dropdown-active {
    -ms-transform: translateY(0);
        transform: translateY(0);
    opacity: 1;
    visibility: visible; }

.callout {
  margin: 0 0 1.25rem 0;
  padding: 0.9375rem 0.9375rem 0 0.9375rem; }
  @media screen and (min-width: 768px) {
    .callout {
      margin: 0 0 1.875rem 0; } }

.mainContentWrapper {
  width: 100%;
  padding: 0.9375rem; }
  @media screen and (min-width: 768px) {
    .mainContentWrapper {
      padding: 1.25rem; } }

.word-break {
  word-break: break-all; }

.listTable {
  border-collapse: separate;
  width: 100%;
  box-shadow: none; }
  @media screen and (min-width: 0) {
    .listTable {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .listTable {
      margin-bottom: 0.9375rem; } }
  .listTable th {
    position: relative;
    text-align: left;
    background: #fff;
    color: #434547;
    font-weight: bold;
    border-top: 1px solid #e2e2e2;
    border-bottom: 1px solid #e2e2e2;
    border-right: 1px solid #e2e2e2; }
    .listTable th a {
      display: block;
      color: #434547;
      position: relative;
      width: 100%;
      height: 100%;
      text-decoration: none; }
    .listTable th svg {
      fill: #434547;
      width: 1.125rem;
      height: 1.125rem;
      position: absolute;
      right: 0.3125rem;
      top: 50%;
      margin-top: -0.5625rem; }
  .listTable th:first-of-type {
    border-left: 1px solid #e2e2e2; }
  .listTable td.field-actions {
    padding: 0; }
  .listTable tbody {
    color: #434547; }
    .listTable tbody tr:nth-child(2n) {
      background: #fff; }
    .listTable tbody tr:nth-child(2n +1) {
      background: #f5f5f5; }
  .listTable td, .listTable th, .listTable .label {
    font-size: 0.75rem; }
    @media screen and (min-width: 1024px) {
      .listTable td, .listTable th, .listTable .label {
        font-size: 0.8125rem; } }
    @media screen and (min-width: 1200px) {
      .listTable td, .listTable th, .listTable .label {
        font-size: 0.875rem; } }
    @media screen and (min-width: 1600px) {
      .listTable td, .listTable th, .listTable .label {
        font-size: 0.9375rem; } }
  .listTable tr td:last-child {
    border-right: 1px solid #e2e2e2; }
  .listTable tr td:first-child {
    border-left: 1px solid #e2e2e2; }
  .listTable tr:last-child td {
    border-bottom: 1px solid #e2e2e2; }
  .listTable tfoot {
    background: #fff;
    color: #0a0a0a;
    border: 1px solid #e2e2e2; }
  .listTable .controls {
    padding: 0; }
  .listTable .button {
    margin-bottom: 0; }
  .listTable .controlsWrapper {
    white-space: nowrap;
    text-align: right; }
    .listTable .controlsWrapper .button-icon {
      margin: 0 0.3125rem 0 0; }
  .listTable tr:hover td {
    background: #ebebeb; }

ul.pagination li {
  color: #0a0a0a; }
  ul.pagination li a {
    background: #fff; }
    ul.pagination li a:hover {
      background: #f36717;
      color: #fff; }

.controlButtons {
  text-align: right; }
  .controlButtons .actionButton {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    height: 2.1875rem;
    width: 2.1875rem;
    fill: #434547; }
    @media screen and (min-width: 768px) {
      .controlButtons .actionButton {
        height: 2.625rem; } }
    @media screen and (min-width: 768px) {
      .controlButtons .actionButton {
        width: 2.625rem; } }
    .controlButtons .actionButton svg {
      height: 1.3125rem;
      width: 1.3125rem; }
      @media screen and (min-width: 768px) {
        .controlButtons .actionButton svg {
          height: 1.575rem; } }
      @media screen and (min-width: 768px) {
        .controlButtons .actionButton svg {
          width: 1.575rem; } }

.rectangleRatioWidth {
  width: 3.28125rem; }
  @media screen and (min-width: 768px) {
    .rectangleRatioWidth {
      width: 3.9375rem; } }
  .rectangleRatioWidth svg {
    width: 1.96875rem; }
    @media screen and (min-width: 768px) {
      .rectangleRatioWidth svg {
        width: 2.3625rem; } }

.rectangleRatioHeight {
  height: 3.28125rem; }
  @media screen and (min-width: 768px) {
    .rectangleRatioHeight {
      height: 3.9375rem; } }
  .rectangleRatioHeight svg {
    height: 1.96875rem; }
    @media screen and (min-width: 768px) {
      .rectangleRatioHeight svg {
        height: 2.3625rem; } }

.loginScreen {
  display: -ms-flexbox;
  display: flex;
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  -ms-flex-direction: row;
      flex-direction: row;
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  -ms-flex-align: center;
      align-items: center; }
  .loginScreen > .row {
    max-width: 100%;
    -ms-flex-preferred-size: 100%;
        flex-basis: 100%; }
  .loginScreen .loginContent {
    background: #fff;
    box-shadow: 0px 2px 4px -1px rgba(10, 10, 10, 0.3); }
  .loginScreen .loginLogoBlock {
    border-bottom: 2px solid #f5f5f5; }
    @media screen and (min-width: 0) {
      .loginScreen .loginLogoBlock {
        margin-bottom: 0.625rem; } }
    @media screen and (min-width: 768px) {
      .loginScreen .loginLogoBlock {
        margin-bottom: 0.9375rem; } }
    .loginScreen .loginLogoBlock .logo {
      text-align: center; }
      @media screen and (min-width: 0) {
        .loginScreen .loginLogoBlock .logo {
          padding-bottom: 1.25rem; } }
      @media screen and (min-width: 768px) {
        .loginScreen .loginLogoBlock .logo {
          padding-bottom: 1.875rem; } }
      @media screen and (min-width: 0) {
        .loginScreen .loginLogoBlock .logo {
          padding-top: 1.25rem; } }
      @media screen and (min-width: 768px) {
        .loginScreen .loginLogoBlock .logo {
          padding-top: 1.875rem; } }
      .loginScreen .loginLogoBlock .logo svg {
        margin-left: auto;
        margin-right: auto;
        display: block;
        width: 100%;
        height: 3.125rem; }
  @media screen and (min-width: 0) {
    .loginScreen .loginFormBlock {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .loginScreen .loginFormBlock {
      margin-bottom: 0.9375rem; } }

.tableNativeScroll {
  overflow-x: auto;
  box-shadow: none; }
  @media screen and (min-width: 0) {
    .tableNativeScroll {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .tableNativeScroll {
      margin-bottom: 0.9375rem; } }
  .tableNativeScroll .responsive-table-grid {
    vertical-align: top;
    position: relative;
    margin-bottom: 0;
    width: auto;
    box-shadow: none; }
  .tableNativeScroll tr {
    white-space: nowrap;
    font-size: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: stretch;
        justify-content: stretch; }
  .tableNativeScroll td, .tableNativeScroll th {
    width: 250px;
    display: -ms-inline-flexbox;
    display: inline-flex;
    white-space: normal;
    -ms-flex-align: center;
        align-items: center; }
  .tableNativeScroll .controlButtons {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%; }
  @media screen and (min-width: 64em) {
    .tableNativeScroll {
      margin-bottom: 0;
      width: 100%;
      display: block;
      width: 100%;
      overflow-x: auto;
      box-shadow: none; }
      .tableNativeScroll .responsive-table-grid {
        width: 100%; } }
    @media screen and (min-width: 64em) and (min-width: 0) {
      .tableNativeScroll .responsive-table-grid {
        margin-bottom: 0.625rem; } }
    @media screen and (min-width: 64em) and (min-width: 768px) {
      .tableNativeScroll .responsive-table-grid {
        margin-bottom: 0.9375rem; } }
  @media screen and (min-width: 64em) {
      .tableNativeScroll .responsive-table-grid {
        box-shadow: none; }
      .tableNativeScroll tr {
        white-space: normal;
        display: table-row; }
      .tableNativeScroll td, .tableNativeScroll th {
        display: table-cell;
        width: auto; } }
  .tableNativeScroll .tcol-xsmall-1 {
    width: 1.25rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-1 {
        width: 2rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-1 {
        width: 2.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-1 {
        width: 4.16667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-1 {
        width: 4.16667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-1 {
        width: 4.16667%; } }
  .tableNativeScroll .tcol-xsmall-2 {
    width: 2.5rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-2 {
        width: 4rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-2 {
        width: 5.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-2 {
        width: 8.33333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-2 {
        width: 8.33333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-2 {
        width: 8.33333%; } }
  .tableNativeScroll .tcol-xsmall-3 {
    width: 3.75rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-3 {
        width: 6rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-3 {
        width: 8rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-3 {
        width: 12.5%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-3 {
        width: 12.5%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-3 {
        width: 12.5%; } }
  .tableNativeScroll .tcol-xsmall-4 {
    width: 5rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-4 {
        width: 8rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-4 {
        width: 10.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-4 {
        width: 16.66667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-4 {
        width: 16.66667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-4 {
        width: 16.66667%; } }
  .tableNativeScroll .tcol-xsmall-5 {
    width: 6.25rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-5 {
        width: 10rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-5 {
        width: 13.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-5 {
        width: 20.83333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-5 {
        width: 20.83333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-5 {
        width: 20.83333%; } }
  .tableNativeScroll .tcol-xsmall-6 {
    width: 7.5rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-6 {
        width: 12rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-6 {
        width: 16rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-6 {
        width: 25%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-6 {
        width: 25%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-6 {
        width: 25%; } }
  .tableNativeScroll .tcol-xsmall-7 {
    width: 8.75rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-7 {
        width: 14rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-7 {
        width: 18.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-7 {
        width: 29.16667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-7 {
        width: 29.16667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-7 {
        width: 29.16667%; } }
  .tableNativeScroll .tcol-xsmall-8 {
    width: 10rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-8 {
        width: 16rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-8 {
        width: 21.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-8 {
        width: 33.33333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-8 {
        width: 33.33333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-8 {
        width: 33.33333%; } }
  .tableNativeScroll .tcol-xsmall-9 {
    width: 11.25rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-9 {
        width: 18rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-9 {
        width: 24rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-9 {
        width: 37.5%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-9 {
        width: 37.5%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-9 {
        width: 37.5%; } }
  .tableNativeScroll .tcol-xsmall-10 {
    width: 12.5rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-10 {
        width: 20rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-10 {
        width: 26.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-10 {
        width: 41.66667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-10 {
        width: 41.66667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-10 {
        width: 41.66667%; } }
  .tableNativeScroll .tcol-xsmall-11 {
    width: 13.75rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-11 {
        width: 22rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-11 {
        width: 29.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-11 {
        width: 45.83333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-11 {
        width: 45.83333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-11 {
        width: 45.83333%; } }
  .tableNativeScroll .tcol-xsmall-12 {
    width: 15rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-12 {
        width: 24rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-12 {
        width: 32rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-12 {
        width: 50%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-12 {
        width: 50%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-12 {
        width: 50%; } }
  .tableNativeScroll .tcol-xsmall-13 {
    width: 16.25rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-13 {
        width: 26rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-13 {
        width: 34.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-13 {
        width: 54.16667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-13 {
        width: 54.16667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-13 {
        width: 54.16667%; } }
  .tableNativeScroll .tcol-xsmall-14 {
    width: 17.5rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-14 {
        width: 28rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-14 {
        width: 37.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-14 {
        width: 58.33333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-14 {
        width: 58.33333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-14 {
        width: 58.33333%; } }
  .tableNativeScroll .tcol-xsmall-15 {
    width: 18.75rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-15 {
        width: 30rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-15 {
        width: 40rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-15 {
        width: 62.5%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-15 {
        width: 62.5%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-15 {
        width: 62.5%; } }
  .tableNativeScroll .tcol-xsmall-16 {
    width: 20rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-16 {
        width: 32rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-16 {
        width: 42.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-16 {
        width: 66.66667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-16 {
        width: 66.66667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-16 {
        width: 66.66667%; } }
  .tableNativeScroll .tcol-xsmall-17 {
    width: 21.25rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-17 {
        width: 34rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-17 {
        width: 45.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-17 {
        width: 70.83333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-17 {
        width: 70.83333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-17 {
        width: 70.83333%; } }
  .tableNativeScroll .tcol-xsmall-18 {
    width: 22.5rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-18 {
        width: 36rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-18 {
        width: 48rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-18 {
        width: 75%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-18 {
        width: 75%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-18 {
        width: 75%; } }
  .tableNativeScroll .tcol-xsmall-19 {
    width: 23.75rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-19 {
        width: 38rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-19 {
        width: 50.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-19 {
        width: 79.16667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-19 {
        width: 79.16667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-19 {
        width: 79.16667%; } }
  .tableNativeScroll .tcol-xsmall-20 {
    width: 25rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-20 {
        width: 40rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-20 {
        width: 53.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-20 {
        width: 83.33333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-20 {
        width: 83.33333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-20 {
        width: 83.33333%; } }
  .tableNativeScroll .tcol-xsmall-21 {
    width: 26.25rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-21 {
        width: 42rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-21 {
        width: 56rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-21 {
        width: 87.5%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-21 {
        width: 87.5%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-21 {
        width: 87.5%; } }
  .tableNativeScroll .tcol-xsmall-22 {
    width: 27.5rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-22 {
        width: 44rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-22 {
        width: 58.66667rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-22 {
        width: 91.66667%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-22 {
        width: 91.66667%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-22 {
        width: 91.66667%; } }
  .tableNativeScroll .tcol-xsmall-23 {
    width: 28.75rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-23 {
        width: 46rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-23 {
        width: 61.33333rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-23 {
        width: 95.83333%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-23 {
        width: 95.83333%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-23 {
        width: 95.83333%; } }
  .tableNativeScroll .tcol-xsmall-24 {
    width: 30rem; }
    @media screen and (min-width: 30em) {
      .tableNativeScroll .tcol-xsmall-24 {
        width: 48rem; } }
    @media screen and (min-width: 48em) {
      .tableNativeScroll .tcol-xsmall-24 {
        width: 64rem; } }
    @media screen and (min-width: 64em) {
      .tableNativeScroll .tcol-xsmall-24 {
        width: 100%; } }
    @media screen and (min-width: 75em) {
      .tableNativeScroll .tcol-xsmall-24 {
        width: 100%; } }
    @media screen and (min-width: 100em) {
      .tableNativeScroll .tcol-xsmall-24 {
        width: 100%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-1 {
      width: 2rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-1 {
      width: 2.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-2 {
      width: 4rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-2 {
      width: 5.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-3 {
      width: 6rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-3 {
      width: 8rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-3 {
      width: 12.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-3 {
      width: 12.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-3 {
      width: 12.5%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-4 {
      width: 8rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-4 {
      width: 10.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-5 {
      width: 10rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-5 {
      width: 13.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-6 {
      width: 12rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-6 {
      width: 16rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-6 {
      width: 25%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-6 {
      width: 25%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-6 {
      width: 25%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-7 {
      width: 14rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-7 {
      width: 18.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-8 {
      width: 16rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-8 {
      width: 21.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-9 {
      width: 18rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-9 {
      width: 24rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-9 {
      width: 37.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-9 {
      width: 37.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-9 {
      width: 37.5%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-10 {
      width: 20rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-10 {
      width: 26.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-11 {
      width: 22rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-11 {
      width: 29.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-12 {
      width: 24rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-12 {
      width: 32rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-12 {
      width: 50%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-12 {
      width: 50%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-12 {
      width: 50%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-13 {
      width: 26rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-13 {
      width: 34.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-14 {
      width: 28rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-14 {
      width: 37.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-15 {
      width: 30rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-15 {
      width: 40rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-15 {
      width: 62.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-15 {
      width: 62.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-15 {
      width: 62.5%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-16 {
      width: 32rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-16 {
      width: 42.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-17 {
      width: 34rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-17 {
      width: 45.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-18 {
      width: 36rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-18 {
      width: 48rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-18 {
      width: 75%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-18 {
      width: 75%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-18 {
      width: 75%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-19 {
      width: 38rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-19 {
      width: 50.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-20 {
      width: 40rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-20 {
      width: 53.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-21 {
      width: 42rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-21 {
      width: 56rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-21 {
      width: 87.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-21 {
      width: 87.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-21 {
      width: 87.5%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-22 {
      width: 44rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-22 {
      width: 58.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-23 {
      width: 46rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-23 {
      width: 61.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 30em) {
    .tableNativeScroll .tcol-small-24 {
      width: 48rem; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-small-24 {
      width: 64rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-small-24 {
      width: 100%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-small-24 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-small-24 {
      width: 100%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-1 {
      width: 2.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-2 {
      width: 5.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-3 {
      width: 8rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-3 {
      width: 12.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-3 {
      width: 12.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-3 {
      width: 12.5%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-4 {
      width: 10.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-5 {
      width: 13.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-6 {
      width: 16rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-6 {
      width: 25%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-6 {
      width: 25%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-6 {
      width: 25%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-7 {
      width: 18.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-8 {
      width: 21.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-9 {
      width: 24rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-9 {
      width: 37.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-9 {
      width: 37.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-9 {
      width: 37.5%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-10 {
      width: 26.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-11 {
      width: 29.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-12 {
      width: 32rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-12 {
      width: 50%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-12 {
      width: 50%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-12 {
      width: 50%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-13 {
      width: 34.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-14 {
      width: 37.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-15 {
      width: 40rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-15 {
      width: 62.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-15 {
      width: 62.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-15 {
      width: 62.5%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-16 {
      width: 42.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-17 {
      width: 45.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-18 {
      width: 48rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-18 {
      width: 75%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-18 {
      width: 75%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-18 {
      width: 75%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-19 {
      width: 50.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-20 {
      width: 53.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-21 {
      width: 56rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-21 {
      width: 87.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-21 {
      width: 87.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-21 {
      width: 87.5%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-22 {
      width: 58.66667rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-23 {
      width: 61.33333rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 48em) {
    .tableNativeScroll .tcol-medium-24 {
      width: 64rem; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-medium-24 {
      width: 100%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-medium-24 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-medium-24 {
      width: 100%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-3 {
      width: 12.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-3 {
      width: 12.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-3 {
      width: 12.5%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-6 {
      width: 25%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-6 {
      width: 25%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-6 {
      width: 25%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-9 {
      width: 37.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-9 {
      width: 37.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-9 {
      width: 37.5%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-12 {
      width: 50%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-12 {
      width: 50%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-12 {
      width: 50%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-15 {
      width: 62.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-15 {
      width: 62.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-15 {
      width: 62.5%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-18 {
      width: 75%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-18 {
      width: 75%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-18 {
      width: 75%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-21 {
      width: 87.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-21 {
      width: 87.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-21 {
      width: 87.5%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 64em) {
    .tableNativeScroll .tcol-large-24 {
      width: 100%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-large-24 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-large-24 {
      width: 100%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-3 {
      width: 12.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-3 {
      width: 12.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-6 {
      width: 25%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-6 {
      width: 25%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-9 {
      width: 37.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-9 {
      width: 37.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-12 {
      width: 50%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-12 {
      width: 50%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-15 {
      width: 62.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-15 {
      width: 62.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-18 {
      width: 75%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-18 {
      width: 75%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-21 {
      width: 87.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-21 {
      width: 87.5%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 75em) {
    .tableNativeScroll .tcol-xlarge-24 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xlarge-24 {
      width: 100%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-1 {
      width: 4.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-2 {
      width: 8.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-3 {
      width: 12.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-4 {
      width: 16.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-5 {
      width: 20.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-6 {
      width: 25%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-7 {
      width: 29.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-8 {
      width: 33.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-9 {
      width: 37.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-10 {
      width: 41.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-11 {
      width: 45.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-12 {
      width: 50%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-13 {
      width: 54.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-14 {
      width: 58.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-15 {
      width: 62.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-16 {
      width: 66.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-17 {
      width: 70.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-18 {
      width: 75%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-19 {
      width: 79.16667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-20 {
      width: 83.33333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-21 {
      width: 87.5%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-22 {
      width: 91.66667%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-23 {
      width: 95.83333%; } }
  @media screen and (min-width: 100em) {
    .tableNativeScroll .tcol-xxlarge-24 {
      width: 100%; } }

.tableScroll {
  overflow-x: auto;
  box-shadow: none; }
  @media screen and (min-width: 0) {
    .tableScroll {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .tableScroll {
      margin-bottom: 0.9375rem; } }
  .tableScroll .responsive-table-grid {
    vertical-align: top;
    position: relative;
    margin-bottom: 0;
    width: auto;
    box-shadow: none; }
  .tableScroll tr {
    white-space: nowrap;
    font-size: 0;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: stretch;
        justify-content: stretch; }
  .tableScroll td, .tableScroll th {
    width: 250px;
    display: -ms-inline-flexbox;
    display: inline-flex;
    white-space: normal;
    -ms-flex-align: center;
        align-items: center; }
  .tableScroll .controlButtons {
    -ms-flex: 0 0 100%;
        flex: 0 0 100%; }
  @media screen and (min-width: 78.125em) {
    .tableScroll {
      margin-bottom: 0;
      width: 100%;
      display: block;
      width: 100%;
      overflow-x: auto;
      box-shadow: none; }
      .tableScroll .responsive-table-grid {
        width: 100%; } }
    @media screen and (min-width: 78.125em) and (min-width: 0) {
      .tableScroll .responsive-table-grid {
        margin-bottom: 0.625rem; } }
    @media screen and (min-width: 78.125em) and (min-width: 768px) {
      .tableScroll .responsive-table-grid {
        margin-bottom: 0.9375rem; } }
  @media screen and (min-width: 78.125em) {
      .tableScroll .responsive-table-grid {
        box-shadow: none; }
      .tableScroll tr {
        white-space: normal;
        display: table-row; }
      .tableScroll td, .tableScroll th {
        display: table-cell;
        width: auto; } }

.button-icon {
  display: inline-block;
  vertical-align: top;
  width: 1rem;
  height: 1rem;
  fill: #f36717; }
  @media screen and (min-width: 768px) {
    .button-icon {
      width: 1.125rem; } }
  @media screen and (min-width: 1024px) {
    .button-icon {
      width: 1.375rem; } }
  @media screen and (min-width: 768px) {
    .button-icon {
      height: 1.125rem; } }
  @media screen and (min-width: 1024px) {
    .button-icon {
      height: 1.375rem; } }
  .button-icon svg {
    width: 100%;
    height: 100%; }

.tagList {
  margin: 0.625rem; }
  @media screen and (min-width: 1024px) {
    .tagList {
      margin: 0.9375rem; } }
  .tagList a.tag {
    background: #fff;
    border: 1px solid #e2e2e2;
    display: block;
    position: relative;
    color: #434547;
    padding: 0.3125rem 1.875rem 0.3125rem 0.3125rem;
    margin: 0.3125rem 0 0.3125rem 0; }
    @media screen and (min-width: 768px) {
      .tagList a.tag {
        padding: 0.3125rem 1.875rem 0.3125rem 0.3125rem; } }
    @media screen and (min-width: 1024px) {
      .tagList a.tag {
        margin: 0.625rem 0 0.625rem 0; } }
    .tagList a.tag svg {
      position: absolute;
      width: 0.875rem;
      height: 0.875rem;
      fill: #f36717;
      top: 50%;
      margin-top: -0.4375rem;
      right: 0.4375rem; }
      @media screen and (min-width: 768px) {
        .tagList a.tag svg {
          right: 0.4375rem; } }
    .tagList a.tag:hover, .tagList a.tag:focus {
      background: #fff;
      border-color: #f36717; }

table {
  width: auto; }
  table th[class*="sonata-ba-list-field-header"] {
    padding: 0;
    position: relative; }
    table th[class*="sonata-ba-list-field-header"] a, table th[class*="sonata-ba-list-field-header"] > span {
      padding-right: 1.5625rem;
      color: #434547;
      position: relative;
      width: 100%;
      height: 100%;
      text-decoration: none;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      font-weight: bold; }
      @media screen and (min-width: 0) {
        table th[class*="sonata-ba-list-field-header"] a, table th[class*="sonata-ba-list-field-header"] > span {
          padding-top: 0.625rem; } }
      @media screen and (min-width: 0) {
        table th[class*="sonata-ba-list-field-header"] a, table th[class*="sonata-ba-list-field-header"] > span {
          padding-bottom: 0.625rem; } }
      @media screen and (min-width: 0) {
        table th[class*="sonata-ba-list-field-header"] a, table th[class*="sonata-ba-list-field-header"] > span {
          padding-left: 0.625rem; } }
    table th[class*="sonata-ba-list-field-header"] svg {
      fill: #434547;
      width: 1.125rem;
      height: 1.125rem;
      position: absolute;
      right: 0.3125rem;
      top: 50%;
      margin-top: -0.5625rem; }
  table th[class*="sonata-ba-list-field-order-active"] {
    background: #fafafa; }
    table th[class*="sonata-ba-list-field-order-active"] a {
      color: #f36717; }
    table th[class*="sonata-ba-list-field-order-active"]:after {
      content: "";
      display: block;
      position: absolute;
      height: 0.125rem;
      bottom: -1px;
      left: -1px;
      right: -1px;
      background: #f36717; }
  table th[class*="sonata-ba-list-field-header-batch"], table td[class*="sonata-ba-list-field-batch"] {
    text-align: center;
    -ms-flex-pack: center;
        justify-content: center; }
    table th[class*="sonata-ba-list-field-header-batch"] input[type="checkbox"], table td[class*="sonata-ba-list-field-batch"] input[type="checkbox"] {
      vertical-align: middle;
      margin: 0; }
  table td[class*="sonata-ba-list-field-actions"] {
    -ms-flex-pack: end;
        justify-content: flex-end;
    padding: 0; }

@media screen and (max-width: 767px) {
  .tableScroll [name*="-batch"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="-batch"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="-batch"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name*="-batch"] {
    width: 8.33333%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name*="-batch"] {
    width: 32px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="-batch"] {
    width: 50px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="-batch"] {
    width: 66.66667px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name*="-batch"] {
    width: 4.16667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name*="action"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="action"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="action"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name*="action"] {
    width: 20.83333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name*="action"] {
    width: 160px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="action"] {
    width: 250px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="action"] {
    width: 333.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name*="action"] {
    width: 20.83333%; } }

.tableScroll tr td[name*="dailyconstructionrecord"], .tableScroll tr td[name*="dailyconstructionrecord"]:first-child, .tableScroll tr td[name*="dailyconstructionrecord"]:last-child, .tableScroll tr th[name*="dailyconstructionrecord"], .tableScroll tr th[name*="dailyconstructionrecord"]:first-child, .tableScroll tr th[name*="dailyconstructionrecord"]:last-child, .tableScroll tr:last-child td[name*="dailyconstructionrecord"], .tableScroll tr:last-child td[name*="dailyconstructionrecord"]:first-child, .tableScroll tr:last-child td[name*="dailyconstructionrecord"]:last-child, .tableScroll tr:last-child th[name*="dailyconstructionrecord"], .tableScroll tr:last-child th[name*="dailyconstructionrecord"]:first-child, .tableScroll tr:last-child th[name*="dailyconstructionrecord"]:last-child {
  border-bottom: solid 1px #8a8a8a;
  border-color: #8a8a8a; }

.tableScroll [name*="batch"] {
  max-width: 50px; }

@media screen and (max-width: 767px) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 192px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 300px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 400px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 25%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name*="username"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="username"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="username"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name*="username"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name*="title"] {
    width: 256px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="title"] {
    width: 400px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="title"] {
    width: 533.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name*="title"] {
    width: 33.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="user-_action"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="user-_action"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="user-_action"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="user-_action"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="email-active"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="email-active"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="email-active"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="email-active"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="email-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="email-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="email-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="email-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="skill-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="skill-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="skill-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="skill-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="certificate-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="certificate-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="certificate-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="certificate-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="category-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="category-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="category-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="category-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="costtype-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="costtype-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="costtype-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="costtype-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="toolcategory-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolcategory-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolcategory-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="toolcategory-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll .weekDay {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll .weekDay {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll .weekDay {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll .weekDay {
    width: 8.33333%; } }

.tableScroll .tableDescription {
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start; }
  @media screen and (max-width: 767px) {
    .tableScroll .tableDescription {
      width: 768px; } }
  @media screen and (min-width: 767px) and (max-width: 1200px) {
    .tableScroll .tableDescription {
      width: 1200px; } }
  @media screen and (min-width: 1199px) and (max-width: 1600px) {
    .tableScroll .tableDescription {
      width: 1600px; } }
  @media screen and (min-width: 100em) {
    .tableScroll .tableDescription {
      width: 100%; } }

@media screen and (min-width: 30em) and (max-width: 767px) {
  .tableScroll [name*="title"] {
    width: 288px; } }

@media screen and (min-width: 30em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="title"] {
    width: 450px; } }

@media screen and (min-width: 30em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="title"] {
    width: 600px; } }

@media screen and (min-width: 30em) and (min-width: 100em) {
  .tableScroll [name*="title"] {
    width: 37.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name*="participant:not(batch)"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name*="username"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="username"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="username"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name*="username"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name*="title"] {
    width: 224px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="title"] {
    width: 350px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="title"] {
    width: 466.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name*="title"] {
    width: 29.16667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="user-_action"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="user-_action"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="user-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="user-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="email-active"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="email-active"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="email-active"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="email-active"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="email-_action"], .tableScroll [name="skill-_action"], .tableScroll [name="certificate-_action"], .tableScroll [name="category-_action"], .tableScroll [name="costtype-_action"], .tableScroll [name="toolcategory-_action"] {
    width: 32px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="email-_action"], .tableScroll [name="skill-_action"], .tableScroll [name="certificate-_action"], .tableScroll [name="category-_action"], .tableScroll [name="costtype-_action"], .tableScroll [name="toolcategory-_action"] {
    width: 50px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="email-_action"], .tableScroll [name="skill-_action"], .tableScroll [name="certificate-_action"], .tableScroll [name="category-_action"], .tableScroll [name="costtype-_action"], .tableScroll [name="toolcategory-_action"] {
    width: 66.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="email-_action"], .tableScroll [name="skill-_action"], .tableScroll [name="certificate-_action"], .tableScroll [name="category-_action"], .tableScroll [name="costtype-_action"], .tableScroll [name="toolcategory-_action"] {
    width: 4.16667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="certificate-territorialvalidity"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll .weekDay {
    width: 32px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll .weekDay {
    width: 50px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll .weekDay {
    width: 66.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll .weekDay {
    width: 4.16667%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name*="username"] {
    width: 96px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="username"] {
    width: 150px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="username"] {
    width: 200px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name*="username"] {
    width: 12.5%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name*="title"] {
    width: 192px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="title"] {
    width: 300px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="title"] {
    width: 400px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name*="title"] {
    width: 25%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name*="workplace"] {
    width: 192px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="workplace"] {
    width: 300px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="workplace"] {
    width: 400px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name*="workplace"] {
    width: 25%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="user-_action"] {
    width: 48px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="user-_action"] {
    width: 75px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="user-_action"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="user-_action"] {
    width: 6.25%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name*="title"] {
    width: 128px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="title"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="title"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name*="title"] {
    width: 16.66667%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name*="workplace"] {
    width: 128px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name*="workplace"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name*="workplace"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name*="workplace"] {
    width: 16.66667%; } }

@media screen and (min-width: 100em) {
  .tableScroll .tableDescription {
    width: auto; } }

@media screen and (min-width: 0) {
  .editor {
    padding-bottom: 0.625rem; } }

@media screen and (min-width: 768px) {
  .editor {
    padding-bottom: 0.9375rem; } }

.closeButton {
  font-size: 2rem; }

.calloutArrow .calloutContent {
  overflow: hidden;
  padding: 1rem 1rem 0 1rem;
  background: #fff3d9; }

@media screen and (min-width: 0) {
  .calloutArrow:before, .calloutArrow:after {
    margin-left: 0.625rem; } }

@media screen and (min-width: 768px) {
  .calloutArrow:before, .calloutArrow:after {
    margin-left: 0.9375rem; } }

.calloutArrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 1rem;
  border-color: #fff3d9 transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0; }

[data-closable] p {
  padding-right: 1.5625rem; }

.participants-rule {
  margin: 0 0 0.9375rem 0; }

.participant .blockActions .badge, .participant .blockActions .closeButton, .participant .blockActions .loading, .costParticipant .badge, .costParticipant .closeButton, .costParticipant .loading {
  margin-bottom: 0; }

.documents .header.documents-title {
  display: none; }
  @media screen and (min-width: 48em) {
    .documents .header.documents-title {
      display: block; } }

.documents .header.documents-category {
  display: none; }
  @media screen and (min-width: 48em) {
    .documents .header.documents-category {
      display: block; } }

.documents .header.documents-description {
  display: none; }
  @media screen and (min-width: 75em) {
    .documents .header.documents-description {
      display: block; } }

.documents .header.documents-file {
  display: none; }
  @media screen and (min-width: 48em) {
    .documents .header.documents-file {
      display: block; } }

.documents .header.documents-_delete {
  display: none; }
  @media screen and (min-width: 48em) {
    .documents .header.documents-_delete {
      display: block; } }

.documents [class*="-_delete"] {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  max-width: 100%; }
  @media screen and (min-width: 48em) {
    .documents [class*="-_delete"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 48em) {
    .documents [class*="-_delete"] {
      -ms-flex: 0 0 12.5%;
          flex: 0 0 12.5%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 12.5%; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .documents [class*="-_delete"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    .documents [class*="-_delete"] {
      -ms-flex: 0 0 8.33333%;
          flex: 0 0 8.33333%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 8.33333%; } }
  @media screen and (min-width: 75em) and (min-width: 48em) {
    .documents [class*="-_delete"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.documents [class*="documents-title"] {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  max-width: 100%; }
  @media screen and (min-width: 48em) {
    .documents [class*="documents-title"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 48em) {
    .documents [class*="documents-title"] {
      -ms-flex: 0 0 29.16667%;
          flex: 0 0 29.16667%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 29.16667%; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .documents [class*="documents-title"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    .documents [class*="documents-title"] {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 25%; } }
  @media screen and (min-width: 75em) and (min-width: 48em) {
    .documents [class*="documents-title"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.documents [class*="documents-category"] {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  max-width: 100%; }
  @media screen and (min-width: 48em) {
    .documents [class*="documents-category"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 48em) {
    .documents [class*="documents-category"] {
      -ms-flex: 0 0 29.16667%;
          flex: 0 0 29.16667%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 29.16667%; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .documents [class*="documents-category"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    .documents [class*="documents-category"] {
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 25%; } }
  @media screen and (min-width: 75em) and (min-width: 48em) {
    .documents [class*="documents-category"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.documents [class*="documents-description"] {
  display: none; }
  @media screen and (min-width: 75em) {
    .documents [class*="documents-description"] {
      display: block;
      -ms-flex: 0 0 25%;
          flex: 0 0 25%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 25%; } }
  @media screen and (min-width: 75em) and (min-width: 48em) {
    .documents [class*="documents-description"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

.documents [class*="documents-file"] {
  -ms-flex-item-align: center;
      -ms-grid-row-align: center;
      align-self: center;
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  max-width: 100%; }
  @media screen and (min-width: 48em) {
    .documents [class*="documents-file"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 48em) {
    .documents [class*="documents-file"] {
      -ms-flex: 0 0 29.16667%;
          flex: 0 0 29.16667%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 29.16667%; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .documents [class*="documents-file"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }
  @media screen and (min-width: 75em) {
    .documents [class*="documents-file"] {
      -ms-flex: 0 0 16.66667%;
          flex: 0 0 16.66667%;
      padding-left: 0.625rem;
      padding-right: 0.625rem;
      max-width: 16.66667%; } }
  @media screen and (min-width: 75em) and (min-width: 48em) {
    .documents [class*="documents-file"] {
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; } }

@media screen and (min-width: 0) {
  .striped > * {
    padding-top: 0.625rem; } }

@media screen and (min-width: 768px) {
  .striped > * {
    padding-top: 0.9375rem; } }

.striped > *:nth-child(2n) {
  background-color: #f5f5f5; }

@media screen and (min-width: 0) {
  .callout {
    padding-left: 0.625rem; } }

@media screen and (min-width: 768px) {
  .callout {
    padding-left: 0.9375rem; } }

@media screen and (min-width: 0) {
  .callout {
    padding-top: 0.625rem; } }

@media screen and (min-width: 768px) {
  .callout {
    padding-top: 0.9375rem; } }

@media screen and (min-width: 0) {
  .callout {
    padding-right: 0.625rem; } }

@media screen and (min-width: 768px) {
  .callout {
    padding-right: 0.9375rem; } }

.typography-text {
  font-size: 0.75rem; }
  @media screen and (min-width: 1024px) {
    .typography-text {
      font-size: 0.8125rem; } }
  @media screen and (min-width: 1200px) {
    .typography-text {
      font-size: 0.875rem; } }
  @media screen and (min-width: 1600px) {
    .typography-text {
      font-size: 0.9375rem; } }

.insert-attendance {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  @media screen and (min-width: 0) {
    .insert-attendance {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .insert-attendance {
      margin-bottom: 0.9375rem; } }
  .insert-attendance svg {
    margin-bottom: 0; }
    @media screen and (min-width: 0) {
      .insert-attendance svg {
        margin-right: 0.3125rem; } }
    @media screen and (min-width: 768px) {
      .insert-attendance svg {
        margin-right: 0.46875rem; } }

.highlight-row {
  background: #fff3d9 !important; }

.headerButton {
  display: inline-block;
  position: relative;
  padding-left: 1.875rem; }
  .headerButton svg {
    position: absolute;
    fill: #fff;
    width: 1.125rem;
    height: 1.125rem;
    top: 50%;
    margin-top: -0.5625rem;
    left: 0.3125rem; }

.hyperlinkButton {
  display: inline-block;
  position: relative;
  padding-left: 1.875rem; }
  .hyperlinkButton svg {
    position: absolute;
    fill: #f36717;
    width: 1.125rem;
    height: 1.125rem;
    top: 50%;
    margin-top: -0.5625rem;
    left: 0.3125rem; }

.listIconButton {
  display: inline-block;
  margin-bottom: 0; }
  @media screen and (min-width: 0) {
    .listIconButton {
      padding-left: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    .listIconButton {
      padding-left: 0.46875rem; } }
  @media screen and (min-width: 0) {
    .listIconButton {
      padding-right: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    .listIconButton {
      padding-right: 0.46875rem; } }
  @media screen and (min-width: 0) {
    .listIconButton {
      padding-bottom: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    .listIconButton {
      padding-bottom: 0.46875rem; } }
  .listIconButton svg {
    fill: #f36717;
    width: 0.75rem;
    height: 0.75rem; }

.paymentDetail .controlButtons {
  display: inline-block; }

@media screen and (min-width: 0) {
  .paymentDetail .paymentSummary {
    margin-top: 0.625rem; } }

@media screen and (min-width: 768px) {
  .paymentDetail .paymentSummary {
    margin-top: 0.9375rem; } }

.paymentDetail .loading {
  display: none; }

.text-uppercase {
  text-transform: uppercase; }

.text-alert {
  color: #ec5840; }

.flex-wrapper {
  display: -ms-flexbox;
  display: flex; }
  .flex-wrapper .callout {
    max-width: 100%; }

.iconButtons .iconButtonFill {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row nowrap;
      flex-flow: row nowrap;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  margin-bottom: 1rem; }
  .iconButtons .iconButtonFill svg {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto;
    width: 1.875rem;
    height: 1.875rem; }
    @media screen and (min-width: 0) {
      .iconButtons .iconButtonFill svg {
        margin-right: 0.625rem; } }
    @media screen and (min-width: 768px) {
      .iconButtons .iconButtonFill svg {
        margin-right: 0.9375rem; } }
  .iconButtons .iconButtonFill .button {
    -ms-flex: 1 1;
        flex: 1 1;
    margin-bottom: 0; }

@media screen and (min-width: 30em) {
  .iconButtons .iconButtonFill .button {
    -ms-flex: 0 1 auto;
        flex: 0 1 auto; } }

.hourRate .striped > *:nth-child(2n) {
  background-color: #f5f5f5; }

.hourRate .controlButtons {
  text-align: center; }
  .hourRate .controlButtons form {
    display: inline-block; }
  .hourRate .controlButtons button {
    margin-bottom: 0; }

@media screen and (min-width: 30em) {
  .hourRate .controlButtons {
    text-align: left; } }

.label.small {
  font-size: small;
  padding: 0.3125rem; }

.row.highlightRowYellow {
  background: rgba(255, 215, 56, 0.15);
  position: relative; }
  .row.highlightRowYellow:before {
    display: block;
    content: "";
    border-left: 3px solid #ffd738;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowYellow td {
  background: rgba(255, 215, 56, 0.15); }
  .listTable .highlightRowYellow td:first-child {
    border-left: 3px solid #ffd738; }

.tableStateClasses tr.Yellow td {
  background-color: rgba(255, 215, 56, 0.15); }

.tableStateClasses td.Yellow, .tableStateClasses th.Yellow {
  background-color: rgba(255, 215, 56, 0.15) !important; }

.row.highlightRowGreen {
  background: rgba(0, 128, 0, 0.15);
  position: relative; }
  .row.highlightRowGreen:before {
    display: block;
    content: "";
    border-left: 3px solid #008000;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowGreen td {
  background: rgba(0, 128, 0, 0.15); }
  .listTable .highlightRowGreen td:first-child {
    border-left: 3px solid #008000; }

.tableStateClasses tr.Green td {
  background-color: rgba(0, 128, 0, 0.15); }

.tableStateClasses td.Green, .tableStateClasses th.Green {
  background-color: rgba(0, 128, 0, 0.15) !important; }

.row.highlightRowRed {
  background: rgba(255, 0, 0, 0.15);
  position: relative; }
  .row.highlightRowRed:before {
    display: block;
    content: "";
    border-left: 3px solid #ff0000;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowRed td {
  background: rgba(255, 0, 0, 0.15); }
  .listTable .highlightRowRed td:first-child {
    border-left: 3px solid #ff0000; }

.tableStateClasses tr.Red td {
  background-color: rgba(255, 0, 0, 0.15); }

.tableStateClasses td.Red, .tableStateClasses th.Red {
  background-color: rgba(255, 0, 0, 0.15) !important; }

.row.highlightRowBlack {
  background: rgba(0, 0, 0, 0.15);
  position: relative; }
  .row.highlightRowBlack:before {
    display: block;
    content: "";
    border-left: 3px solid #000;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowBlack td {
  background: rgba(0, 0, 0, 0.15); }
  .listTable .highlightRowBlack td:first-child {
    border-left: 3px solid #000; }

.tableStateClasses tr.Black td {
  background-color: rgba(0, 0, 0, 0.15); }

.tableStateClasses td.Black, .tableStateClasses th.Black {
  background-color: rgba(0, 0, 0, 0.15) !important; }

.row.highlightRowPurple {
  background: rgba(139, 71, 137, 0.15);
  position: relative; }
  .row.highlightRowPurple:before {
    display: block;
    content: "";
    border-left: 3px solid #8B4789;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowPurple td {
  background: rgba(139, 71, 137, 0.15); }
  .listTable .highlightRowPurple td:first-child {
    border-left: 3px solid #8B4789; }

.tableStateClasses tr.Purple td {
  background-color: rgba(139, 71, 137, 0.15); }

.tableStateClasses td.Purple, .tableStateClasses th.Purple {
  background-color: rgba(139, 71, 137, 0.15) !important; }

.row.highlightRowDarkblue {
  background: rgba(98, 163, 207, 0.15);
  position: relative; }
  .row.highlightRowDarkblue:before {
    display: block;
    content: "";
    border-left: 3px solid #62A3CF;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowDarkblue td {
  background: rgba(98, 163, 207, 0.15); }
  .listTable .highlightRowDarkblue td:first-child {
    border-left: 3px solid #62A3CF; }

.tableStateClasses tr.Darkblue td {
  background-color: rgba(98, 163, 207, 0.15); }

.tableStateClasses td.Darkblue, .tableStateClasses th.Darkblue {
  background-color: rgba(98, 163, 207, 0.15) !important; }

.row.highlightRowLightblue {
  background: rgba(202, 230, 230, 0.15);
  position: relative; }
  .row.highlightRowLightblue:before {
    display: block;
    content: "";
    border-left: 3px solid #CAE6E6;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowLightblue td {
  background: rgba(202, 230, 230, 0.15); }
  .listTable .highlightRowLightblue td:first-child {
    border-left: 3px solid #CAE6E6; }

.tableStateClasses tr.Lightblue td {
  background-color: rgba(202, 230, 230, 0.15); }

.tableStateClasses td.Lightblue, .tableStateClasses th.Lightblue {
  background-color: rgba(202, 230, 230, 0.15) !important; }

.row.highlightRowOrange {
  background: rgba(243, 103, 23, 0.15);
  position: relative; }
  .row.highlightRowOrange:before {
    display: block;
    content: "";
    border-left: 3px solid #f36717;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowOrange td {
  background: rgba(243, 103, 23, 0.15); }
  .listTable .highlightRowOrange td:first-child {
    border-left: 3px solid #f36717; }

.tableStateClasses tr.Orange td {
  background-color: rgba(243, 103, 23, 0.15); }

.tableStateClasses td.Orange, .tableStateClasses th.Orange {
  background-color: rgba(243, 103, 23, 0.15) !important; }

.row.highlightRowOre {
  background: rgba(138, 29, 29, 0.15);
  position: relative; }
  .row.highlightRowOre:before {
    display: block;
    content: "";
    border-left: 3px solid #8A1D1D;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowOre td {
  background: rgba(138, 29, 29, 0.15); }
  .listTable .highlightRowOre td:first-child {
    border-left: 3px solid #8A1D1D; }

.tableStateClasses tr.Ore td {
  background-color: rgba(138, 29, 29, 0.15); }

.tableStateClasses td.Ore, .tableStateClasses th.Ore {
  background-color: rgba(138, 29, 29, 0.15) !important; }

.row.highlightRowWhite {
  background: rgba(255, 255, 255, 0.15);
  position: relative; }
  .row.highlightRowWhite:before {
    display: block;
    content: "";
    border-left: 3px solid #FFFFFF;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowWhite td {
  background: rgba(255, 255, 255, 0.15); }
  .listTable .highlightRowWhite td:first-child {
    border-left: 3px solid #FFFFFF; }

.tableStateClasses tr.White td {
  background-color: rgba(255, 255, 255, 0.15); }

.tableStateClasses td.White, .tableStateClasses th.White {
  background-color: rgba(255, 255, 255, 0.15) !important; }

.row.highlightRowBrown {
  background: rgba(58, 46, 16, 0.15);
  position: relative; }
  .row.highlightRowBrown:before {
    display: block;
    content: "";
    border-left: 3px solid #3A2E10;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowBrown td {
  background: rgba(58, 46, 16, 0.15); }
  .listTable .highlightRowBrown td:first-child {
    border-left: 3px solid #3A2E10; }

.tableStateClasses tr.Brown td {
  background-color: rgba(58, 46, 16, 0.15); }

.tableStateClasses td.Brown, .tableStateClasses th.Brown {
  background-color: rgba(58, 46, 16, 0.15) !important; }

.row.highlightRowBlue {
  background: rgba(116, 191, 221, 0.15);
  position: relative; }
  .row.highlightRowBlue:before {
    display: block;
    content: "";
    border-left: 3px solid #74bfdd;
    height: 100%;
    width: 0;
    position: absolute;
    left: -1px;
    top: 0; }

.listTable .highlightRowBlue td {
  background: rgba(116, 191, 221, 0.15); }
  .listTable .highlightRowBlue td:first-child {
    border-left: 3px solid #74bfdd; }

.tableStateClasses tr.Blue td {
  background-color: rgba(116, 191, 221, 0.15); }

.tableStateClasses td.Blue, .tableStateClasses th.Blue {
  background-color: rgba(116, 191, 221, 0.15) !important; }

#sticker.isSticked {
  position: fixed;
  top: 121px;
  right: 0;
  margin: 0;
  background: #fff;
  box-shadow: 0 0 5px rgba(10, 10, 10, 0.2);
  z-index: 1;
  left: 100%; }
  @media screen and (min-width: 480px) {
    #sticker.isSticked {
      left: 12.5rem; } }
  @media screen and (min-width: 1200px) {
    #sticker.isSticked {
      left: 13.75rem; } }
  @media screen and (min-width: 1600px) {
    #sticker.isSticked {
      left: 15rem; } }
  @media screen and (min-width: 0) {
    #sticker.isSticked {
      padding: 0.625rem; } }
  @media screen and (min-width: 768px) {
    #sticker.isSticked {
      padding: 0.9375rem; } }
  #sticker.isSticked hr {
    display: none; }

.monthlyAttendance {
  border-bottom: 1px solid #e2e2e2; }
  .monthlyAttendance tr {
    display: table-row;
    white-space: normal; }
    .monthlyAttendance tr:last-child td {
      border-bottom: none; }
  .monthlyAttendance th, .monthlyAttendance td {
    display: table-cell;
    width: auto;
    text-align: center;
    border: none;
    border-top: 1px solid #e2e2e2;
    border-left: 1px solid #e2e2e2; }
    .monthlyAttendance th a, .monthlyAttendance td a {
      color: #f36717; }
  .monthlyAttendance .monthCell {
    border-right: 1px solid #e2e2e2; }
  .monthlyAttendance .weekDay {
    font-weight: bold; }
  .monthlyAttendance .tableDescription {
    text-align: left; }
    .monthlyAttendance .tableDescription p:last-of-type {
      margin-bottom: 0; }

#monthlyAttendanceTableWrapper .loading, #buildingJournalTableWrapper .loading {
  display: none; }

.isLoading {
  position: relative; }
  .isLoading:before {
    position: absolute;
    z-index: 100;
    background-color: rgba(255, 255, 255, 0.9);
    left: 0;
    right: 0;
    bottom: 0;
    top: 0;
    display: block !important;
    content: ""; }
  .isLoading .loading {
    display: block !important;
    position: absolute;
    z-index: 200;
    top: 50%;
    left: 50%;
    margin-top: -0.8125rem;
    margin-left: -0.8125rem; }

.input-group input {
  margin-bottom: 0; }

.input-group .input-group-addon {
  margin-bottom: 0;
  padding: 0 15px;
  background: #f5f5f5;
  -ms-flex-align: center;
      align-items: center;
  display: -ms-flexbox;
  display: flex;
  border: 1px solid #e2e2e2;
  border-left: none;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1); }
  .input-group .input-group-addon i {
    border: 1px solid #e2e2e2; }

.colorpicker-component.input-group {
  position: relative; }

.colorpicker-component .input-group-addon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  z-index: 10; }

.colorpicker-dropdown-menu {
  background-color: #fff;
  border: 1px solid #fff;
  border-radius: 0;
  display: block;
  font-size: 1rem;
  padding: 0.5rem;
  position: absolute;
  visibility: hidden;
  width: 300px;
  z-index: 10;
  visibility: visible;
  width: auto; }
  .colorpicker-dropdown-menu.is-open {
    visibility: visible; }

.multipleRowCell td {
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start; }
  .multipleRowCell td p:last-of-type {
    margin-bottom: 0; }

textarea:disabled {
  color: #8a8a8a; }

.datePicker input {
  cursor: pointer; }

.borderLeft {
  border-left: 1px solid #e2e2e2; }

.wysiwygError span {
  margin-bottom: 0;
  margin-top: 0.5rem; }

.colorWrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
      align-items: flex-end;
  margin-bottom: 1rem;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.colorpick {
  display: -ms-flexbox;
  display: flex;
  width: 2.5rem;
  height: 2.5rem;
  margin: 0.3125rem 0.3125rem 0 0.3125rem;
  background: #f5f5f5;
  border: 1px solid #e2e2e2;
  box-shadow: inset 0 1px 2px rgba(10, 10, 10, 0.1);
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  opacity: .6;
  transition: all .3s ease; }
  .colorpick span {
    display: inline-block;
    width: 1rem;
    height: 1rem; }
  .colorpick:hover {
    opacity: 1; }
  .colorpick.Yellow span {
    background-color: #ffd738; }
  .colorpick.Green span {
    background-color: #008000; }
  .colorpick.Red span {
    background-color: #ff0000; }
  .colorpick.Black span {
    background-color: #000; }
  .colorpick.Purple span {
    background-color: #8B4789; }
  .colorpick.Darkblue span {
    background-color: #62A3CF; }
  .colorpick.Lightblue span {
    background-color: #CAE6E6; }
  .colorpick.Orange span {
    background-color: #f36717; }
  .colorpick.Ore span {
    background-color: #8A1D1D; }
  .colorpick.White span {
    background-color: #FFFFFF;
    border: 1px solid #e2e2e2; }
  .colorpick.Brown span {
    background-color: #3A2E10; }
  .colorpick.Blue span {
    background-color: #74bfdd; }

input[readonly]:not([disabled]).fdatepicker {
  cursor: pointer;
  color: #434547;
  background-color: #fff; }

.excelExportWrapper {
  text-align: center; }
  @media screen and (min-width: 48em) {
    .excelExportWrapper {
      text-align: right; } }

.invoiceTemplateVisual {
  position: relative; }
  .invoiceTemplateVisual img, .invoiceTemplateVisual label {
    width: 100%; }
  .invoiceTemplateVisual label {
    cursor: pointer;
    border: solid 1px #e2e2e2;
    margin: 0;
    transition: border-color 300ms ease; }
    @media screen and (min-width: 0) {
      .invoiceTemplateVisual label {
        padding: 0.3125rem; } }
    @media screen and (min-width: 768px) {
      .invoiceTemplateVisual label {
        padding: 0.46875rem; } }
    @media screen and (min-width: 0) {
      .invoiceTemplateVisual label {
        margin-bottom: 0.625rem; } }
    @media screen and (min-width: 768px) {
      .invoiceTemplateVisual label {
        margin-bottom: 0.9375rem; } }
    .invoiceTemplateVisual label:hover {
      border-color: #f36717; }
  .invoiceTemplateVisual input {
    visibility: hidden;
    position: absolute;
    left: 0;
    top: 0;
    z-index: 1; }
  .invoiceTemplateVisual input:checked + label {
    border-color: #f36717; }

.tagList {
  font-size: 0.6875rem;
  font-weight: bold;
  margin-top: 0; }
  @media screen and (min-width: 0) {
    .tagList {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .tagList {
      margin-bottom: 0.9375rem; } }
  .tagList a.tag {
    margin-top: 0;
    margin-bottom: 0;
    font-weight: normal; }

@media screen and (min-width: 0) {
  .middleRightWrapper article {
    padding-top: 0.625rem; } }

@media screen and (min-width: 768px) {
  .middleRightWrapper article {
    padding-top: 0.9375rem; } }

aside .blockFields {
  height: 100%; }

aside .blockButtonControl {
  background: #fff;
  position: absolute;
  left: 0;
  bottom: 0;
  right: 0; }
  @media screen and (min-width: 0) {
    aside .blockButtonControl {
      padding-left: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    aside .blockButtonControl {
      padding-left: 0.46875rem; } }
  @media screen and (min-width: 0) {
    aside .blockButtonControl {
      padding-right: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    aside .blockButtonControl {
      padding-right: 0.46875rem; } }
  @media screen and (min-width: 0) {
    aside .blockButtonControl .column, aside .blockButtonControl .columns {
      padding-left: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    aside .blockButtonControl .column, aside .blockButtonControl .columns {
      padding-left: 0.46875rem; } }
  @media screen and (min-width: 0) {
    aside .blockButtonControl .column, aside .blockButtonControl .columns {
      padding-right: 0.3125rem; } }
  @media screen and (min-width: 768px) {
    aside .blockButtonControl .column, aside .blockButtonControl .columns {
      padding-right: 0.46875rem; } }

@media screen and (min-width: 0) {
  .callout {
    margin-bottom: 0.625rem; } }

@media screen and (min-width: 768px) {
  .callout {
    margin-bottom: 0.9375rem; } }

.constructionRevealLink {
  color: #434547;
  text-align: left;
  margin-bottom: 0; }

@media screen and (min-width: 0) {
  .divisionDashboard {
    padding-left: 0.3125rem; } }

@media screen and (min-width: 768px) {
  .divisionDashboard {
    padding-left: 0.46875rem; } }

@media screen and (min-width: 0) {
  .divisionDashboard {
    padding-right: 0.3125rem; } }

@media screen and (min-width: 768px) {
  .divisionDashboard {
    padding-right: 0.46875rem; } }

.divisionDashboard .ui-state-highlight {
  box-sizing: border-box;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-positive: 0;
      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0;
  position: relative; }
  .divisionDashboard .ui-state-highlight:after, .divisionDashboard .ui-state-highlight:before {
    position: absolute;
    content: "";
    display: block;
    top: 0;
    right: 0.625rem;
    left: 0.625rem;
    bottom: 1.875rem; }
  .divisionDashboard .ui-state-highlight:after {
    background-color: #fff;
    animation: scaleBackground .5s ease-out;
    animation-iteration-count: 1;
    z-index: 10; }
  .divisionDashboard .ui-state-highlight:before {
    background-color: rgba(146, 146, 146, 0.8);
    box-shadow: 0 2px 5px 0 rgba(58, 46, 16, 0.15);
    animation: pulsate 2s ease-out;
    animation-iteration-count: infinite;
    opacity: 0.0; }

@keyframes pulsate {
  0% {
    box-shadow: 0 0 5px 0 rgba(58, 46, 16, 0.15);
    opacity: 0.0; }
  50% {
    opacity: 1.0; }
  100% {
    box-shadow: 0 0 20px 0 rgba(58, 46, 16, 0.15);
    opacity: 0.0; } }

@keyframes scaleBackground {
  0% {
    transform: scale(0.99);
    opacity: 0.6; }
  100% {
    transform: scale(1);
    opacity: 1; } }

.divisionDashboard .callout.info {
  background-color: #e3f2f8; }
  .divisionDashboard .callout.info a {
    color: #74bfdd; }

.divisionDashboard .callout.empty {
  padding: 0.9375rem; }

.divisionDashboard.preloaderWrapper:after {
  background-color: rgba(171, 171, 171, 0.6); }

.divisionDashboard .row {
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-flow: row wrap;
      flex-flow: row wrap; }

.divisionDashboard .column.xsmall-24, .divisionDashboard .xsmall-24.columns, .divisionDashboard .columns.xsmall-24 {
  -ms-flex: 0 0 100%;
      flex: 0 0 100%;
  padding-left: 0.3125rem;
  padding-right: 0.3125rem;
  max-width: 100%; }
  @media screen and (min-width: 48em) {
    .divisionDashboard .column.xsmall-24, .divisionDashboard .xsmall-24.columns, .divisionDashboard .columns.xsmall-24 {
      padding-left: 0.46875rem;
      padding-right: 0.46875rem; } }

@media screen and (min-width: 48em) {
  .divisionDashboard .column.medium-12, .divisionDashboard .medium-12.columns, .divisionDashboard .columns.medium-12 {
    -ms-flex: 0 0 50%;
        flex: 0 0 50%;
    padding-left: 0.3125rem;
    padding-right: 0.3125rem;
    max-width: 50%; } }
  @media screen and (min-width: 48em) and (min-width: 48em) {
    .divisionDashboard .column.medium-12, .divisionDashboard .medium-12.columns, .divisionDashboard .columns.medium-12 {
      padding-left: 0.46875rem;
      padding-right: 0.46875rem; } }

.dashboardWidget {
  position: relative;
  background: #fff;
  box-shadow: 0 2px 5px 0 rgba(58, 46, 16, 0.15); }
  @media screen and (min-width: 0) {
    .dashboardWidget {
      margin-bottom: 0.625rem; } }
  @media screen and (min-width: 768px) {
    .dashboardWidget {
      margin-bottom: 0.9375rem; } }
  .dashboardWidget:after, .dashboardWidget:before {
    content: '';
    position: absolute;
    display: none; }
  .dashboardWidget:after {
    background: #3b3b3b;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 100; }
  .dashboardWidget:before {
    left: 50%;
    top: 50%;
    margin-top: -0.8125rem;
    margin-left: -0.8125rem;
    background-color: transparent;
    border: 0.125rem solid #f36717;
    border-top-color: rgba(10, 10, 10, 0.1);
    border-right-color: rgba(10, 10, 10, 0.1);
    width: 1.625rem;
    height: 1.625rem;
    border-radius: 50%;
    z-index: 101;
    animation: spinner-animation .65s infinite linear; }
  .dashboardWidget header {
    border-bottom: 1px solid #929292;
    background: #fff;
    padding: 0.3125rem 0.9375rem; }
    .dashboardWidget header h2 {
      margin: 0;
      color: #434547;
      font-weight: bold;
      font-size: 1rem; }
      @media screen and (min-width: 768px) {
        .dashboardWidget header h2 {
          font-size: 1.125rem; } }
      @media screen and (min-width: 1024px) {
        .dashboardWidget header h2 {
          font-size: 1.375rem; } }
    .dashboardWidget header .controls {
      opacity: 0;
      transition: opacity .3s ease; }
    .dashboardWidget header:hover .controls {
      opacity: 1; }
  .dashboardWidget footer {
    padding: 0 0.9375rem 0 0.9375rem; }
  .dashboardWidget .content {
    padding: 0.9375rem 0.9375rem 0 0.9375rem;
    display: block; }
    .dashboardWidget .content::before, .dashboardWidget .content::after {
      content: ' ';
      display: table;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
      -ms-flex-order: 1;
          order: 1; }
    .dashboardWidget .content::after {
      clear: both; }
  .dashboardWidget .listTable {
    border: none; }
  .dashboardWidget.isEdited {
    background: #fff; }
    .dashboardWidget.isEdited input[type="text"]:focus {
      background-color: #fff; }
    .dashboardWidget.isEdited header .controls {
      visibility: hidden; }
  .dashboardWidget.preloaderWrapper:after {
    background-color: rgba(255, 255, 255, 0.8); }
  @media screen and (max-width: 767px) {
    .dashboardWidget [name="widget-action"] {
      width: 96px; } }
  @media screen and (min-width: 767px) and (max-width: 1200px) {
    .dashboardWidget [name="widget-action"] {
      width: 150px; } }
  @media screen and (min-width: 1199px) and (max-width: 1600px) {
    .dashboardWidget [name="widget-action"] {
      width: 200px; } }
  @media screen and (min-width: 100em) {
    .dashboardWidget [name="widget-action"] {
      width: 12.5%; } }
  .dashboardWidget .tableScrollHalf {
    overflow-x: auto;
    box-shadow: none; }
    @media screen and (min-width: 0) {
      .dashboardWidget .tableScrollHalf {
        margin-bottom: 0.625rem; } }
    @media screen and (min-width: 768px) {
      .dashboardWidget .tableScrollHalf {
        margin-bottom: 0.9375rem; } }
    .dashboardWidget .tableScrollHalf .responsive-table-grid {
      vertical-align: top;
      position: relative;
      margin-bottom: 0;
      width: auto;
      box-shadow: none; }
    .dashboardWidget .tableScrollHalf tr {
      white-space: nowrap;
      font-size: 0;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: stretch;
          justify-content: stretch; }
    .dashboardWidget .tableScrollHalf td, .dashboardWidget .tableScrollHalf th {
      width: 250px;
      display: -ms-inline-flexbox;
      display: inline-flex;
      white-space: normal;
      -ms-flex-align: center;
          align-items: center; }
    .dashboardWidget .tableScrollHalf .controlButtons {
      -ms-flex: 0 0 100%;
          flex: 0 0 100%; }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf {
        margin-bottom: 0;
        width: 100%;
        display: block;
        width: 100%;
        overflow-x: auto;
        box-shadow: none; }
        .dashboardWidget .tableScrollHalf .responsive-table-grid {
          width: 100%; } }
    @media screen and (min-width: 100em) and (min-width: 0) {
      .dashboardWidget .tableScrollHalf .responsive-table-grid {
        margin-bottom: 0.625rem; } }
    @media screen and (min-width: 100em) and (min-width: 768px) {
      .dashboardWidget .tableScrollHalf .responsive-table-grid {
        margin-bottom: 0.9375rem; } }
    @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .responsive-table-grid {
          box-shadow: none; }
        .dashboardWidget .tableScrollHalf tr {
          white-space: normal;
          display: table-row; }
        .dashboardWidget .tableScrollHalf td, .dashboardWidget .tableScrollHalf th {
          display: table-cell;
          width: auto; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-1 {
      width: 1.25rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-1 {
          width: 2rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-1 {
          width: 2.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-1 {
          width: 3.125rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-1 {
          width: 4.16667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-1 {
          width: 4.16667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-2 {
      width: 2.5rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-2 {
          width: 4rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-2 {
          width: 5.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-2 {
          width: 6.25rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-2 {
          width: 8.33333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-2 {
          width: 8.33333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-3 {
      width: 3.75rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-3 {
          width: 6rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-3 {
          width: 8rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-3 {
          width: 9.375rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-3 {
          width: 12.5rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-3 {
          width: 12.5%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-4 {
      width: 5rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-4 {
          width: 8rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-4 {
          width: 10.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-4 {
          width: 12.5rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-4 {
          width: 16.66667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-4 {
          width: 16.66667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-5 {
      width: 6.25rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-5 {
          width: 10rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-5 {
          width: 13.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-5 {
          width: 15.625rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-5 {
          width: 20.83333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-5 {
          width: 20.83333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-6 {
      width: 7.5rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-6 {
          width: 12rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-6 {
          width: 16rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-6 {
          width: 18.75rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-6 {
          width: 25rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-6 {
          width: 25%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-7 {
      width: 8.75rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-7 {
          width: 14rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-7 {
          width: 18.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-7 {
          width: 21.875rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-7 {
          width: 29.16667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-7 {
          width: 29.16667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-8 {
      width: 10rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-8 {
          width: 16rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-8 {
          width: 21.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-8 {
          width: 25rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-8 {
          width: 33.33333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-8 {
          width: 33.33333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-9 {
      width: 11.25rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-9 {
          width: 18rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-9 {
          width: 24rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-9 {
          width: 28.125rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-9 {
          width: 37.5rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-9 {
          width: 37.5%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-10 {
      width: 12.5rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-10 {
          width: 20rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-10 {
          width: 26.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-10 {
          width: 31.25rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-10 {
          width: 41.66667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-10 {
          width: 41.66667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-11 {
      width: 13.75rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-11 {
          width: 22rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-11 {
          width: 29.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-11 {
          width: 34.375rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-11 {
          width: 45.83333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-11 {
          width: 45.83333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-12 {
      width: 15rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-12 {
          width: 24rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-12 {
          width: 32rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-12 {
          width: 37.5rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-12 {
          width: 50rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-12 {
          width: 50%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-13 {
      width: 16.25rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-13 {
          width: 26rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-13 {
          width: 34.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-13 {
          width: 40.625rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-13 {
          width: 54.16667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-13 {
          width: 54.16667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-14 {
      width: 17.5rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-14 {
          width: 28rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-14 {
          width: 37.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-14 {
          width: 43.75rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-14 {
          width: 58.33333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-14 {
          width: 58.33333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-15 {
      width: 18.75rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-15 {
          width: 30rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-15 {
          width: 40rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-15 {
          width: 46.875rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-15 {
          width: 62.5rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-15 {
          width: 62.5%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-16 {
      width: 20rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-16 {
          width: 32rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-16 {
          width: 42.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-16 {
          width: 50rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-16 {
          width: 66.66667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-16 {
          width: 66.66667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-17 {
      width: 21.25rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-17 {
          width: 34rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-17 {
          width: 45.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-17 {
          width: 53.125rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-17 {
          width: 70.83333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-17 {
          width: 70.83333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-18 {
      width: 22.5rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-18 {
          width: 36rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-18 {
          width: 48rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-18 {
          width: 56.25rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-18 {
          width: 75rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-18 {
          width: 75%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-19 {
      width: 23.75rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-19 {
          width: 38rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-19 {
          width: 50.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-19 {
          width: 59.375rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-19 {
          width: 79.16667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-19 {
          width: 79.16667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-20 {
      width: 25rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-20 {
          width: 40rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-20 {
          width: 53.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-20 {
          width: 62.5rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-20 {
          width: 83.33333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-20 {
          width: 83.33333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-21 {
      width: 26.25rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-21 {
          width: 42rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-21 {
          width: 56rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-21 {
          width: 65.625rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-21 {
          width: 87.5rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-21 {
          width: 87.5%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-22 {
      width: 27.5rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-22 {
          width: 44rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-22 {
          width: 58.66667rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-22 {
          width: 68.75rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-22 {
          width: 91.66667rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-22 {
          width: 91.66667%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-23 {
      width: 28.75rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-23 {
          width: 46rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-23 {
          width: 61.33333rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-23 {
          width: 71.875rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-23 {
          width: 95.83333rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-23 {
          width: 95.83333%; } }
    .dashboardWidget .tableScrollHalf .tcol-xsmall-24 {
      width: 30rem; }
      @media screen and (min-width: 30em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-24 {
          width: 48rem; } }
      @media screen and (min-width: 48em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-24 {
          width: 64rem; } }
      @media screen and (min-width: 64em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-24 {
          width: 75rem; } }
      @media screen and (min-width: 75em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-24 {
          width: 100rem; } }
      @media screen and (min-width: 100em) {
        .dashboardWidget .tableScrollHalf .tcol-xsmall-24 {
          width: 100%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-1 {
        width: 2rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-1 {
        width: 2.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-1 {
        width: 3.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-1 {
        width: 4.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-1 {
        width: 4.16667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-2 {
        width: 4rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-2 {
        width: 5.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-2 {
        width: 6.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-2 {
        width: 8.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-2 {
        width: 8.33333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-3 {
        width: 6rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-3 {
        width: 8rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-3 {
        width: 9.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-3 {
        width: 12.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-3 {
        width: 12.5%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-4 {
        width: 8rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-4 {
        width: 10.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-4 {
        width: 12.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-4 {
        width: 16.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-4 {
        width: 16.66667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-5 {
        width: 10rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-5 {
        width: 13.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-5 {
        width: 15.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-5 {
        width: 20.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-5 {
        width: 20.83333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-6 {
        width: 12rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-6 {
        width: 16rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-6 {
        width: 18.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-6 {
        width: 25rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-6 {
        width: 25%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-7 {
        width: 14rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-7 {
        width: 18.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-7 {
        width: 21.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-7 {
        width: 29.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-7 {
        width: 29.16667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-8 {
        width: 16rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-8 {
        width: 21.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-8 {
        width: 25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-8 {
        width: 33.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-8 {
        width: 33.33333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-9 {
        width: 18rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-9 {
        width: 24rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-9 {
        width: 28.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-9 {
        width: 37.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-9 {
        width: 37.5%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-10 {
        width: 20rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-10 {
        width: 26.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-10 {
        width: 31.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-10 {
        width: 41.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-10 {
        width: 41.66667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-11 {
        width: 22rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-11 {
        width: 29.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-11 {
        width: 34.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-11 {
        width: 45.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-11 {
        width: 45.83333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-12 {
        width: 24rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-12 {
        width: 32rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-12 {
        width: 37.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-12 {
        width: 50rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-12 {
        width: 50%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-13 {
        width: 26rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-13 {
        width: 34.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-13 {
        width: 40.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-13 {
        width: 54.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-13 {
        width: 54.16667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-14 {
        width: 28rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-14 {
        width: 37.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-14 {
        width: 43.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-14 {
        width: 58.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-14 {
        width: 58.33333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-15 {
        width: 30rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-15 {
        width: 40rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-15 {
        width: 46.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-15 {
        width: 62.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-15 {
        width: 62.5%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-16 {
        width: 32rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-16 {
        width: 42.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-16 {
        width: 50rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-16 {
        width: 66.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-16 {
        width: 66.66667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-17 {
        width: 34rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-17 {
        width: 45.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-17 {
        width: 53.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-17 {
        width: 70.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-17 {
        width: 70.83333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-18 {
        width: 36rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-18 {
        width: 48rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-18 {
        width: 56.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-18 {
        width: 75rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-18 {
        width: 75%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-19 {
        width: 38rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-19 {
        width: 50.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-19 {
        width: 59.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-19 {
        width: 79.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-19 {
        width: 79.16667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-20 {
        width: 40rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-20 {
        width: 53.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-20 {
        width: 62.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-20 {
        width: 83.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-20 {
        width: 83.33333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-21 {
        width: 42rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-21 {
        width: 56rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-21 {
        width: 65.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-21 {
        width: 87.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-21 {
        width: 87.5%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-22 {
        width: 44rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-22 {
        width: 58.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-22 {
        width: 68.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-22 {
        width: 91.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-22 {
        width: 91.66667%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-23 {
        width: 46rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-23 {
        width: 61.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-23 {
        width: 71.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-23 {
        width: 95.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-23 {
        width: 95.83333%; } }
    @media screen and (min-width: 30em) {
      .dashboardWidget .tableScrollHalf .tcol-small-24 {
        width: 48rem; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-small-24 {
        width: 64rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-small-24 {
        width: 75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-small-24 {
        width: 100rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-small-24 {
        width: 100%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-1 {
        width: 2.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-1 {
        width: 3.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-1 {
        width: 4.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-1 {
        width: 4.16667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-2 {
        width: 5.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-2 {
        width: 6.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-2 {
        width: 8.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-2 {
        width: 8.33333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-3 {
        width: 8rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-3 {
        width: 9.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-3 {
        width: 12.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-3 {
        width: 12.5%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-4 {
        width: 10.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-4 {
        width: 12.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-4 {
        width: 16.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-4 {
        width: 16.66667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-5 {
        width: 13.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-5 {
        width: 15.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-5 {
        width: 20.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-5 {
        width: 20.83333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-6 {
        width: 16rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-6 {
        width: 18.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-6 {
        width: 25rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-6 {
        width: 25%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-7 {
        width: 18.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-7 {
        width: 21.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-7 {
        width: 29.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-7 {
        width: 29.16667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-8 {
        width: 21.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-8 {
        width: 25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-8 {
        width: 33.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-8 {
        width: 33.33333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-9 {
        width: 24rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-9 {
        width: 28.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-9 {
        width: 37.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-9 {
        width: 37.5%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-10 {
        width: 26.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-10 {
        width: 31.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-10 {
        width: 41.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-10 {
        width: 41.66667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-11 {
        width: 29.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-11 {
        width: 34.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-11 {
        width: 45.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-11 {
        width: 45.83333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-12 {
        width: 32rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-12 {
        width: 37.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-12 {
        width: 50rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-12 {
        width: 50%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-13 {
        width: 34.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-13 {
        width: 40.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-13 {
        width: 54.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-13 {
        width: 54.16667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-14 {
        width: 37.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-14 {
        width: 43.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-14 {
        width: 58.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-14 {
        width: 58.33333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-15 {
        width: 40rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-15 {
        width: 46.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-15 {
        width: 62.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-15 {
        width: 62.5%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-16 {
        width: 42.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-16 {
        width: 50rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-16 {
        width: 66.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-16 {
        width: 66.66667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-17 {
        width: 45.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-17 {
        width: 53.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-17 {
        width: 70.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-17 {
        width: 70.83333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-18 {
        width: 48rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-18 {
        width: 56.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-18 {
        width: 75rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-18 {
        width: 75%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-19 {
        width: 50.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-19 {
        width: 59.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-19 {
        width: 79.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-19 {
        width: 79.16667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-20 {
        width: 53.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-20 {
        width: 62.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-20 {
        width: 83.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-20 {
        width: 83.33333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-21 {
        width: 56rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-21 {
        width: 65.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-21 {
        width: 87.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-21 {
        width: 87.5%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-22 {
        width: 58.66667rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-22 {
        width: 68.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-22 {
        width: 91.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-22 {
        width: 91.66667%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-23 {
        width: 61.33333rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-23 {
        width: 71.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-23 {
        width: 95.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-23 {
        width: 95.83333%; } }
    @media screen and (min-width: 48em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-24 {
        width: 64rem; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-24 {
        width: 75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-24 {
        width: 100rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-medium-24 {
        width: 100%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-1 {
        width: 3.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-1 {
        width: 4.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-1 {
        width: 4.16667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-2 {
        width: 6.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-2 {
        width: 8.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-2 {
        width: 8.33333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-3 {
        width: 9.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-3 {
        width: 12.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-3 {
        width: 12.5%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-4 {
        width: 12.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-4 {
        width: 16.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-4 {
        width: 16.66667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-5 {
        width: 15.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-5 {
        width: 20.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-5 {
        width: 20.83333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-6 {
        width: 18.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-6 {
        width: 25rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-6 {
        width: 25%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-7 {
        width: 21.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-7 {
        width: 29.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-7 {
        width: 29.16667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-8 {
        width: 25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-8 {
        width: 33.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-8 {
        width: 33.33333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-9 {
        width: 28.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-9 {
        width: 37.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-9 {
        width: 37.5%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-10 {
        width: 31.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-10 {
        width: 41.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-10 {
        width: 41.66667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-11 {
        width: 34.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-11 {
        width: 45.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-11 {
        width: 45.83333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-12 {
        width: 37.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-12 {
        width: 50rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-12 {
        width: 50%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-13 {
        width: 40.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-13 {
        width: 54.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-13 {
        width: 54.16667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-14 {
        width: 43.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-14 {
        width: 58.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-14 {
        width: 58.33333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-15 {
        width: 46.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-15 {
        width: 62.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-15 {
        width: 62.5%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-16 {
        width: 50rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-16 {
        width: 66.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-16 {
        width: 66.66667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-17 {
        width: 53.125rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-17 {
        width: 70.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-17 {
        width: 70.83333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-18 {
        width: 56.25rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-18 {
        width: 75rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-18 {
        width: 75%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-19 {
        width: 59.375rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-19 {
        width: 79.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-19 {
        width: 79.16667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-20 {
        width: 62.5rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-20 {
        width: 83.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-20 {
        width: 83.33333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-21 {
        width: 65.625rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-21 {
        width: 87.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-21 {
        width: 87.5%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-22 {
        width: 68.75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-22 {
        width: 91.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-22 {
        width: 91.66667%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-23 {
        width: 71.875rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-23 {
        width: 95.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-23 {
        width: 95.83333%; } }
    @media screen and (min-width: 64em) {
      .dashboardWidget .tableScrollHalf .tcol-large-24 {
        width: 75rem; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-large-24 {
        width: 100rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-large-24 {
        width: 100%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-1 {
        width: 4.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-1 {
        width: 4.16667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-2 {
        width: 8.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-2 {
        width: 8.33333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-3 {
        width: 12.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-3 {
        width: 12.5%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-4 {
        width: 16.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-4 {
        width: 16.66667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-5 {
        width: 20.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-5 {
        width: 20.83333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-6 {
        width: 25rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-6 {
        width: 25%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-7 {
        width: 29.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-7 {
        width: 29.16667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-8 {
        width: 33.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-8 {
        width: 33.33333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-9 {
        width: 37.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-9 {
        width: 37.5%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-10 {
        width: 41.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-10 {
        width: 41.66667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-11 {
        width: 45.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-11 {
        width: 45.83333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-12 {
        width: 50rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-12 {
        width: 50%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-13 {
        width: 54.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-13 {
        width: 54.16667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-14 {
        width: 58.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-14 {
        width: 58.33333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-15 {
        width: 62.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-15 {
        width: 62.5%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-16 {
        width: 66.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-16 {
        width: 66.66667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-17 {
        width: 70.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-17 {
        width: 70.83333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-18 {
        width: 75rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-18 {
        width: 75%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-19 {
        width: 79.16667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-19 {
        width: 79.16667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-20 {
        width: 83.33333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-20 {
        width: 83.33333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-21 {
        width: 87.5rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-21 {
        width: 87.5%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-22 {
        width: 91.66667rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-22 {
        width: 91.66667%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-23 {
        width: 95.83333rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-23 {
        width: 95.83333%; } }
    @media screen and (min-width: 75em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-24 {
        width: 100rem; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xlarge-24 {
        width: 100%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-1 {
        width: 4.16667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-2 {
        width: 8.33333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-3 {
        width: 12.5%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-4 {
        width: 16.66667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-5 {
        width: 20.83333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-6 {
        width: 25%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-7 {
        width: 29.16667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-8 {
        width: 33.33333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-9 {
        width: 37.5%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-10 {
        width: 41.66667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-11 {
        width: 45.83333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-12 {
        width: 50%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-13 {
        width: 54.16667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-14 {
        width: 58.33333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-15 {
        width: 62.5%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-16 {
        width: 66.66667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-17 {
        width: 70.83333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-18 {
        width: 75%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-19 {
        width: 79.16667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-20 {
        width: 83.33333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-21 {
        width: 87.5%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-22 {
        width: 91.66667%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-23 {
        width: 95.83333%; } }
    @media screen and (min-width: 100em) {
      .dashboardWidget .tableScrollHalf .tcol-xxlarge-24 {
        width: 100%; } }
  .dashboardWidget.preloaderIsVisible:after, .dashboardWidget.preloaderIsVisible:before {
    display: block; }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .dashboardWidget [name="widget-action"] {
    width: 64px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .dashboardWidget [name="widget-action"] {
    width: 100px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .dashboardWidget [name="widget-action"] {
    width: 133.33333px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .dashboardWidget [name="widget-action"] {
    width: 8.33333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .dashboardWidget [name="widget-action"] {
    width: 64px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .dashboardWidget [name="widget-action"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .dashboardWidget [name="widget-action"] {
    width: 133.33333px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .dashboardWidget [name="widget-action"] {
    width: 8.33333%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .dashboardWidget [name="widget-action"] {
    width: 128px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .dashboardWidget [name="widget-action"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .dashboardWidget [name="widget-action"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .dashboardWidget [name="widget-action"] {
    width: 16.66667%; } }

.ui-sortable-helper:hover header .controls {
  opacity: 1; }

.ui-sortable-helper header .controls {
  opacity: 1; }

.dahsboardDropdown {
  z-index: 10;
  width: 12.5rem;
  right: 0;
  padding: 0.3125rem;
  visibility: hidden;
  border: 0.0625rem solid rgba(215, 206, 185, 0.5);
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem;
  -ms-transform: translateY(-1.125rem);
      transform: translateY(-1.125rem);
  transition: transform .3s ease, opacity .3s ease; }
  .dahsboardDropdown:before {
    border: inset 6px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #fff transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -0.75rem;
    left: 10px;
    z-index: 89; }
  .dahsboardDropdown:after {
    border: inset 7px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent rgba(215, 206, 185, 0.5) transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -0.875rem;
    left: 9px;
    z-index: 88; }
  .dahsboardDropdown li {
    background-color: #fff;
    transition: background-color 300ms ease; }
    .dahsboardDropdown li:hover {
      background-color: #f8f8f8; }
    .dahsboardDropdown li a {
      padding: 0.5rem;
      text-decoration: none;
      color: #555; }
  .dahsboardDropdown.is-open {
    -ms-transform: translateY(0);
        transform: translateY(0);
    display: block;
    opacity: 1; }
    .dahsboardDropdown.is-open:before {
      left: 11.0625rem; }
    .dahsboardDropdown.is-open:after {
      left: 11rem; }

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

.tableScroll [name="dailyconstructionrecord-day"] {
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .tableScroll [name="dailyconstructionrecord-day"] {
      width: 128px; } }
  @media screen and (min-width: 767px) and (max-width: 1200px) {
    .tableScroll [name="dailyconstructionrecord-day"] {
      width: 200px; } }
  @media screen and (min-width: 1199px) and (max-width: 1600px) {
    .tableScroll [name="dailyconstructionrecord-day"] {
      width: 266.66667px; } }
  @media screen and (min-width: 100em) {
    .tableScroll [name="dailyconstructionrecord-day"] {
      width: 16.66667%; } }

.tableScroll [name="dailyconstructionrecord-joborder"] {
  -ms-flex-direction: column;
      flex-direction: column;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .tableScroll [name="dailyconstructionrecord-joborder"] {
      width: 128px; } }
  @media screen and (min-width: 767px) and (max-width: 1200px) {
    .tableScroll [name="dailyconstructionrecord-joborder"] {
      width: 200px; } }
  @media screen and (min-width: 1199px) and (max-width: 1600px) {
    .tableScroll [name="dailyconstructionrecord-joborder"] {
      width: 266.66667px; } }
  @media screen and (min-width: 100em) {
    .tableScroll [name="dailyconstructionrecord-joborder"] {
      width: 16.66667%; } }

.tableScroll [name="dailyconstructionrecord-record"] {
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex: 1 0 auto;
      flex: 1 0 auto;
  -ms-flex-align: start;
      align-items: flex-start; }

@media screen and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 80px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 125px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 166.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 10.41667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 72px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 112.5px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 9.375%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-lastmodification"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 32px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 50px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 66.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-_action"] {
    width: 4.16667%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 64px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 133.33333px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 8.33333%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 160px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 250px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-day"] {
    width: 20.83333%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 96px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 150px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-joborder"] {
    width: 12.5%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 448px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 700px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 933.33333px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="dailyconstructionrecord-record"] {
    width: 58.33333%; } }

.daily-construction-record .listTable {
  width: 100%; }

.daily-construction-record th, .daily-construction-record td {
  padding: 0.625rem 0.375rem;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center; }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .daily-construction-record [name="dailyconstructionrecord-day"] {
    width: 96px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .daily-construction-record [name="dailyconstructionrecord-day"] {
    width: 150px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .daily-construction-record [name="dailyconstructionrecord-day"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .daily-construction-record [name="dailyconstructionrecord-day"] {
    width: 12.5%; } }

.daily-construction-record-widget td {
  padding: 0.625rem 0.375rem; }

@media screen and (max-width: 767px) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 192px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 300px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 400px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 25%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="emaillog-headerto"] {
    width: 192px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-headerto"] {
    width: 300px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-headerto"] {
    width: 400px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="emaillog-headerto"] {
    width: 25%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 224px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 350px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 466.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 29.16667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="emaillog-datesend"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-datesend"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-datesend"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="emaillog-datesend"] {
    width: 20.83333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 160px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 250px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 333.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="emaillog-headerfrom"] {
    width: 20.83333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="emaillog-headerto"] {
    width: 160px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-headerto"] {
    width: 250px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-headerto"] {
    width: 333.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="emaillog-headerto"] {
    width: 20.83333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 192px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 300px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 400px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="emaillog-messagesubject"] {
    width: 25%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="emaillog-datesend"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="emaillog-datesend"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="emaillog-datesend"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="emaillog-datesend"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="email-description"] {
    width: 192px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="email-description"] {
    width: 300px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="email-description"] {
    width: 400px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="email-description"] {
    width: 25%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="email-description"] {
    width: 256px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="email-description"] {
    width: 400px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="email-description"] {
    width: 533.33333px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="email-description"] {
    width: 33.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="jobinterview-date"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-date"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-date"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="jobinterview-date"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="jobinterview-place"] {
    width: 192px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-place"] {
    width: 300px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-place"] {
    width: 400px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="jobinterview-place"] {
    width: 25%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="jobinterview-_action"] {
    width: 20.83333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="jobinterview-date"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-date"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-date"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="jobinterview-date"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="jobinterview-place"] {
    width: 160px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-place"] {
    width: 250px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-place"] {
    width: 333.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="jobinterview-place"] {
    width: 20.83333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="jobinterview-totalcountofparticipants"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="jobinterview-_action"] {
    width: 16.66667%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="jobinterview-place"] {
    width: 224px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-place"] {
    width: 350px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-place"] {
    width: 466.66667px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="jobinterview-place"] {
    width: 29.16667%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="jobinterview-place"] {
    width: 192px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-place"] {
    width: 300px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-place"] {
    width: 400px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="jobinterview-place"] {
    width: 25%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 96px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 150px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="jobinterview-_action"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="jobinterview-_action"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborder-id"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-id"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-id"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborder-id"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborder-title"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-title"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-title"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborder-title"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborder-state"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-state"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-state"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborder-state"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborder-_action"] {
    width: 192px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-_action"] {
    width: 300px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-_action"] {
    width: 400px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborder-_action"] {
    width: 25%; } }

@media screen and (min-width: 30em) and (max-width: 767px) {
  .tableScroll [name="joborder-id"] {
    width: 64px; } }

@media screen and (min-width: 30em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-id"] {
    width: 100px; } }

@media screen and (min-width: 30em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-id"] {
    width: 133.33333px; } }

@media screen and (min-width: 30em) and (min-width: 100em) {
  .tableScroll [name="joborder-id"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborder-title"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-title"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-title"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborder-title"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborder-state"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-state"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-state"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborder-state"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborder-_action"] {
    width: 160px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-_action"] {
    width: 250px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-_action"] {
    width: 333.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborder-_action"] {
    width: 20.83333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="joborder-id"] {
    width: 32px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-id"] {
    width: 50px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-id"] {
    width: 66.66667px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="joborder-id"] {
    width: 4.16667%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 64px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 133.33333px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="joborder-realizationstartdate"] {
    width: 8.33333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 64px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 133.33333px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="joborder-realizationenddate"] {
    width: 8.33333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="joborder-state"] {
    width: 64px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-state"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-state"] {
    width: 133.33333px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="joborder-state"] {
    width: 8.33333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="joborder-_action"] {
    width: 128px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborder-_action"] {
    width: 200px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborder-_action"] {
    width: 266.66667px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="joborder-_action"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborderattendance-day"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-day"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-day"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborderattendance-day"] {
    width: 12.5%; } }

.tableScroll [name="joborderattendance-joborder"] {
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: start;
      align-items: flex-start;
  -ms-flex-pack: center;
      justify-content: center; }
  .tableScroll [name="joborderattendance-joborder"] a {
    padding-right: 1rem; }
  @media screen and (max-width: 767px) {
    .tableScroll [name="joborderattendance-joborder"] {
      width: 160px; } }
  @media screen and (min-width: 767px) and (max-width: 1200px) {
    .tableScroll [name="joborderattendance-joborder"] {
      width: 250px; } }
  @media screen and (min-width: 1199px) and (max-width: 1600px) {
    .tableScroll [name="joborderattendance-joborder"] {
      width: 333.33333px; } }
  @media screen and (min-width: 100em) {
    .tableScroll [name="joborderattendance-joborder"] {
      width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 12.5%; } }

@media screen and (min-width: 30em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 128px; } }

@media screen and (min-width: 30em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 200px; } }

@media screen and (min-width: 30em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 266.66667px; } }

@media screen and (min-width: 30em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-day"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-day"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-day"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-day"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-presentpeoplecount"], .tableScroll [name="joborderattendance-peopleonotherbuildingcount"], .tableScroll [name="joborderattendance-peopleonvacationcount"], .tableScroll [name="joborderattendance-sickpeoplecount"], .tableScroll [name="joborderattendance-peoplecount"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-lastmodification"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 64px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 133.33333px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 8.33333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 64px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 100px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 96px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 150px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="joborderattendance-joborder"] {
    width: 12.5%; } }

.tenHoursWarning {
  border: 2px solid #f36717; }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-name"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-name"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-name"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-name"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-internalnumber"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-category.title"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-category.title"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-category.title"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-category.title"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-location"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-location"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-location"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-location"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-state"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-state"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-state"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-state"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="tool-_action"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-_action"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-_action"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="tool-_action"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-name"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-name"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-name"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-name"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-internalnumber"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-category.title"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-category.title"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-category.title"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-category.title"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-location"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-location"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-location"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-location"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-state"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-state"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-state"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-state"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="tool-_action"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-_action"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="tool-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-name"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-location"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-countoftools"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-countofavailabletools"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-countofborrowedtools"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="toolwarehouse-_action"] {
    width: 12.5%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-name"] {
    width: 96px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-name"] {
    width: 150px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-name"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-name"] {
    width: 12.5%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 96px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 150px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-internalnumber"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-internalnumber"] {
    width: 12.5%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-category.title"] {
    width: 128px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-category.title"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-category.title"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-category.title"] {
    width: 16.66667%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-location"] {
    width: 96px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-location"] {
    width: 150px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-location"] {
    width: 200px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-location"] {
    width: 12.5%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 64px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 100px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-warrantyexpirationdate"] {
    width: 8.33333%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 64px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 100px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-patexpirationdate"] {
    width: 8.33333%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-state"] {
    width: 64px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-state"] {
    width: 100px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-state"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-state"] {
    width: 8.33333%; } }

@media screen and (min-width: 100em) and (max-width: 767px) {
  .tableScroll [name="tool-_action"] {
    width: 64px; } }

@media screen and (min-width: 100em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="tool-_action"] {
    width: 100px; } }

@media screen and (min-width: 100em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="tool-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) and (min-width: 100em) {
  .tableScroll [name="tool-_action"] {
    width: 8.33333%; } }

.pagination {
  margin-bottom: 0; }
  .pagination li {
    margin-bottom: 1rem; }
    .pagination li:nth-child(-n+2) {
      display: inline-block; }
    .pagination li:nth-last-child(-n+2) {
      display: inline-block; }
    .pagination li.current {
      display: inline-block; }
  @media screen and (min-width: 48em) {
    .pagination li {
      display: none; }
      .pagination li:nth-child(-n+3) {
        display: inline-block; }
      .pagination li:nth-last-child(-n+3) {
        display: inline-block; } }
  @media screen and (min-width: 100em) {
    .pagination li {
      display: inline-block; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-month"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-month"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-month"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-month"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-listrequired"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listrequired"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listrequired"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-listrequired"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-listcosts"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listcosts"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listcosts"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-listcosts"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-locked"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-locked"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-locked"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-locked"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="payment-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="payment-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 192px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 300px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 400px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 25%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="advancepayment-method"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-method"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-method"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="advancepayment-method"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="advancepayment-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="advancepayment-_action"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="cost-_action"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="cost-_action"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="cost-_action"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="cost-_action"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-month"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-month"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-month"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-month"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-listrequired"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listrequired"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listrequired"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-listrequired"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-listcosts"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listcosts"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listcosts"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-listcosts"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-listadvancepayments"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-listpaymenttotal"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-locked"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-locked"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-locked"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-locked"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="payment-_action"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-_action"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="payment-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-payment.month"], .tableScroll [name="cost-month.month"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-method"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-method"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-method"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-method"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-amount"], .tableScroll [name="cost-amount"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 128px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 266.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-lastmodification"] {
    width: 16.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-_action"], .tableScroll [name="cost-_action"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-_action"], .tableScroll [name="cost-_action"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-_action"], .tableScroll [name="cost-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-_action"], .tableScroll [name="cost-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 96px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 150px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 200px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="payment-personsurnameandfirstname"] {
    width: 12.5%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="payment-locked"] {
    width: 64px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-locked"] {
    width: 100px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-locked"] {
    width: 133.33333px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="payment-locked"] {
    width: 8.33333%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="payment-_action"] {
    width: 32px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="payment-_action"] {
    width: 50px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="payment-_action"] {
    width: 66.66667px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="payment-_action"] {
    width: 4.16667%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 160px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 250px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 333.33333px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-person.surname"], .tableScroll [name="cost-person.surname"] {
    width: 20.83333%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="advancepayment-_action"] {
    width: 32px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="advancepayment-_action"] {
    width: 50px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="advancepayment-_action"] {
    width: 66.66667px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="advancepayment-_action"] {
    width: 4.16667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="person-internalnumber"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-internalnumber"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-internalnumber"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="person-internalnumber"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="person-firstparticipant"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-firstparticipant"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-firstparticipant"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="person-firstparticipant"] {
    width: 8.33333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="person-surname"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-surname"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-surname"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="person-surname"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="person-firstname"] {
    width: 128px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-firstname"] {
    width: 200px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-firstname"] {
    width: 266.66667px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="person-firstname"] {
    width: 16.66667%; } }

.tableScroll [name="person-status.name"] {
  width: 6.875rem; }

.tableScroll [name="person-datecreate"] {
  width: 8.125rem; }

@media screen and (max-width: 767px) {
  .tableScroll [name="person-_action"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-_action"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-_action"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="person-_action"] {
    width: 12.5%; } }

.tableScroll [name="person-bonushours"], .tableScroll [name="person-hourssincehourlyrateincrease"] {
  width: 8.125rem; }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="person-internalnumber"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-internalnumber"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-internalnumber"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="person-internalnumber"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="person-firstparticipant"] {
    width: 32px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-firstparticipant"] {
    width: 50px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-firstparticipant"] {
    width: 66.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="person-firstparticipant"] {
    width: 4.16667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="person-surname"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-surname"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-surname"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="person-surname"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="person-firstname"] {
    width: 96px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-firstname"] {
    width: 150px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-firstname"] {
    width: 200px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="person-firstname"] {
    width: 12.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="person-_action"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-_action"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="person-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="person-surname"] {
    width: 128px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-surname"] {
    width: 200px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-surname"] {
    width: 266.66667px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="person-surname"] {
    width: 16.66667%; } }

@media screen and (min-width: 64em) and (max-width: 767px) {
  .tableScroll [name="person-firstname"] {
    width: 128px; } }

@media screen and (min-width: 64em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="person-firstname"] {
    width: 200px; } }

@media screen and (min-width: 64em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="person-firstname"] {
    width: 266.66667px; } }

@media screen and (min-width: 64em) and (min-width: 100em) {
  .tableScroll [name="person-firstname"] {
    width: 16.66667%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="purchaser-ic"] {
    width: 96px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-ic"] {
    width: 150px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-ic"] {
    width: 200px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="purchaser-ic"] {
    width: 12.5%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 160px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 250px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 333.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="purchaser-companyname"] {
    width: 20.83333%; } }

@media screen and (max-width: 767px) {
  .tableScroll [name="purchaser-_action"] {
    width: 64px; } }

@media screen and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-_action"] {
    width: 100px; } }

@media screen and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 100em) {
  .tableScroll [name="purchaser-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 30em) and (max-width: 767px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 288px; } }

@media screen and (min-width: 30em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 450px; } }

@media screen and (min-width: 30em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 600px; } }

@media screen and (min-width: 30em) and (min-width: 100em) {
  .tableScroll [name="purchaser-companyname"] {
    width: 37.5%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="purchaser-ic"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-ic"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-ic"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="purchaser-ic"] {
    width: 8.33333%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 320px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 500px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-companyname"] {
    width: 666.66667px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="purchaser-companyname"] {
    width: 41.66667%; } }

@media screen and (min-width: 48em) and (max-width: 767px) {
  .tableScroll [name="purchaser-_action"] {
    width: 64px; } }

@media screen and (min-width: 48em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-_action"] {
    width: 100px; } }

@media screen and (min-width: 48em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-_action"] {
    width: 133.33333px; } }

@media screen and (min-width: 48em) and (min-width: 100em) {
  .tableScroll [name="purchaser-_action"] {
    width: 8.33333%; } }

@media screen and (min-width: 75em) and (max-width: 767px) {
  .tableScroll [name="purchaser-_action"] {
    width: 32px; } }

@media screen and (min-width: 75em) and (min-width: 767px) and (max-width: 1200px) {
  .tableScroll [name="purchaser-_action"] {
    width: 50px; } }

@media screen and (min-width: 75em) and (min-width: 1199px) and (max-width: 1600px) {
  .tableScroll [name="purchaser-_action"] {
    width: 66.66667px; } }

@media screen and (min-width: 75em) and (min-width: 100em) {
  .tableScroll [name="purchaser-_action"] {
    width: 4.16667%; } }

.switch label {
  margin-left: 0; }

.nmb {
  margin-bottom: 0; }

/*!
 * Bootstrap Colorpicker v2.5.1
 * https://itsjavi.com/bootstrap-colorpicker/
 *
 * Originally written by (c) 2012 Stefan Petre
 * Licensed under the Apache License v2.0
 * http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 */
.colorpicker-saturation {
  width: 100px;
  height: 100px;
  background-image: url("../img/bootstrap-colorpicker/saturation.png");
  cursor: crosshair;
  float: left; }
  .colorpicker-saturation i {
    display: block;
    height: 5px;
    width: 5px;
    border: 1px solid #000;
    border-radius: 5px;
    position: absolute;
    top: 0;
    left: 0;
    margin: -4px 0 0 -4px; }
    .colorpicker-saturation i b {
      display: block;
      height: 5px;
      width: 5px;
      border: 1px solid #fff;
      border-radius: 5px; }

.colorpicker-hue,
.colorpicker-alpha {
  width: 15px;
  height: 100px;
  float: left;
  cursor: row-resize;
  margin-left: 4px;
  margin-bottom: 4px; }

.colorpicker-hue i,
.colorpicker-alpha i {
  display: block;
  height: 1px;
  background: #000;
  border-top: 1px solid #fff;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  margin-top: -1px; }

.colorpicker-hue {
  background-image: url("../img/bootstrap-colorpicker/hue.png"); }

.colorpicker-alpha {
  background-image: url("../img/bootstrap-colorpicker/alpha.png");
  display: none; }

.colorpicker-saturation,
.colorpicker-hue,
.colorpicker-alpha {
  background-size: contain; }

.colorpicker {
  padding: 4px;
  min-width: 130px;
  margin-top: 1px;
  border-radius: 4px;
  z-index: 2500; }

.colorpicker:before,
.colorpicker:after {
  display: table;
  content: "";
  line-height: 0; }

.colorpicker:after {
  clear: both; }

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

.colorpicker:after {
  content: '';
  display: inline-block;
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-bottom: 6px solid #ffffff;
  position: absolute;
  top: -6px;
  left: 7px; }

.colorpicker div {
  position: relative; }

.colorpicker.colorpicker-with-alpha {
  min-width: 140px; }

.colorpicker.colorpicker-with-alpha .colorpicker-alpha {
  display: block; }

.colorpicker-color {
  height: 10px;
  margin-top: 5px;
  clear: both;
  background-image: url("../img/bootstrap-colorpicker/alpha.png");
  background-position: 0 100%; }

.colorpicker-color div {
  height: 10px; }

.colorpicker-selectors {
  display: none;
  height: 10px;
  margin-top: 5px;
  clear: both; }

.colorpicker-selectors i {
  cursor: pointer;
  float: left;
  height: 10px;
  width: 10px; }

.colorpicker-selectors i + i {
  margin-left: 3px; }

.colorpicker-element .input-group-addon i,
.colorpicker-element .add-on i {
  display: inline-block;
  cursor: pointer;
  height: 16px;
  vertical-align: text-top;
  width: 16px; }

.colorpicker.colorpicker-inline {
  position: relative;
  display: inline-block;
  float: none;
  z-index: auto; }

.colorpicker.colorpicker-horizontal {
  width: 110px;
  min-width: 110px;
  height: auto; }

.colorpicker.colorpicker-horizontal .colorpicker-saturation {
  margin-bottom: 4px; }

.colorpicker.colorpicker-horizontal .colorpicker-color {
  width: 100px; }

.colorpicker.colorpicker-horizontal .colorpicker-hue,
.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  width: 100px;
  height: 15px;
  float: left;
  cursor: col-resize;
  margin-left: 0px;
  margin-bottom: 4px; }

.colorpicker.colorpicker-horizontal .colorpicker-hue i,
.colorpicker.colorpicker-horizontal .colorpicker-alpha i {
  display: block;
  height: 15px;
  background: #ffffff;
  position: absolute;
  top: 0;
  left: 0;
  width: 1px;
  border: none;
  margin-top: 0px; }

.colorpicker.colorpicker-horizontal .colorpicker-hue {
  background-image: url("../img/bootstrap-colorpicker/hue-horizontal.png"); }

.colorpicker.colorpicker-horizontal .colorpicker-alpha {
  background-image: url("../img/bootstrap-colorpicker/alpha-horizontal.png"); }

.colorpicker-right:before {
  left: auto;
  right: 6px; }

.colorpicker-right:after {
  left: auto;
  right: 7px; }

.colorpicker-no-arrow:before {
  border-right: 0;
  border-left: 0; }

.colorpicker-no-arrow:after {
  border-right: 0;
  border-left: 0; }

.colorpicker.colorpicker-visible,
.colorpicker-alpha.colorpicker-visible,
.colorpicker-saturation.colorpicker-visible,
.colorpicker-hue.colorpicker-visible,
.colorpicker-selectors.colorpicker-visible {
  display: block; }

.colorpicker.colorpicker-hidden,
.colorpicker-alpha.colorpicker-hidden,
.colorpicker-saturation.colorpicker-hidden,
.colorpicker-hue.colorpicker-hidden,
.colorpicker-selectors.colorpicker-hidden {
  display: none; }

.colorpicker-inline.colorpicker-visible {
  display: inline-block; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfZm91bmRhdGlvbi1zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Jvdy5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fYnJlYWtwb2ludC5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19jb2x1bW4uc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19oZWxwZXJzLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24uc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fY2hlY2tib3guc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2lucHV0LWdyb3VwLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZmllbGRzZXQuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19lcnJvci5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxvYXQuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvbW90aW9uLXVpL3NyYy9fc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fZmFkZS5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3pvb20uc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiYXBwLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2hlbHBlcnMvX2dsb2JhbC1zZXR0aW5ncy5zY3NzIiwiX2FwcC1zZXR0aW5ncy5zY3NzIiwiX2ZvbnRzLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvbGF5b3V0L19sYXlvdXQuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3Mvc2V0dGluZ3MvX2xheW91dC1zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9oZWxwZXJzL19taXhpbnMuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9sYXlvdXQvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3Mvc2V0dGluZ3MvY29tcG9uZW50cy9fdG9wLWJhci1zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9oZWxwZXJzL19mdW5jdGlvbnMuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9sYXlvdXQvX2NvbnRlbnQtaGVhZGVyLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL3NldHRpbmdzL2NvbXBvbmVudHMvX2NvbnRlbnQtaGVhZGVyLXNldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvbGF5b3V0L19jb250ZW50LnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvbGF5b3V0L19uYXYuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3Mvc2V0dGluZ3MvY29tcG9uZW50cy9fbmF2LXNldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvbGF5b3V0L19hc2lkZS5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9zZXR0aW5ncy9jb21wb25lbnRzL19hc2lkZS1zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL2xheW91dC9fZm9vdGVyLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvbGF5b3V0L19mbGV4LWdyaWQuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9faGFtYnVyZ2Vycy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19kYXRlcGlja2VyLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL3NldHRpbmdzL2NvbXBvbmVudHMvX2RhdGVwaWNrZXItc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9oYW1idXJnZXJzL19zYXNzL2hhbWJ1cmdlcnMvaGFtYnVyZ2Vycy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9zZXR0aW5ncy9faGFtYnVyZ2Vycy1zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2hhbWJ1cmdlcnMvX3Nhc3MvaGFtYnVyZ2Vycy90eXBlcy9fYXJyb3cuc2NzcyIsIi4uLy4uLy4uL3dlYi92ZW5kb3IvZm91bmRhdGlvbi1kYXRlcGlja2VyL3Njc3MvZm91bmRhdGlvbi1kYXRlcGlja2VyLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL21hZ25pZmljLXBvcHVwL3NyYy9jc3MvbWFpbi5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9tYWduaWZpYy1wb3B1cC9zcmMvY3NzL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vd2ViL3ZlbmRvci9zcGlubmVycy9zdHlsZXNoZWV0cy9fc3Bpbm5lcnMuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9faWNvbnMuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fbG9hZGluZy1zcGlubmVycy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9zZXR0aW5ncy9jb21wb25lbnRzL19sb2FkaW5nLXNwaW5uZXJzLXNldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2Zvcm0tZWxlbWVudHMuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3Mvc2V0dGluZ3MvX2Zvcm0tZWxlbWVudHMtc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fdHlwb2dyYXBoeS1lbGVtZW50cy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1saXN0LnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fbGlzdC5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9wcm90b3R5cGVzL3NldHRpbmdzL190YWJsZS1yZXNwb25zaXZlLXNldHRpbmdzLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL3NldHRpbmdzL2NvbXBvbmVudHMvX2xpc3Qtc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fbG9naW4tc2NyZWVuLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL3NldHRpbmdzL2NvbXBvbmVudHMvX2xvZ2luLXNjcmVlbi1zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vdmVuZG9yL0RTL0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9wcm90b3R5cGVzL2NvbXBvbmVudHMvX3RhYmxlLXJlc3BvbnNpdmUuc2NzcyIsIi4uLy4uLy4uL3ZlbmRvci9EUy9EUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9fc29uYXRhLXRhYmxlLnNjc3MiLCIuLi8uLi8uLi92ZW5kb3IvRFMvRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL3NldHRpbmdzL2NvbXBvbmVudHMvX3NvbmF0YS10YWJsZS1zZXR0aW5ncy5zY3NzIiwiY3VzdG9tL19zb25hdGEtZ2xvYmFsLnNjc3MiLCJjdXN0b20vX3NvbmF0YS10YWJsZS1ncmlkLnNjc3MiLCJjdXN0b20vX21haW4uc2NzcyIsImN1c3RvbS9fbWl4aW5zLnNjc3MiLCJjdXN0b20vX2Rhc2hib2FyZHMuc2NzcyIsImN1c3RvbS9fZGFpbHktY29uc3RydWN0aW9uLXJlY29yZC5zY3NzIiwiY3VzdG9tL19lbWFpbC1sb2cuc2NzcyIsImN1c3RvbS9fZW1haWwuc2NzcyIsImN1c3RvbS9fam9iLWludGVydmlldy5zY3NzIiwiY3VzdG9tL19qb2Itb3JkZXIuc2NzcyIsImN1c3RvbS9fam9iLW9yZGVyLWF0dGVuZGFuY2Uuc2NzcyIsImN1c3RvbS9fdG9vbC5zY3NzIiwiY3VzdG9tL19wYWdpbmF0aW9uLnNjc3MiLCJjdXN0b20vX3BheW1lbnQuc2NzcyIsImN1c3RvbS9fcGVyc29uLnNjc3MiLCJjdXN0b20vX3B1cmNoYXNlci5zY3NzIiwiY3VzdG9tL19zd2l0Y2guc2NzcyIsImhlbHBlcnMvX3V0aWxzLnNjc3MiLCIuLi8uLi8uLi93ZWIvdmVuZG9yL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9zcmMvc2Fzcy9fY29sb3JwaWNrZXIuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxpQkFBaUI7QUNBakI7Ozs7O0dBS0c7QUMrTUQsNEVBQTRFO0FBRTVFOzs7O0tBSUc7QUFFSDtFQUNFLHdCQUF3QjtFQUFFLE9BQU87RUFDakMsMkJBQTJCO0VBQUUsT0FBTztFQUNwQywrQkFBK0I7RUFBRSxPQUFPLEVBQ3pDOztBQUVEOztLQUVHO0FBRUg7RUFDRSxVQUFVLEVBQ1g7O0FBRUQ7a0ZBQ2dGO0FBRWhGOzs7OztLQUtHO0FBRUg7Ozs7Ozs7Ozs7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O0lBQ2hCLGlCQUFpQjtJQUNqQixlQUFlO0lBQ2YsZ0JBQWdCLEVBQ2pCOztBQU1DO0VBQ0UsdUJJdEtnQjtNSnNLaEIsbUJJdEtnQjtFSnVLaEIsb0JJdktnQixFSndLakI7O0FBS0Q7RUtuS0osZ0JEYnNCLEVKa0xqQjs7QUFWRDtFQUNFLHVCSXRLZ0I7TUpzS2hCLG1CSXRLZ0I7RUp1S2hCLG9CSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLHNCRFZzQixFSitLakI7O0FBVkQ7RUFDRSxvQkl0S2dCO01Kc0toQixnQkl0S2dCO0VKdUtoQixpQkl2S2dCLEVKd0tqQjs7QUFLRDtFS25LSixzQkRWc0IsRUorS2pCOztBQVZEO0VBQ0Usd0JJdEtnQjtNSnNLaEIsb0JJdEtnQjtFSnVLaEIscUJJdktnQixFSndLakI7O0FBS0Q7RUtuS0osbUJEVnNCLEVKK0tqQjs7QUFWRDtFQUNFLHdCSXRLZ0I7TUpzS2hCLG9CSXRLZ0I7RUp1S2hCLHFCSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLHVCRFZzQixFSitLakI7O0FBVkQ7RUFDRSxrQkl0S2dCO01Kc0toQixjSXRLZ0I7RUp1S2hCLGVJdktnQixFSndLakI7O0FBS0Q7RUtuS0osdUJEVnNCLEVKK0tqQjs7QUFWRDtFQUNFLHdCSXRLZ0I7TUpzS2hCLG9CSXRLZ0I7RUp1S2hCLHFCSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLGlCRFZzQixFSitLakI7O0FBVkQ7RUFDRSx3Qkl0S2dCO01Kc0toQixvQkl0S2dCO0VKdUtoQixxQkl2S2dCLEVKd0tqQjs7QUFLRDtFS25LSix1QkRWc0IsRUorS2pCOztBQVZEO0VBQ0Usb0JJdEtnQjtNSnNLaEIsZ0JJdEtnQjtFSnVLaEIsaUJJdktnQixFSndLakI7O0FBS0Q7RUtuS0osdUJEVnNCLEVKK0tqQjs7QUFWRDtFQUNFLHdCSXRLZ0I7TUpzS2hCLG9CSXRLZ0I7RUp1S2hCLHFCSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLG1CRFZzQixFSitLakI7O0FBVkQ7RUFDRSx3Qkl0S2dCO01Kc0toQixvQkl0S2dCO0VKdUtoQixxQkl2S2dCLEVKd0tqQjs7QUFLRDtFS25LSix1QkRWc0IsRUorS2pCOztBQVZEO0VBQ0Usa0JJdEtnQjtNSnNLaEIsY0l0S2dCO0VKdUtoQixlSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLHVCRFZzQixFSitLakI7O0FBVkQ7RUFDRSx3Qkl0S2dCO01Kc0toQixvQkl0S2dCO0VKdUtoQixxQkl2S2dCLEVKd0tqQjs7QUFLRDtFS25LSixpQkRWc0IsRUorS2pCOztBQVZEO0VBQ0Usd0JJdEtnQjtNSnNLaEIsb0JJdEtnQjtFSnVLaEIscUJJdktnQixFSndLakI7O0FBS0Q7RUtuS0osdUJEVnNCLEVKK0tqQjs7QUFWRDtFQUNFLG9CSXRLZ0I7TUpzS2hCLGdCSXRLZ0I7RUp1S2hCLGlCSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLHVCRFZzQixFSitLakI7O0FBVkQ7RUFDRSx3Qkl0S2dCO01Kc0toQixvQkl0S2dCO0VKdUtoQixxQkl2S2dCLEVKd0tqQjs7QUFLRDtFS25LSixtQkRWc0IsRUorS2pCOztBQVZEO0VBQ0Usd0JJdEtnQjtNSnNLaEIsb0JJdEtnQjtFSnVLaEIscUJJdktnQixFSndLakI7O0FBS0Q7RUtuS0osdUJEVnNCLEVKK0tqQjs7QUFWRDtFQUNFLGtCSXRLZ0I7TUpzS2hCLGNJdEtnQjtFSnVLaEIsZUl2S2dCLEVKd0tqQjs7QUFLRDtFS25LSix1QkRWc0IsRUorS2pCOztBQVZEO0VBQ0Usd0JJdEtnQjtNSnNLaEIsb0JJdEtnQjtFSnVLaEIscUJJdktnQixFSndLakI7O0FBS0Q7RUtuS0osaUJEVnNCLEVKK0tqQjs7QUFWRDtFQUNFLHdCSXRLZ0I7TUpzS2hCLG9CSXRLZ0I7RUp1S2hCLHFCSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLHVCRFZzQixFSitLakI7O0FBVkQ7RUFDRSxvQkl0S2dCO01Kc0toQixnQkl0S2dCO0VKdUtoQixpQkl2S2dCLEVKd0tqQjs7QUFLRDtFS25LSix1QkRWc0IsRUorS2pCOztBQVZEO0VBQ0Usd0JJdEtnQjtNSnNLaEIsb0JJdEtnQjtFSnVLaEIscUJJdktnQixFSndLakI7O0FBS0Q7RUtuS0osbUJEVnNCLEVKK0tqQjs7QUFWRDtFQUNFLHdCSXRLZ0I7TUpzS2hCLG9CSXRLZ0I7RUp1S2hCLHFCSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLHVCRFZzQixFSitLakI7O0FBVkQ7RUFDRSxtQkl0S2dCO01Kc0toQixlSXRLZ0I7RUp1S2hCLGdCSXZLZ0IsRUp3S2pCOztBQUtEO0VLbktKLHVCRFZzQixFSitLakI7O0FBS0Q7RU0vSUosa0JOOElnQjtNTTlJaEIsU044SWdCLEVBR1g7O0FBRkQ7RU0vSUosa0JOOElnQjtNTTlJaEIsU044SWdCLEVBR1g7O0FBRkQ7RU0vSUosa0JOOElnQjtNTTlJaEIsU044SWdCLEVBR1g7O0FBRkQ7RU0vSUosa0JOOElnQjtNTTlJaEIsU044SWdCLEVBR1g7O0FBRkQ7RU0vSUosa0JOOElnQjtNTTlJaEIsU044SWdCLEVBR1g7O0FBRkQ7RU0vSUosa0JOOElnQjtNTTlJaEIsU044SWdCLEVBR1g7O0FBS0Q7RUFuR0osb0JBQWdCO01BQWhCLGdCQUFnQixFQXFHWDtFQW5HSDtJQUdBLG1CQUZnQjtRQUVoQixlQUZnQjtJQUdoQixnQkFIZ0IsRUFJakI7O0FBNEZHO0VBbkdKLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUFxR1g7RUFuR0g7SUFHQSxrQkFGZ0I7UUFFaEIsY0FGZ0I7SUFHaEIsZUFIZ0IsRUFJakI7O0FBNEZHO0VBbkdKLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUFxR1g7RUFuR0g7SUFHQSx3QkFGZ0I7UUFFaEIsb0JBRmdCO0lBR2hCLHFCQUhnQixFQUlqQjs7QUE0Rkc7RUFuR0osb0JBQWdCO01BQWhCLGdCQUFnQixFQXFHWDtFQW5HSDtJQUdBLGtCQUZnQjtRQUVoQixjQUZnQjtJQUdoQixlQUhnQixFQUlqQjs7QUE0Rkc7RUFuR0osb0JBQWdCO01BQWhCLGdCQUFnQixFQXFHWDtFQW5HSDtJQUdBLGtCQUZnQjtRQUVoQixjQUZnQjtJQUdoQixlQUhnQixFQUlqQjs7QUE0Rkc7RUFuR0osb0JBQWdCO01BQWhCLGdCQUFnQixFQXFHWDtFQW5HSDtJQUdBLHdCQUZnQjtRQUVoQixvQkFGZ0I7SUFHaEIscUJBSGdCLEVBSWpCOztBQTRGRztFQW5HSixvQkFBZ0I7TUFBaEIsZ0JBQWdCLEVBcUdYO0VBbkdIO0lBR0Esd0JBRmdCO1FBRWhCLG9CQUZnQjtJQUdoQixxQkFIZ0IsRUFJakI7O0FBNEZHO0VBbkdKLG9CQUFnQjtNQUFoQixnQkFBZ0IsRUFxR1g7RUFuR0g7SUFHQSxvQkFGZ0I7UUFFaEIsZ0JBRmdCO0lBR2hCLGlCQUhnQixFQUlqQjs7QUF3SEM7RUcxT0YsZ0JBQWdCO0VBQ2hCLGlCQUFpQixFSDBPNkI7O0FBRzVDO0VHck9GLHVCQURpQjtFQUVqQix3QkFGaUIsRUh5T3dDOztBRXhHdkQ7RUYrQ0U7SUFDRSx1Qkl0S2dCO1FKc0toQixtQkl0S2dCO0lKdUtoQixvQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGdCRGJzQixFSmtMakI7RUFWRDtJQUNFLHVCSXRLZ0I7UUpzS2hCLG1CSXRLZ0I7SUp1S2hCLG9CSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osc0JEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSixzQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usa0JJdEtnQjtRSnNLaEIsY0l0S2dCO0lKdUtoQixlSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixpQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLG9CSXRLZ0I7UUpzS2hCLGdCSXRLZ0I7SUp1S2hCLGlCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixtQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLGtCSXRLZ0I7UUpzS2hCLGNJdEtnQjtJSnVLaEIsZUl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osaUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxvQkl0S2dCO1FKc0toQixnQkl0S2dCO0lKdUtoQixpQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osbUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxrQkl0S2dCO1FKc0toQixjSXRLZ0I7SUp1S2hCLGVJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGlCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0UsbUJJdEtnQjtRSnNLaEIsZUl0S2dCO0lKdUtoQixnQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFLRDtJTS9JSixrQk44SWdCO1FNOUloQixTTjhJZ0IsRUFHWDtFQUZEO0lNL0lKLGtCTjhJZ0I7UU05SWhCLFNOOElnQixFQUdYO0VBRkQ7SU0vSUosa0JOOElnQjtRTTlJaEIsU044SWdCLEVBR1g7RUFGRDtJTS9JSixrQk44SWdCO1FNOUloQixTTjhJZ0IsRUFHWDtFQUZEO0lNL0lKLGtCTjhJZ0I7UU05SWhCLFNOOElnQixFQUdYO0VBRkQ7SU0vSUosa0JOOElnQjtRTTlJaEIsU044SWdCLEVBR1g7RUFLRDtJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0EsbUJBRmdCO1VBRWhCLGVBRmdCO01BR2hCLGdCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esa0JBRmdCO1VBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSx3QkFGZ0I7VUFFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esa0JBRmdCO1VBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSxrQkFGZ0I7VUFFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUE0Rkc7SUFuR0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQXFHWDtJQW5HSDtNQUdBLHdCQUZnQjtVQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSx3QkFGZ0I7VUFFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esb0JBRmdCO1VBRWhCLGdCQUZnQjtNQUdoQixpQkFIZ0IsRUFJakIsRUFBQTs7QUV1QkM7RUY2RUk7SUFDRSxrQkF2S007UUF1S04sY0F2S00sRUF3S1AsRUFBQTs7QUFLRDtFQUVJLG1CQUEyQjtNQUEzQixlQUEyQixFQUs1QjtFRTNGUDtJRm9GSTtNQUtNLGtCQWxMRTtVQWtMRixjQWxMRSxFQW9MTCxFQUFBOztBRTNGUDtFRmlHQTtJRzFPRixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVIME82QjtFQUc1QztJR3JPRix1QkFEaUI7SUFFakIsd0JBRmlCLEVIeU93QyxFQUFBOztBRXhHdkQ7RUYrQ0U7SUFDRSx1Qkl0S2dCO1FKc0toQixtQkl0S2dCO0lKdUtoQixvQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGdCRGJzQixFSmtMakI7RUFWRDtJQUNFLHVCSXRLZ0I7UUpzS2hCLG1CSXRLZ0I7SUp1S2hCLG9CSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osc0JEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSixzQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usa0JJdEtnQjtRSnNLaEIsY0l0S2dCO0lKdUtoQixlSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixpQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLG9CSXRLZ0I7UUpzS2hCLGdCSXRLZ0I7SUp1S2hCLGlCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixtQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLGtCSXRLZ0I7UUpzS2hCLGNJdEtnQjtJSnVLaEIsZUl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osaUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxvQkl0S2dCO1FKc0toQixnQkl0S2dCO0lKdUtoQixpQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osbUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxrQkl0S2dCO1FKc0toQixjSXRLZ0I7SUp1S2hCLGVJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGlCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0UsbUJJdEtnQjtRSnNLaEIsZUl0S2dCO0lKdUtoQixnQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFLRDtJTS9JSixrQk44SWdCO1FNOUloQixTTjhJZ0IsRUFHWDtFQUZEO0lNL0lKLGtCTjhJZ0I7UU05SWhCLFNOOElnQixFQUdYO0VBRkQ7SU0vSUosa0JOOElnQjtRTTlJaEIsU044SWdCLEVBR1g7RUFGRDtJTS9JSixrQk44SWdCO1FNOUloQixTTjhJZ0IsRUFHWDtFQUZEO0lNL0lKLGtCTjhJZ0I7UU05SWhCLFNOOElnQixFQUdYO0VBRkQ7SU0vSUosa0JOOElnQjtRTTlJaEIsU044SWdCLEVBR1g7RUFLRDtJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0EsbUJBRmdCO1VBRWhCLGVBRmdCO01BR2hCLGdCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esa0JBRmdCO1VBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSx3QkFGZ0I7VUFFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esa0JBRmdCO1VBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSxrQkFGZ0I7VUFFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUE0Rkc7SUFuR0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQXFHWDtJQW5HSDtNQUdBLHdCQUZnQjtVQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSx3QkFGZ0I7VUFFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esb0JBRmdCO1VBRWhCLGdCQUZnQjtNQUdoQixpQkFIZ0IsRUFJakIsRUFBQTs7QUV1QkM7RUY2RUk7SUFDRSxrQkF2S007UUF1S04sY0F2S00sRUF3S1AsRUFBQTs7QUFLRDtFQUVJLG1CQUEyQjtNQUEzQixlQUEyQixFQUs1QjtFRTNGUDtJRm9GSTtNQUtNLGtCQWxMRTtVQWtMRixjQWxMRSxFQW9MTCxFQUFBOztBRTNGUDtFRmlHQTtJRzFPRixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVIME82QjtFQUc1QztJR3JPRix3QkFEaUI7SUFFakIseUJBRmlCLEVIeU93QyxFQUFBOztBRXhHdkQ7RUYrQ0U7SUFDRSx1Qkl0S2dCO1FKc0toQixtQkl0S2dCO0lKdUtoQixvQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGdCRGJzQixFSmtMakI7RUFWRDtJQUNFLHVCSXRLZ0I7UUpzS2hCLG1CSXRLZ0I7SUp1S2hCLG9CSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osc0JEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSixzQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usa0JJdEtnQjtRSnNLaEIsY0l0S2dCO0lKdUtoQixlSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixpQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLG9CSXRLZ0I7UUpzS2hCLGdCSXRLZ0I7SUp1S2hCLGlCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixtQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLGtCSXRLZ0I7UUpzS2hCLGNJdEtnQjtJSnVLaEIsZUl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osaUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxvQkl0S2dCO1FKc0toQixnQkl0S2dCO0lKdUtoQixpQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osbUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxrQkl0S2dCO1FKc0toQixjSXRLZ0I7SUp1S2hCLGVJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGlCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtn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SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usa0JJdEtnQjtRSnNLaEIsY0l0S2dCO0lKdUtoQixlSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixpQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLG9CSXRLZ0I7UUpzS2hCLGdCSXRLZ0I7SUp1S2hCLGlCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixtQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLGtCSXRLZ0I7UUpzS2hCLGNJdEtnQjtJSnVLaEIsZUl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osaUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxvQkl0S2dCO1FKc0toQixnQkl0S2dCO0lKdUtoQixpQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osbUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxrQkl0S2dCO1FKc0toQixjSXRLZ0I7SUp1S2hCLGVJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGlCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0UsbUJJdEtnQjtRSnNLaEIsZUl0S2dCO0lKdUtoQixnQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFLRDtJTS9JSixrQk44SWdCO1FNOUloQixTTjhJZ0IsRUFHWDtFQUZEO0lNL0lKLGtCTjhJZ0I7UU05SWhCLFNOOElnQixFQUdYO0VBRkQ7SU0vSUosa0JOOElnQjtRTTlJaEIsU044SWdCLEVBR1g7RUFGRDtJTS9JSixrQk44SWdCO1FNOUloQixTTjhJZ0IsRUFHWDtFQUZEO0lNL0lKLGtCTjhJZ0I7UU05SWhCLFNOOElnQixFQUdYO0VBRkQ7SU0vSUosa0JOOElnQjtRTTlJaEIsU044SWdCLEVBR1g7RUFLRDtJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0EsbUJBRmdCO1VBRWhCLGVBRmdCO01BR2hCLGdCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esa0JBRmdCO1VBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSx3QkFGZ0I7VUFFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esa0JBRmdCO1VBRWhCLGNBRmdCO01BR2hCLGVBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSxrQkFGZ0I7VUFFaEIsY0FGZ0I7TUFHaEIsZUFIZ0IsRUFJakI7RUE0Rkc7SUFuR0osb0JBQWdCO1FBQWhCLGdCQUFnQixFQXFHWDtJQW5HSDtNQUdBLHdCQUZnQjtVQUVoQixvQkFGZ0I7TUFHaEIscUJBSGdCLEVBSWpCO0VBNEZHO0lBbkdKLG9CQUFnQjtRQUFoQixnQkFBZ0IsRUFxR1g7SUFuR0g7TUFHQSx3QkFGZ0I7VUFFaEIsb0JBRmdCO01BR2hCLHFCQUhnQixFQUlqQjtFQTRGRztJQW5HSixvQkFBZ0I7UUFBaEIsZ0JBQWdCLEVBcUdYO0lBbkdIO01BR0Esb0JBRmdCO1VBRWhCLGdCQUZnQjtNQUdoQixpQkFIZ0IsRUFJakIsRUFBQTs7QUV1QkM7RUY2RUk7SUFDRSxrQkF2S007UUF1S04sY0F2S00sRUF3S1AsRUFBQTs7QUFLRDtFQUVJLG1CQUEyQjtNQUEzQixlQUEyQixFQUs1QjtFRTNGUDtJRm9GSTtNQUtNLGtCQWxMRTtVQWtMRixjQWxMRSxFQW9MTCxFQUFBOztBRTNGUDtFRmlHQTtJRzFPRixnQkFBZ0I7SUFDaEIsaUJBQWlCLEVIME82QjtFQUc1QztJR3JPRix3QkFEaUI7SUFFakIseUJBRmlCLEVIeU93QyxFQUFBOztBRXhHdkQ7RUYrQ0U7SUFDRSx1Qkl0S2dCO1FKc0toQixtQkl0S2dCO0lKdUtoQixvQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGdCRGJzQixFSmtMakI7RUFWRDtJQUNFLHVCSXRLZ0I7UUpzS2hCLG1CSXRLZ0I7SUp1S2hCLG9CSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osc0JEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSixzQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usa0JJdEtnQjtRSnNLaEIsY0l0S2dCO0lKdUtoQixlSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixpQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLG9CSXRLZ0I7UUpzS2hCLGdCSXRLZ0I7SUp1S2hCLGlCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSixtQkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLGtCSXRLZ0I7UUpzS2hCLGNJdEtnQjtJSnVLaEIsZUl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osaUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxvQkl0S2dCO1FKc0toQixnQkl0S2dCO0lKdUtoQixpQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLHVCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osbUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usd0JJdEtnQjtRSnNLaEIsb0JJdEtnQjtJSnVLaEIscUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSxrQkl0S2dCO1FKc0toQixjSXRLZ0I7SUp1S2hCLGVJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLGlCRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9CSXRLZ0I7SUp1S2hCLHFCSXZLZ0IsRUp3S2pCO0VBS0Q7SUtuS0osdUJEVnNCLEVKK0tqQjtFQVZEO0lBQ0Usb0JJdEtnQjtRSnNLaEIsZ0JJdEtnQjtJSnVLaEIsaUJJdktnQixFSndLakI7RUFLRDtJS25LSix1QkRWc0IsRUorS2pCO0VBVkQ7SUFDRSx3Qkl0S2dCO1FKc0toQixvQkl0S2dCO0lKdUtoQixxQkl2S2dCLEVKd0tqQjtFQUtEO0lLbktKLG1CRFZzQixFSitLakI7RUFWRDtJQUNFLHdCSXRLZ0I7UUpzS2hCLG9C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Q2tCLEVDRWY7O0FBRUQ7RUQ4Q0YseUJBbERrQjtNQWtEbEIscUJBbERrQixFQ01mOztBQU5EO0VEa0NGLHVCQWpDZ0I7TUFpQ2hCLG9CQWpDZ0IsRUNDYjs7QUFFRDtFRDhDRiw0QkFqRGdCO01BaURoQiwyQkFqRGdCO01BaURoQixtQkFqRGdCLEVDS2I7O0FBTkQ7RURrQ0Ysd0JBaENrQjtNQWdDbEIscUJBaENrQixFQ0FmOztBQUVEO0VEOENGLDZCQWhEa0I7TUFnRGxCLDRCQWhEa0I7TUFnRGxCLG9CQWhEa0IsRUNJZjs7QUFNQztFRDRDSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QUFGRDtFRDRDSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QUFGRDtFRDRDSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QUFGRDtFRDRDSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QUFGRDtFRDRDSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QUFGRDtFRDRDSixrQkM3Q2dCO01ENkNoQixTQzdDZ0IsRUFHWDs7QUwySEg7RUs3SEU7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYLEVBQUE7O0FMMkhIO0VLN0hFO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBTDJISDtFSzdIRTtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1gsRUFBQTs7QUwySEg7RUs3SEU7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYLEVBQUE7O0FMMkhIO0VLN0hFO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWDtFQUZEO0lENENKLGtCQzdDZ0I7UUQ2Q2hCLFNDN0NnQixFQUdYO0VBRkQ7SUQ0Q0osa0JDN0NnQjtRRDZDaEIsU0M3Q2dCLEVBR1g7RUFGRDtJRDRDSixrQkM3Q2dCO1FENkNoQixTQzdDZ0IsRUFHWCxFQUFBOztBQytNTDs7Ozs7Ozs7Ozs7Ozs7Ozs7OztFQW1CRSxVQUFVO0VBQ1YsV0FBVyxFQUNaOztBQUdEO0VBQ0UsbUJBQW1CO0VBQ25CLGlCVnpIc0I7RVUwSHRCLG9CVnpIMEI7RVUwSDFCLG1DVnpIeUMsRVUwSDFDOztBQUdEOztFQUVFLG1CQUFtQjtFQUNuQixxQkFBcUIsRUFDdEI7O0FBR0Q7O0VBRUUsa0JWM01xQjtFVTRNckIscUJBQXFCLEVBQ3RCOztBQUdEO0VBQ0UsZVZoSmlCO0VVaUpqQixxQkFBcUIsRUFDdEI7O0FBR0Q7Ozs7OztFQU1FLGdFVmpPaUU7RVVrT2pFLGtCVjdOcUI7RVU4TnJCLG1CVjdMc0I7RVU4THRCLGVWbFBjO0VVbVBkLG1DVmhLc0M7RVVpS3RDLGNBQWM7RUFDZCxzQlZuS3lCO0VVb0t6QixpQlZyS21CLEVVMktwQjtFQW5CRDs7Ozs7O0lBZ0JJLGVWalBlO0lVa1BmLGVBQWUsRUFDaEI7O0FBT0c7RUFDRSxxQkNyT1ksRURzT2I7O0FBRkQ7RUFDRSxtQkNyT1ksRURzT2I7O0FBRkQ7RUFDRSxxQkNyT1ksRURzT2I7O0FBRkQ7RUFDRSxvQkNyT1ksRURzT2I7O0FBRkQ7RUFDRSxnQkNyT1ksRURzT2I7O0FBRkQ7RUFDRSxnQkNyT1ksRURzT2I7O0FObktMO0VNaUtJO0lBQ0Usb0JDck9ZLEVEc09iO0VBRkQ7SUFDRSxxQkNyT1ksRURzT2I7RUFGRDtJQUNFLG1CQ3JPWSxFRHNPYjtFQUZEO0lBQ0UscUJDck9ZLEVEc09iO0VBRkQ7SUFDRSxnQkNyT1ksRURzT2I7RUFGRDtJQUNFLGdCQ3JPWSxFRHNPYixFQUFBOztBTm5LTDtFTWlLSTtJQUNFLHFCQ3JPWSxFRHNPYjtFQUZEO0lBQ0Usb0JDck9ZLEVEc09iO0VBRkQ7SUFDRSxvQkNyT1ksRURzT2I7RUFGRDtJQUNFLG1CQ3JPWSxFRHNPYjtFQUZEO0lBQ0Usb0JDck9ZLEVEc09iO0VBRkQ7SUFDRSxnQkNyT1ksRURzT2IsRUFBQTs7QUFNUDtFQUNFLGVWM1FjO0VVNFFkLHNCVjNLeUI7RVU0S3pCLHFCQUFxQjtFQUNyQixnQkFBZ0IsRUFhakI7RUFqQkQ7SUFRSSxlVmxMMEIsRVVzTDNCO0VBWkg7SUFlSSxVQUFVLEVBQ1g7O0FBSUg7RUFDRSxnQlZsU2U7RVVtU2YsVUFBVTtFQUNWLGdCQUFnQjtFQUNoQixjQUFjO0VBQ2QsaUNWM1JpQjtFVTRSakIsZUFBZTtFQUNmLHFCVmhNeUI7RVVpTXpCLFlBQVksRUFDYjs7QUFHRDs7O0VBR0UsaUJWdk5zQjtFVXdOdEIsb0JWdk4wQjtFVXdOMUIsNkJWdE15QixFVXVNMUI7O0FBR0Q7RUFDRSxtQkFBbUIsRUFDcEI7O0FBR0Q7RUFDRSxzQlZqTmtCO0VVa05sQixxQlZoTnNCLEVVaU52Qjs7QUFHRDtFQUNFLHFCVnJOc0IsRVVzTnZCOztBQUdEO0VBRUkscUJWMU4yQjtFVTJOM0IsaUJBQWlCLEVBQ2xCOztBQUlIO0VBQ0Usb0JWaE95QixFVXNPMUI7RUFQRDtJQUlJLHNCVmpPOEI7SVVrTzlCLGtCVjdUbUIsRVU4VHBCOztBQUlIO0VBQ0UsaUJWL1AwQjtFVWdRMUIsdUNDelRrQjtFRDBUbEIsK0JWaFZpQixFVXNWbEI7RUFURDtJQU1JLGlCVnJRb0I7SVVzUXBCLGVWblZhLEVVb1ZkOztBQUlIO0VBQ0UsZUFBZTtFQUNmLHFCQ3JVa0I7RURzVWxCLGVWM1ZlLEVVZ1doQjtFQVJEO0lBTUksdUJBQXVCLEVBQ3hCOztBQUlIO0VBQ0UsZVY1V2dCO0VVNldoQixhQUFhO0VBQ2Isa0NWcldXLEVVc1daOztBQUdEO0VBQ0UsNkRWL1RtRTtFVWdVbkUsb0JWbld5QjtFVW9XekIsZVY1V1c7RVU2V1gsMEJWaFhnQjtFVWlYaEIsMEJWaFhpQjtFVWlYakIsc0NDM1ZrQixFRDRWbkI7O0FBR0Q7RUFDRSw0QkMzVlM7RUQ0VlQsVUFBVTtFQUNWLDBCVnpYZ0I7RVUwWGhCLGVWdlhXO0VVd1hYLDZEVjdVbUUsRVVrVnBFOztBRTFZRDtFQUNFLG1CWnFJeUI7RVlwSXpCLHNCWnFJNEI7RVlwSTVCLG9CWmtCeUI7RVlqQnpCLGlCWitIc0I7RVk5SHRCLGVaT2UsRVlOaEI7O0FBR0Q7RUFDRSxnQlp1SDhCO0VZdEg5QixpQlp1SGlCLEVZdEhsQjs7QUFHRDtFQUNFLGtCWndIbUI7RVl2SG5CLGVBQWUsRUFLaEI7RUFQRDtJQUtJLGtCQUFrQixFQUNuQjs7QUFJSDtFQUNFLGVBQWlDO0VBQ2pDLGlCQUFpQixF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d0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKUkg7RUVzQ0UsZ0NBRmlCO01BRWpCLDRCQUZpQixFRWhCaEI7O0FKbkJIO0VBYkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw2QkFGaUI7TUFFakIseUJBRmlCO0VDdkJmLHdDQUF3QztFQUcxQyxvQ0FBNEI7VUFBNUIsNEJBQTRCLEVDUjNCOztBSlBIO0VFcUNFLGdDQUZpQjtNQUVqQiw0QkFGaUIsRUVoQmhCOztBSmxCSDtFQWRBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNkJBRmlCO01BRWpCLHlCQUZpQjtFQ3ZCZix3Q0FBd0M7RUFHMUMsb0NBQTRCO1VBQTVCLDRCQUE0QixFQ1IzQjs7QUpOSDtFRW9DRSxpQ0FGaUI7TUFFakIsNkJBRmlCLEVFaEJoQjs7QUpqQkg7RUFmQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZpQjtNQUVqQix5QkFGaUI7RUN2QmYsd0NBQXdDO0VBRzFDLG9DQUE0QjtVQUE1Qiw0QkFBNEIsRUNSM0I7O0FKTEg7RUVtQ0UsaUNBRmlCO01BRWpCLDZCQUZpQixFRWhCaEI7O0FKZEg7RUFsQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRmhDa0M7RUtBbEMsNkJBQTZCLEVERTVCOztBSkZIO0VFZ0NFLFdGaENxQyxFSWNwQzs7QUpiSDtFQW5CQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGL0JrQztFS0RsQyw2QkFBNkIsRURFNUI7O0FKREg7RUUrQkUsV0YvQnFDLEVJYXBDOztBSlZIO0VBdEJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NJckNZO0VKcUNaLDBCQUZpQjtNQUVqQixzQkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBSkVIO0VFNEJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpUSDtFQXZCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDSXBDYztFSm9DZCw0QkFGaUI7TUFFakIsd0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpHSDtFRTJCRSw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0FKUkg7RUF4QkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4Q0luQ2U7RUptQ2YsNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKSUg7RUUwQkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSlBIO0VBekJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOENJbENhO0VKa0NiLDJCQUZpQjtNQUVqQix1QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVITjVCOztBSktIO0VFeUJFLDRDSVZzQztFQ0pwQyxXQUEyQixFSEo1Qjs7QUpOSDtFQTFCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLCtDSXJDWTtFSnFDWiw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUEyQixFSE41Qjs7QUpNSDtFRXdCRSw0Q0lWc0M7RUNKcEMsV0FBMkIsRUhKNUI7O0FKTEg7RUEzQkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0lwQ2M7RUpvQ2QsNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUhONUI7O0FKT0g7RUV1QkUsNENJVnNDO0VDSnBDLFdBQTJCLEVISjVCOztBSkpIO0VBNUJBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLDBCQUZpQjtNQUVqQixzQkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBSlFIO0VFc0JFLCtDSXJDWTtFQ3VCVixXQUE4QixFSEovQjs7QUpISDtFQTdCQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDSVJ3QztFSlF4Qyw0QkFGaUI7TUFFakIsd0JBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpTSDtFRXFCRSwrQ0lwQ2M7RUNzQlosV0FBOEIsRUhKL0I7O0FKRkg7RUE5QkEsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0lSd0M7RUpReEMsNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKVUg7RUVvQkUsOENJbkNlO0VDcUJiLFdBQThCLEVISi9COztBSkRIO0VBL0JBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNENJUndDO0VKUXhDLDJCQUZpQjtNQUVqQix1QkFGaUI7RUt2QmYsd0NBQXdDO0VBQ3hDLFdBQThCLEVITi9COztBSldIO0VFbUJFLDhDSWxDYTtFQ29CWCxXQUE4QixFSEovQjs7QUpBSDtFQWhDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDSVJ3QztFSlF4Qyw2QkFGaUI7TUFFakIseUJBRmlCO0VLdkJmLHdDQUF3QztFQUN4QyxXQUE4QixFSE4vQjs7QUpZSDtFRWtCRSwrQ0lyQ1k7RUN1QlYsV0FBOEIsRUhKL0I7O0FKQ0g7RUFqQ0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0lSd0M7RUpReEMsNkJBRmlCO01BRWpCLHlCQUZpQjtFS3ZCZix3Q0FBd0M7RUFDeEMsV0FBOEIsRUhOL0I7O0FKYUg7RUVpQkUsK0NJcENjO0VDc0JaLFdBQThCLEVISi9COztBSklIO0VBcENBLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsMEJBRmlCO01BRWpCLHNCQUZpQjtFTTNCZix3Q0FBd0M7RUFDeEMsV0FBMkIsRUpGNUI7O0FKZ0JIO0VFY0Usd0JBRmlCO01BRWpCLG9CQUZpQjtFTWhCZixXQUEyQixFSkE1Qjs7QUpLSDtFQXJDQSwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDBCQUZpQjtNQUVqQixzQkFGaUI7RU0zQmYsd0NBQXdDO0VBQ3hDLFdBQTJCLEVKRjVCOztBSmlCSDtFRWFFLHdCQUZpQjtNQUVqQixvQkFGaUI7RU1oQmYsV0FBMkIsRUpBNUI7O0FKTUg7RUF0Q0EsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYix3QkFGaUI7TUFFakIsb0JBRmlCO0VNM0JmLHdDQUF3QztF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RUFFcEQsRUFBQTs7QUZxQlQ7RUFDSSxlQUFlO0VBQ2YsbUJBQWU7TUFBZixlQUFlLEVBQ2xCOztBR3JGRDtFQUNJLGlCbkV5RFE7RW1FeERSLFlOb0JVO0VLTkUsa0J2RDZETTtFdUQ3RE4sbUJ2RDZETTtFd0R2RWQsMENuRW1ETztFbUVsRFAsb0JBQW9CLEVBOEczQjtFRC9GZTtJQ3RCaEI7TUR1Qm9CLGlCdkRzREUsRXdEd0NyQixFQUFBO0VEL0ZlO0lDdEJoQjtNRHVCb0Isa0J2RHNERSxFd0R3Q3JCLEVBQUE7RUQvRmU7SUN0QmhCO01EdUJvQixvQnZEc0RFLEV3RHdDckIsRUFBQTtFQXJIRDtJRGdCZ0IsWUpFRTtJSUZGLGtCdkQ2RE07SXdEL0RkLHFCQUFjO0lBQWQsY0FBYztJQUNkLHVCQUFvQjtRQUFwQixvQkFBb0I7SUFDcEIsZUFBZTtJQUNmLGlCbkV5Q0k7SW1FdkNKLG9CQUFvQjtJQUNwQixpQkFBaUI7SUFDakIsbUJBQW1CLEVBa0N0QjtJRGpDVztNQ3RCaEI7UUR1Qm9CLGdCdkRzREUsRXdEdEJqQixFQUFBO0lEakNXO01DdEJoQjtRRHVCb0IsZ0J2RHNERSxFd0R0QmpCLEVBQUE7SURqQ1c7TUN0QmhCO1FEdUJvQixhdkRzREUsRXdEdEJqQixFQUFBO0lEakNXO01DdEJoQjtRRHVCb0IsaUJ2RHNERSxFd0R0QmpCLEVBQUE7SURqQ1c7TUN0QmhCO1FEdUJvQixrQnZEc0RFLEV3RHRCakIsRUFBQTtJQXZETDtNQXdCZ0IscUJBQWM7TUFBZCxjQUFjO01BQ2QsdUJBQW9CO1VBQXBCLG9CQUFvQixFQU92QjtNQWhDYjtRRGdCZ0IsV0pGSDtRS2NPLFduRThCUjtRbUU3QlEsYUFBYTtRQUNiLGlCQUFpQixFQUNwQjtRRFREO1VDdEJoQjtZRHVCb0IsV0pSTCxFS2dCRSxFQUFBO0lBL0JqQjtNQTJDZ0IsbUJBQW1CO01BQ25CLFFBQVE7TUFDUixPQUFPO01BQ1AsVUFBVTtNQUNWLFNBQVM7TUFDVCxXQUFXO01BQ1gsZUFBZTtNQUNmLFlBQVk7TUFDWixpQkNWTTtNRFdOLHFCQUFxQixFQUN4QjtFQXJEYjtJQXlEUSxxQkFBYztJQUFkLGNBQWM7SUFDZCxtQkFBZTtRQUFmLGVBQWU7SUQxQ1AsV3ZEa0VILEV3REpSO0lEeERXO01DdEJoQjtRRHVCb0IsV3ZEMkRQLEV3REpSLEVBQUE7SUE5RUw7TUE2RFksWUFBWSxFQUNmO0lBOURUO01BZ0VZLGNuRWhCUTtNa0VoQ0osZ0J2RDZETTtNdUQ3RE4sZXZENkRNLEV3REFiO01EdkRPO1FDdEJoQjtVRHVCb0Isa0J2RHNERSxFd0RBYixFQUFBO01EdkRPO1FDdEJoQjtVRHVCb0IsaUJ2RHNERSxFd0RBYixFQUFBO01BN0VUO1FBc0VnQix1QnhET007UXVEN0ROLFl2RDZETTtRdUQ3RE4sYXZENkRNLEV3RERUO1FEdERHO1VDdEJoQjtZRHVCb0IsZ0J2RHNERSxFd0REVCxFQUFBO1FEdERHO1VDdEJoQjtZRHVCb0IsaUJ2RHNERSxFd0REVCxFQUFBO1FBNUViO1VBMEVvQiw2QkFBaUI7Y0FBakIseUJBQWlCLEVBQ3BCO0VBM0VqQjtJQWdGUSxpQkFBaUIsRUFDcEI7RUFqRkw7SUF1RndCLFluRTdCWjtJa0UxQ0ksK0J2RDZETTtJdUQ3RE4sdUJ2RDZETTtJdUQ3RE4sa0J2RDZETSxFd0RjRDtJRHJFTDtNQ3RCaEI7UUR1Qm9CLHVCdkRzREUsRXdEY0QsRUFBQTtJRHJFTDtNQ3RCaEI7UUR1Qm9CLHNCdkRzREUsRXdEY0QsRUFBQTtJRHJFTDtNQ3RCaEI7UUR1Qm9CLHVCdkRzREUsRXdEY0QsRUFBQTtJRHJFTDtNQ3RCaEI7UUR1Qm9CLGlCdkRzREUsRXdEY0QsRUFBQTtJRHJFTDtNQ3RCaEI7UUR1Qm9CLGtCdkRzREUsRXdEY0QsRUFBQTtFQTNGckI7SURnQmdCLHVCdkQ2RE0sRXdEMEJMO0lEakZEO01DdEJoQjtRRHVCb0Isd0J2RHNERSxFd0QwQkwsRUFBQTtJQXZHakI7TUFnR3dCLGVBQWU7TURoRnZCLG1CR0NRO01GaUZBLHVCbkV4Q1o7TW1FMENnQixtQkFBbUIsRUFFMUI7TURoRkw7UUN0QmhCO1VEdUJvQixtQkdOSSxFRnFGSCxFQUFBO01EaEZMO1FDdEJoQjtVRHVCb0IsbUJHTkksRUZxRkgsRUFBQTtFQXRHckI7SUF5R29CLGVuRXpEQTtJbUUwREEsZUNwRHFCO0lEcURyQiwwQkN2RGtDLEVEd0RyQztFQTVHakI7SUE4R29CLGVuRS9ERjtJbUVnRUUsaUJDeER5QjtJRHlEekIsMEJDNURrQyxFRDZEckM7O0FHaEdqQjtFQUNJLGlCdEV3Q1E7RXNFdkNSLGVDUHNCO0VEUXRCLFlBQVk7RUFDWixZVEVpQjtFU0RqQixpQ3RFaUNpQjtFa0V2Q0wsd0J2RGtFSCxFMkRoRFo7RUpaZTtJSUxoQjtNSk1vQix5QnZEMkRQLEUyRGhEWixFQUFBO0VBakJEO0lBWVEsZXRFa0JVO0lzRWpCVixrQlJtQnVCO0lJakNmLHVCdkRrRUgsRTJEakRSO0lKWFc7TUlMaEI7UUpNb0Isd0J2RDJEUCxFMkRqRFIsRUFBQTtJSlhXO01JTGhCO1FKTW9CLHFCdkRzREUsRTJENUNqQixFQUFBO0lKWFc7TUlMaEI7UUpNb0IscUJ2RHNERSxFMkQ1Q2pCLEVBQUE7SUpYVztNSUxoQjtRSk1vQixxQnZEc0RFLEUyRDVDakIsRUFBQTs7QUVqQ0w7RUFFUSxvQnhFb0RZLEV3RWxEbkI7O0FBQ0Q7RU5XZ0IseUJ2RGtFSCxFNkQxRVI7RU5jVztJTWpCaEI7TU5rQm9CLHVCdkQyRFAsRTZEMUVSLEVBQUE7O0FBRUw7RUFDSSxXQUFVLEVBQ2I7O0FDWkQ7RUFDSSwwQlhzRHVCO0VJdkNYLFlKb0RGLEVXakViO0VQbUJlO0lPdEJoQjtNUHVCb0IsZXZEc0RFLEU4RDFFckIsRUFBQTtFUG1CZTtJT3RCaEI7TVB1Qm9CLGdCdkRzREUsRThEMUVyQixFQUFBO0VQbUJlO0lPdEJoQjtNUHVCb0IsYXZEc0RFLEU4RDFFckIsRUFBQTs7QUFDRDtFQUNJLFVBQVU7RUFDVixxQkFBYztFQUFkLGNBQWM7RUFDZCwyQkFBdUI7TUFBdkIsdUJBQXVCO0VBQ3ZCLG1CQUFlO01BQWYsZUFBZTtFQUNmLG1CQUFtQjtFQUNuQixXQUFXO0VBQ1gsZ0JDWHVCO0VEWXZCLG1CQUFtQjtFQUNuQixpQkFBaUI7RUFDakIsa0NBQWtDO0VBQ2xDLDZDQUE2QztFQUM3Qyw0Q3pFeUNXLEV5RW1HZDtFQXhKRDtJQTZCUSxxQkFBYztJQUFkLGNBQWM7SUFDZCxtQkFBZTtRQUFmLGVBQWU7SUFDZiwyQkFBdUI7UUFBdkIsdUJBQXVCLEVBSTFCO0lBbkNMO01BaUNZLGtCQUFjO1VBQWQsY0FBYyxFQUNqQjtFQWxDVDtJQXFDUSxpQ1hXOEI7SUlwQ3RCLGdCUWR5QjtJUmN6QixtQnZENkRNLEU4RDBFakI7SVBqSVc7TU9sQmhCO1FQbUJvQixxQnZEc0RFLEU4RDBFakIsRUFBQTtJUGpJVztNT2xCaEI7UVBtQm9CLG9CdkRzREUsRThEMEVqQixFQUFBO0lQaklXO01PbEJoQjtRUG1Cb0IscUJ2RHNERSxFOEQwRWpCLEVBQUE7SUFuSkw7TVBZZ0IsZ0J2RDZETTtNdUQ3RE4saUJ2RDZETTtNOEQ5QlYsd0I5RG1DQztNOERsQ0QsbUJBQWU7VUFBZixlQUFlLEVBSWxCO01QOUJPO1FPbEJoQjtVUG1Cb0IsZXZEc0RFLEU4RHpCYixFQUFBO01QOUJPO1FPbEJoQjtVUG1Cb0IsZ0J2RHNERSxFOER6QmIsRUFBQTtNQWhEVDtRQThDZ0IsV3pFUUosRXlFUEM7SUEvQ2I7TVBZZ0IsZ0J2RDZETTtNdUQ3RE4saUJ2RDZETTtNOERyQlYsY1hGZ0I7TVdHaEIsd0I5RG9CVTtNOERuQlYsbUJBQWU7VUFBZixlQUFlLEVBQ2xCO01QckNPO1FPbEJoQjtVUG1Cb0IsZXZEc0RFLEU4RGxCYixFQUFBO01QckNPO1FPbEJoQjtVUG1Cb0IsZ0J2RHNERSxFOERsQmIsRUFBQTtNUHJDTztRT2xCaEI7VVBtQm9CLGdCdkRzREUsRThEbEJiLEVBQUE7TVByQ087UU9sQmhCO1VQbUJvQixpQnZEc0RFLEU4RGxCYixFQUFBO0lBdkRUO01QWWdCLDJDdkQ2RE07TThEZlYsbUJBQW1CO01BQ25CLFdBQVc7TUFDWCxZQUFZO01BQ1osc0JBQXNCO01BQ3RCLHFCQUFjO01BQWQsY0FBYztNQUNkLHVCQUFvQjtVQUFwQixvQkFBb0IsRUFDdkI7TVA5Q087UU9sQmhCO1VQbUJvQiwrQ3ZEc0RFLEU4RFRiLEVBQUE7TVA5Q087UU9sQmhCO1VQbUJvQiw2Q3ZEc0RFLEU4RFRiLEVBQUE7SUFoRVQ7TUFrRVksWXpFWkE7TXlFYUEsaUJDakVnQixFRHFFbkI7TUF2RVQ7UUFxRWdCLG9CWGRpQixFV2VwQjtJQXRFYjtNQXlFWSxlQUFlO01BQ2YsZUFBYSxFQUloQjtNQTlFVDtRQTRFZ0IseUJBQThDLEVBQ2pEO0lBN0ViO01BaUZnQixvQlgzQlc7TVc0QlgsaUJDN0VvQjtNRDhFcEIsWXpFN0JKLEV5RThCQztJQXBGYjtNUFlnQixnQlFNd0I7TVJOeEIsbUJ2RDZETSxFOER5RWI7TUFsSlQ7UUF5RmdCLGNDeEVVLEVEeUViO01BMUZiO1FBNEZnQixpQkMzRVUsRUQ0RWI7TVAzRUc7UU9sQmhCO1VQbUJvQixtQnZEc0RFLEU4RHlFYixFQUFBO01BbEpUO1FBZ0dnQix3QjlEbEJIO1E4RG1CRyxjekV0REUsRXlFdURMO01BbEdiO1FQWWdCLDZDdkQ2RE07UThENEJOLGVYNUNZO1FXNkNaLGlCQ2pGaUIsRURrRnBCO1FQckZHO1VPbEJoQjtZUG1Cb0IsNEN2RHNERSxFOEQ4QlQsRUFBQTtRUHJGRztVT2xCaEI7WVBtQm9CLDhDdkRzREUsRThEOEJULEVBQUE7TUF2R2I7UUF5R2dCLGlCQ3ZHWSxFRDJHZjtRQTdHYjtVQTJHb0Isb0JYaERhLEVXaURoQjtNQTVHakI7UUFnSG9CLGlCQ3hGZ0I7UUR5RmhCLFl6RTNEUixFeUUrREs7UUFySGpCO1VBbUh3QixvQlh4RFMsRVd5RFo7TUFwSHJCO1FBd0hnQixpQkM5RlU7UVJkVixnQlFld0I7UVJmeEIscUJ2RDZETSxFOER3RVQ7UVAvSEc7VU9sQmhCO1lQbUJvQixxQnZEc0RFLEU4RHdFVCxFQUFBO1FBakpiO1VQWWdCLHlDdkQ2RE07VThEc0RGLGVYbkVPO1VXb0VQLG9CQUFvQixFQUN2QjtVUC9HRDtZT2xCaEI7Y1BtQm9CLHdDdkRzREUsRThEd0RMLEVBQUE7VVAvR0Q7WU9sQmhCO2NQbUJvQiw0Q3ZEc0RFLEU4RHdETCxFQUFBO1FBaklqQjtVQW1Jb0IsaUJDaklRLEVEcUlYO1VBdklqQjtZQXFJd0Isb0JYMUVTLEVXMkVaO1FBdElyQjtVQTBJd0Isb0JBQW9CO1VBQ3BCLFl6RXJGWixFeUV5RlM7VUEvSXJCO1lBNkk0QixvQlhsRkssRVdtRlI7RUE5SXpCO0lBcUpRLGVBQWU7SUFDZixvQlhoR21CLEVXaUd0Qjs7QUUzSkw7RVRnQmdCLFlKeUVGO0VhdEZWLFdkc0JRO0VjckJSLGlCM0VzRFE7RTJFckRSLDRDM0VvRFcsRTJFT2Q7RVQxQ2U7SVN0QmhCO01UdUJvQixldkRzREUsRWdFYnJCLEVBQUE7RVQxQ2U7SVN0QmhCO01UdUJvQixnQnZEc0RFLEVnRWJyQixFQUFBO0VUMUNlO0lTdEJoQjtNVHVCb0IsYXZEc0RFLEVnRWJyQixFQUFBO0VUMUNlO0lTdEJoQjtNVHVCb0Isc0J2RHNERSxFZ0VickIsRUFBQTtFVDFDZTtJU3RCaEI7TVR1Qm9CLHVCdkRzREUsRWdFYnJCLEVBQUE7RUFoRUQ7SUFPUSxZQUFZO0lBQ1oscUJBQWM7SUFBZCxjQUFjO0lBQ2QsMkJBQXVCO1FBQXZCLHVCQUF1QjtJQUN2QixZQUFRO1FBQVIsUUFBUTtJQUNSLHdCQUFxQjtRQUFyQixxQkFBcUI7SUFDckIsbUJBQW1CLEVBd0J0QjtJQXBDTDtNQWVZLFlBQVksRUFDZjtJQWhCVDtNQWtCWSwyQkFBdUI7VUFBdkIsdUJBQXVCO01BQ3ZCLG1CQUFtQjtNQUNuQixpQkFBaUIsRUFXcEI7TUEvQlQ7UUF1Qm9CLGUzRWtDTCxFMkVqQ0U7TUF4QmpCO1FBMEJvQixpQjNFZ0NSO1EyRS9CUSxrRDNFOEJMO1EyRTdCSywwQkNOa0IsRURPckI7SUE3QmpCO01BaUNZLG1CQUFlO1VBQWYsZUFBZSxFQUVsQjtNVGJPO1FTdEJoQjtVVHVCb0Isc0J2RHNERSxFZ0UxQ2IsRUFBQTtNVGJPO1FTdEJoQjtVVHVCb0IsdUJ2RHNERSxFZ0UxQ2IsRUFBQTtFQW5DVDtJQXNDUSxtQmJpRCtCO0lhaEQvQixxQkFBYztJQUFkLGNBQWM7SUFDZCxtQkFBZTtRQUFmLGVBQWU7SUFDZixZQUFZO0lBQ1osaUIzRWdCSTtJa0UxQ0ksb0J2RGtFSCxFZ0VuQlI7SVR6Q1c7TVN0QmhCO1FUdUJvQixxQnZEMkRQLEVnRW5CUixFQUFBO0lBL0RMO01BNkNZLGlCQUFpQixFQVdwQjtNQXhEVDtRQStDZ0Isb0JBQW9CO1FBQ3BCLG9CM0VNSSxFMkVGUDtRQXBEYjtVQWtEb0IsaUIzRVFSLEUyRVBLO01BbkRqQjtRQXNEZ0Isb0JDMUJ1QixFRDJCMUI7SUF2RGI7TUEwRFksZTNFREc7TTJFRUgsMEJDN0JrQztNRDhCbEMscUJoRWlCVTtNdUQ3RE4sb0J2RDZETSxFZ0VmYjs7QUUvRFQ7RVhpQmdCLGlCdkQ2RE07RWtFNUVsQix1QjdFeURRLEU2RXhEWDtFWG9CZTtJV3ZCaEI7TVh3Qm9CLGtCdkRzREUsRWtFM0VyQixFQUFBO0VYb0JlO0lXdkJoQjtNWHdCb0Isa0J2RHNERSxFa0UzRXJCLEVBQUE7RVhvQmU7SVd2QmhCO01Yd0JvQixrQnZEc0RFLEVrRTNFckIsRUFBQTs7QUNIRDtFQUNJLGdCQUFnQixFQUNuQjs7QVptRlc7RVlqRlo7SUFVZ0IsZ0JBQWdCO0lBQ2hCLGlCQUFpQixFWnlFeEIsRUFBQTs7QUFIRztFWWpGWjtJQWNnQix1Qm5FNERNO0ltRTNETix3Qm5FMkRNLEV1RFViLEVBQUE7O0FBSEc7RVlqRlo7SUFrQmdCLHVCbkV3RE0sRXVEVWIsRUFBQTs7QUFIRztFWWpGWjtJQXFCZ0Isd0JuRXFETSxFdURVYixFQUFBOztBQUhHO0VZakZaO0lBd0JnQixnQkFBZ0IsRVo0RHZCLEVBQUE7O0FBSEc7RVlqRlo7SUEyQmdCLGlCQUFpQixFWnlEeEIsRUFBQTs7QUFIRztFWWpGWjtJQThCZ0IsbUJBQ0g7UUFERywwQkFDSCxFWnFESixFQUFBOztBQUhHO0VZakZaO0lBaUNnQixzQkFDSDtRQURHLHdCQUNILEVaa0RKLEVBQUE7O0FBSEc7RVlqRlo7SUFvQ2dCLHFCQUFhO1FBQWIsYUFBYTtJQUNiLHFCQUFlO1FBQWYsZUFBZSxFWitDdEIsRUFBQTs7QUFIRztFWWpG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LEVBQUE7O0FBRUw7RUFFUSxjQUFjLEVBQ2pCOztBQUVMO0VBRVEsY0FBYyxFQUNqQjs7QUFITDtFQUtRLHNCQUFzQixFQUN6Qjs7QUN0Qkw7RUY2S0UsOEJBQThCO0VBQzlCLDBCekY3SGdCO0V5RjhIaEIsbUJBQW1CO0VBQ25CLHFDR3pLK0I7RUgwSy9CLHVDRzFLK0I7RUgySy9CLGdCOUVuR29CO0U4RW9HcEIsaUI5RXBHb0I7RThFcUdwQixzQkFBc0I7RUFDdEIsdUJBQXVCO0VBRXJCLDBCQUEyQztFQUEzQywyQkFBMkM7RUFBM0MsdUJBQTJDO0VBRzNDLG1EQUF5RSxFRXhKNUU7RXpCVmU7SXlCeEJoQjtNekJ5Qm9CLHdCdkRzREUsRWdGN0NyQixFQUFBO0V6QlZlO0l5QnhCaEI7TXpCeUJvQix5QnZEc0RFLEVnRjdDckIsRUFBQTtFQWxDRDtJQUlRLDJCM0Y4Q1k7STJGN0NaLDZCM0Y2Q1ksRTJGNUNmO0VBTkw7SUFRUSwyQjNGMENZO0kyRnpDWiw2QjNGeUNZLEUyRnhDZjtFQVZMO0lBWVEsd0IzRmdESTtJMkYvQ0osMEIzRitDSSxFMkY5Q1A7RUFkTDtJQWdCUSxnQmhGK0RjO0lnRjlEZCxpQmhGOERjLEVnRjdEakI7RUFsQkw7SUFvQlEsZ0JoRjJEYztJZ0YxRGQsaUJoRjBEYyxFZ0Z6RGpCO0VBdEJMO0lBd0JRLGdCaEZ1RGM7SWdGdERkLGlCaEZzRGMsRWdGckRqQjtFQTFCTDtJQTRCUSx3QkFBK0M7SUZpSnJELDhCQUE4QjtJQUM5Qix1QnpGbEhVO0l5Rm1IVixtQkFBbUI7SUFDbkIsOEJHN0pnRDtJSDhKaEQsZ0NHOUpnRDtJSCtKaEQsZ0I5RW5Hb0I7SThFb0dwQixpQjlFcEdvQjtJOEVxR3BCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFFckIsMEJBQTJDO0lBQTNDLDJCQUEyQztJQUEzQyx1QkFBMkM7SUFHM0MsbURBQXlFLEVFNUp4RTtFQTlCTDtJRjZLRSw4QkFBOEI7SUFDOUIsMEJ6RjdIZ0I7SXlGOEhoQixtQkFBbUI7SUFDbkIscUNHeksrQjtJSDBLL0IsdUNHMUsrQjtJSDJLL0IsZ0I5RW5Hb0I7SThFb0dwQixpQjlFcEdvQjtJOEVxR3BCLHNCQUFzQjtJQUN0Qix1QkFBdUI7SUFFckIsMEJBQTJDO0lBQTNDLDJCQUEyQztJQUEzQyx1QkFBMkM7SUFHM0MsbURBQXlFLEVFekp4RTs7QUFFTDtFQUNJLG1CQUFtQixFQThCdEI7RUEvQkQ7SUFHUSxtQkFBbUI7SUFDbkIsV0FBVztJQUNYLFVBQVU7SUFDVixTQUFTO0lBQ1Qsd0JBQW9DO0lBQ3BDLHVCQUFtQyxFQVN0QztJQWpCTDtNQVVZLHdCQUEwQztNQUMxQyx1QkFBeUMsRUFDNUM7SUFaVDtNQWNZLHdCQUEwQztNQUMxQyx1QkFBeUMsRUFDNUM7RUFoQlQ7SUFtQlEsV0FBVztJQUNYLG1CQUFtQixFQVV0QjtJQTlCTDtNQXNCWSxtQkFBbUIsRUFDdEI7SUF2QlQ7TUF5QlksaUJBQWlCLEVBSXBCO01BN0JUO1FBMkJnQixvQkFBb0IsRUFDdkI7O0E5RjJ2TGI7Ozs7Ozs7Ozs7Ozs7OztFcUV4eUxnQixtQnZENkRNO0V1RDdETixrQnZENkRNLEVrRnBEckI7RTNCSGU7SXJFb3pMWjs7Ozs7Ozs7Ozs7Ozs7O01xRW56TGdCLHFCdkRzREUsRWtGcERyQixFQUFBO0UzQkhlO0lyRXEwTFo7Ozs7Ozs7Ozs7Ozs7OztNcUVwMExnQixvQnZEc0RFLEVrRnBEckIsRUFBQTtFM0JIZTtJckVzMUxaOzs7Ozs7Ozs7Ozs7Ozs7TXFFcjFMZ0IscUJ2RHNERSxFa0ZwRHJCLEVBQUE7RTNCSGU7SXJFdTJMWjs7Ozs7Ozs7Ozs7Ozs7O01xRXQyTGdCLGtCdkRzREUsRWtGcERyQixFQUFBO0UzQkhlO0lyRXczTFo7Ozs7Ozs7Ozs7Ozs7OztNcUV2M0xnQixldkRzREUsRWtGcERyQixFQUFBO0UzQkhlO0lyRXk0TFo7Ozs7Ozs7Ozs7Ozs7OztNcUV4NExnQixpQnZEc0RFLEVrRnBEckIsRUFBQTtFM0JIZTtJckUwNUxaOzs7Ozs7Ozs7Ozs7Ozs7TXFFejVMZ0Isd0J2RHNERSxFa0ZwRHJCLEVBQUE7RTNCSGU7SXJFMjZMWjs7Ozs7Ozs7Ozs7Ozs7O01xRTE2TGdCLHlCdkRzREUsRWtGcERyQixFQUFBO0VoR3c3TEM7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0lnRzk3TE0sZTdGcUNXO0k2RnBDWCwwQjdGa0NZLEU2RjlCZjtJaEd3OUxEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztNZ0cxOUxRLGU3RmtDTyxFNkZqQ1Y7SWhHeTlMTDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7TWdHMTlMUSxlN0ZrQ08sRTZGakNWOztBQUdUO0UzQlZnQixtQnZENkRNLEVrRmhEckI7RTNCUGU7STJCSWhCO00zQkhvQixxQnZEc0RFLEVrRmhEckIsRUFBQTtFM0JQZTtJMkJJaEI7TTNCSG9CLG9CdkRzREUsRWtGaERyQixFQUFBO0UzQlBlO0kyQkloQjtNM0JIb0IscUJ2RHNERSxFa0ZoRHJCLEVBQUE7RTNCUGU7STJCSWhCO00zQkhvQix3QnZEc0RFLEVrRmhEckIsRUFBQTtFM0JQZTtJMkJJaEI7TTNCSG9CLHlCdkRzREUsRWtGaERyQixFQUFBOztBQUNEO0UzQmRnQixtQnZENkRNLEVrRm5DckI7RTNCcEJlO0kyQlFoQjtNM0JQb0IscUJ2RHNERSxFa0ZuQ3JCLEVBQUE7RTNCcEJlO0kyQlFoQjtNM0JQb0Isb0J2RHNERSxFa0ZuQ3JCLEVBQUE7RTNCcEJlO0kyQlFoQjtNM0JQb0IscUJ2RHNERSxFa0ZuQ3JCLEVBQUE7RUFaRDtJQUtnQixhL0JrRlc7SStCakZYLGU3RllJO0k2RlhKLHVCbEZ3Q007SXVEN0ROLG1CdkQ2RE0sRWtGdENUO0kzQmpCRztNMkJRaEI7UTNCUG9CLHFCdkRzREUsRWtGdENULEVBQUE7STNCakJHO00yQlFoQjtRM0JQb0Isb0J2RHNERSxFa0Z0Q1QsRUFBQTtJM0JqQkc7TTJCUWhCO1EzQlBvQixxQnZEc0RFLEVrRnRDVCxFQUFBOztBM0JqQkc7RTJCcUJoQjtJM0JwQm9CLHdCdkRzREUsRWtGaENyQixFQUFBOztBM0J2QmU7RTJCcUJoQjtJM0JwQm9CLHlCdkRzREUsRWtGaENyQixFQUFBOztBQUNEO0VBQ0ksa0IvQnlFcUIsRStCcEV4QjtFQU5EO0kzQjlCZ0IsbUJ2RDZETSxFa0YxQmpCO0kzQjdCVztNMkJ3QmhCO1EzQnZCb0IscUJ2RHNERSxFa0YxQmpCLEVBQUE7STNCN0JXO00yQndCaEI7UTNCdkJvQixvQnZEc0RFLEVrRjFCakIsRUFBQTtJM0I3Qlc7TTJCd0JoQjtRM0J2Qm9CLHFCdkRzREUsRWtGMUJqQixFQUFBO0kzQjdCVztNMkJ3QmhCO1EzQnZCb0Isd0J2RHNERSxFa0YxQmpCLEVBQUE7STNCN0JXO00yQndCaEI7UTNCdkJvQix5QnZEc0RFLEVrRjFCakIsRUFBQTs7QTNCN0JXO0UyQitCaEI7STNCOUJvQix3QnZEc0RFLEVrRnRCckIsRUFBQTs7QTNCakNlO0UyQitCaEI7STNCOUJvQix5QnZEc0RFLEVrRnRCckIsRUFBQTs7QUFFRDtFQUNJLHFCQUFjO0VBQWQsY0FBYztFQUNkLHVCQUFvQjtNQUFwQixvQkFBb0IsRUFLdkI7RUFQRDtJQUlRLFVBQVUsRUFDYjtFM0J4Q1c7STJCbUNoQjtNM0JsQ29CLHdCdkRzREUsRWtGYnJCLEVBQUE7RTNCMUNlO0kyQm1DaEI7TTNCbENvQix5QnZEc0RFLEVrRmJyQixFQUFBOztBQUNEO0VBQ0ksaUIvQnlEb0I7RStCeERwQixlN0ZuQmdCO0U2Rm9CaEIsMEIvQnNENkI7RStCckQ3Qix3QkM3RDJCO0U1QlFmLGdCdkQ2RE07RWtGTmxCLGlCN0Z5RG1CLEU2RnZEdEI7RTNCbkRlO0kyQjJDaEI7TTNCMUNvQixvQnZEc0RFLEVrRkpyQixFQUFBO0UzQm5EZTtJMkIyQ2hCO00zQjFDb0IsbUJ2RHNERSxFa0ZKckIsRUFBQTtFM0JuRGU7STJCMkNoQjtNM0IxQ29CLHlCdkRzREUsRWtGSnJCLEVBQUE7RTNCbkRlO0kyQjJDaEI7TTNCMUNvQiwwQnZEc0RFLEVrRkpyQixFQUFBOztBM0JuRGU7RTJCb0RoQjtJM0JuRG9CLHdCdkRzREUsRWtGRHJCLEVBQUE7O0EzQnREZTtFMkJvRGhCO0kzQm5Eb0IseUJ2RHNERSxFa0ZEckIsRUFBQTs7QUVwREQ7RTdCUmdCLG1CdkQ2RE0sRW9GbkRyQjtFN0JKZTtJNkJFaEI7TTdCRG9CLHFCdkRzREUsRW9GbkRyQixFQUFBO0U3QkplO0k2QkVoQjtNN0JEb0Isb0J2RHNERSxFb0ZuRHJCLEVBQUE7RTdCSmU7STZCRWhCO003QkRvQixxQnZEc0RFLEVvRm5EckIsRUFBQTs7QTdCSmU7RTZCTWhCO0k3QkxvQixxQnZEc0RFLEVvRmpCckIsRUFBQTs7QTdCdENlO0U2Qk1oQjtJN0JMb0Isc0J2RHNERSxFb0ZqQnJCLEVBQUE7O0E3QnRDZTtFNkJNaEI7STdCTG9CLHdCdkRzREUsRW9GakJyQixFQUFBOztBN0J0Q2U7RTZCTWhCO0k3QkxvQix5QnZEc0RFLEVvRmpCckIsRUFBQTs7QTdCd0JXO0U2QnhEWjtJQVdnQixjQUFjLEU3QmdEckIsRUFBQTs7QUFIRztFNkJ4RFo7SUFjZ0IsaUJBQWlCLEU3QjZDeEIsRUFBQTs7QUFIRztFNkJ4RFo7SUFpQmdCLHFCcEZnQ00sRXVEVWIsRUFBQTs7QUFIRztFNkJ4RFo7SUFvQmdCLHdCcEY2Qk0sRXVEVWIsRUFBQTs7QUFIRztFNkJ4RFo7SUF1QmdCLGNBQWM7SUFDZCxpQkFBaUIsRTdCbUN4QixFQUFBOztBQUhHO0U2QnhEWjtJQTJCZ0IscUJwRnNCTTtJb0ZyQk4sd0JwRnFCTSxFdURVYixFQUFBOztBQUhHO0U2QnhEWjtJQVdnQixjQUFjLEU3QmdEckIsRUFBQTs7QUFIRztFNkJ4RFo7SUFjZ0IsaUJBQWlCLEU3QjZDeEIsRUFBQTs7QUFIRztFNkJ4RFo7SUFpQmdCLHFCcEZnQ00sRXVEVWIsRUFBQTs7QUFIRztFNkJ4RFo7SUFvQmdCLHdCcEY2Qk0sRXVEVWIsRUFBQTs7QUFIRztFNkJ4RFo7SUF1QmdCLGNBQWM7SUFDZCxpQkFBaUIsRTdCbUN4QixFQUFBOztBQUhHO0U2QnhEWjtJQTJCZ0IscUJwRnNCTTtJb0ZyQk4sd0JwRnFCTSxFdURVYixFQUFBOztBQUhHO0U2QnhEWjtJQVdnQixjQUFjLEU3QmdEckIsRUFBQTs7QUFIRztFNkJ4RFo7SUFjZ0IsaUJBQWlCLEU3QjZDeEIs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b0IsdUJ2RDJEUCxFc0YvRVosRUFBQTs7QUNKRDtFQUNJLFlBQVk7RWhDZ0JBLG1CdkQ2RE0sRXVGM0VyQjtFaENvQmU7SWdDdkJoQjtNaEN3Qm9CLGlCdkRzREUsRXVGM0VyQixFQUFBOztBQUVEO0VBQ0ksc0JBQXNCLEVBQ3pCOztBQUNEO0VBQ0ksMEJBQTBCO0VBQzFCLFlBQVk7RUFHUixpQkNkaUIsRUQwR3hCO0VoQ2xGZTtJZ0NmaEI7TWhDZ0JvQix3QnZEc0RFLEV1RjJCckIsRUFBQTtFaENsRmU7SWdDZmhCO01oQ2dCb0IseUJ2RHNERSxFdUYyQnJCLEVBQUE7RUFqR0Q7SUFRUSxtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLGlCbEd5Q0k7SWtHeENKLGVsRzhCWTtJa0c3Qlosa0JFUnFCO0lGU3JCLDhCbEdtQ2E7SWtHbENiLGlDbEdrQ2E7SWtHaENULGdDbEdnQ1MsRWtHVGhCO0lBdkNMO01BdUJZLGVBQWU7TUFDZixlbEdpQlE7TWtHaEJSLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osYUFBYTtNQUNiLHNCQUFzQixFQUN6QjtJQTdCVDtNQStCWSxjbEdVUTtNa0dUUixnQnZGc0NVO011RnJDVixpQnZGcUNVO011RnBDVixtQkFBbUI7TUFDbkIsaUJ2Rm1DVTtNdUZsQ1YsU0FBUztNQUNULHVCQUFZLEVBQ2Y7RUF0Q1Q7SUF5Q1EsK0JsR09hLEVrR05oQjtFQTFDTDtJQTRDUSxXQUFXLEVBQ2Q7RUE3Q0w7SUF3RFEsZWxHZlksRWtHc0JmO0lBL0RMO01BMERZLGlCbEdQQSxFa0dRSDtJQTNEVDtNQTZEWSxvQmxHZFEsRWtHZVg7RUE5RFQ7SWhDU2dCLG1CdkQ2RE0sRXVGSmpCO0loQ25EVztNZ0NmaEI7UWhDZ0JvQixxQnZEc0RFLEV1RkpqQixFQUFBO0loQ25EVztNZ0NmaEI7UWhDZ0JvQixvQnZEc0RFLEV1RkpqQixFQUFBO0loQ25EVztNZ0NmaEI7UWhDZ0JvQixxQnZEc0RFLEV1RkpqQixFQUFBO0VBbEVMO0lBb0VRLGdDbEdwQmEsRWtHcUJoQjtFQXJFTDtJQXVFUSwrQmxHdkJhLEVrR3dCaEI7RUF4RUw7SUEwRVEsaUNsRzFCYSxFa0cyQmhCO0VBM0VMO0lBNkVRLGlCbEcxQkk7SWtHMkJKLGVsRzVCTztJa0c2QlAsMEJsRy9CYSxFa0dnQ2hCO0VBaEZMO0lBa0ZRLFdBQ0gsRUFBQztFQW5GTjtJQXFGUSxpQkFBaUIsRUFDcEI7RUF0Rkw7SUF3RlEsb0JBQW9CO0lBQ3BCLGtCQUFrQixFQUlyQjtJQTdGTDtNQTJGWSx3QkFBd0MsRUFDM0M7RUE1RlQ7SUErRlEsb0JFekdnQixFRjBHbkI7O0FBR0w7RUFFUSxlbEduRE8sRWtHMkRWO0VBVkw7SUFJWSxpQmxHcERBLEVrR3lESDtJQVRUO01BTWdCLG9CbEdqRUU7TWtHa0VGLFlsR3ZESixFa0d3REM7O0FBS2I7RUFDSSxrQkFBa0IsRUFlckI7RUFoQkQ7SUFHUSw0QkFBcUI7SUFBckIscUJBQXFCO0lBQ3JCLHVCQUFvQjtRQUFwQixvQkFBb0I7SUFDcEIsc0JBQXdCO1FBQXhCLHdCQUF3QjtJaEM1R2hCLGtCdkQ2RE07SXVEN0ROLGlCdkQ2RE07SXVGa0RkLGNsRy9FWSxFa0dzRmY7SWhDaEhXO01nQ2lHaEI7UWhDaEdvQixpQnZEc0RFLEV1RnlEakIsRUFBQTtJaENoSFc7TWdDaUdoQjtRaENoR29CLGdCdkRzREUsRXVGeURqQixFQUFBO0lBZkw7TWhDdkdnQixrQnZENkRNO011RDdETixpQnZENkRNLEV1RndEYjtNaEMvR087UWdDaUdoQjtVaENoR29CLGlCdkRzREUsRXVGd0RiLEVBQUE7TWhDL0dPO1FnQ2lHaEI7VWhDaEdvQixnQnZEc0RFLEV1RndEYixFQUFBOztBQUlUO0VoQ3pIZ0Isa0J2RDZETSxFdUZtRXJCO0VoQzFIZTtJZ0NtSGhCO01oQ2xIb0IsaUJ2RHNERSxFdUZtRXJCLEVBQUE7RUFQRDtJaEN6SGdCLGtCR0NRLEU2QjhIbkI7SWhDekhXO01nQ21IaEI7UWhDbEhvQixpQkdOSSxFNkI4SG5CLEVBQUE7O0FBRUw7RWhDaklnQixtQnZENkRNLEV1RjJFckI7RWhDbEllO0lnQzJIaEI7TWhDMUhvQixrQnZEc0RFLEV1RjJFckIsRUFBQTtFQVBEO0loQ2pJZ0IsbUJHQ1EsRTZCc0luQjtJaENqSVc7TWdDMkhoQjtRaEMxSG9CLGtCR05JLEU2QnNJbkIsRUFBQTs7QUd4Skw7RUFDSSxxQkFBYztFQUFkLGNBQWM7RUFDZCxtQkFBZTtNQUFmLGVBQWU7RUFDZix3QkFBb0I7TUFBcEIsb0JBQW9CO0VBQ3BCLDhCQUFpQjtNQUFqQixpQkFBaUI7RUFDakIsdUJBQW9CO01BQXBCLG9CQUFvQixFQWdDdkI7RUFyQ0Q7SUFPUSxnQkFBZ0I7SUFDaEIsOEJBQWlCO1FBQWpCLGlCQUFpQixFQUNwQjtFQVRMO0lBV1EsaUJyR2dESTtJcUc5Q0EsbURBQWlDLEVBRXhDO0VBZkw7SUFpQlEsaUNyR3NDWSxFcUd0QmY7SW5DVlc7TW1DdkJoQjtRbkN3Qm9CLHdCdkRzREUsRTBGN0NqQixFQUFBO0luQ1ZXO01tQ3ZCaEI7UW5Dd0JvQix5QnZEc0RFLEUwRjdDakIsRUFBQTtJQWpDTDtNQXVCZ0IsbUJBQW1CLEVBUXRCO01uQ1JHO1FtQ3ZCaEI7VW5Dd0JvQix3QnZEc0RFLEUwRi9DVCxFQUFBO01uQ1JHO1FtQ3ZCaEI7VW5Dd0JvQix5QnZEc0RFLEUwRi9DVCxFQUFBO01uQ1JHO1FtQ3ZCaEI7VW5Dd0JvQixxQnZEc0RFLEUwRi9DVCxFQUFBO01uQ1JHO1FtQ3ZCaEI7VW5Dd0JvQixzQnZEc0RFLEUwRi9DVCxFQUFBO01BL0JiO1FBeUJvQixrQkFBa0I7UUFDbEIsbUJBQW1CO1FBQ25CLGVBQWU7UUFDZixZQzNCRztRRDRCSCxpQjFGaURFLEUwRmhETDtFbkNQRDtJbUN2QmhCO01uQ3dCb0Isd0J2RHNERSxFMEYxQ2pCLEVBQUE7RW5DYlc7SW1DdkJoQjtNbkN3Qm9CLHlCdkRzREUsRTBGMUNqQixFQUFBOztBRW9KRDtFQS9JQSxpQkFBaUI7RUFHYixpQko3Q2lCLEVJOExwQjtFckN0S1c7SXFDaUtaO01yQ2hLZ0Isd0J2RHNERSxFNEYrR2pCLEVBQUE7RXJDdEtXO0lxQ2lLWjtNckNoS2dCLHlCdkRzREUsRTRGK0dqQixFQUFBO0VBL0lEO0lBekNJLG9CQUFvQjtJQUNwQixtQkFBbUI7SUFDbkIsaUJBQWlCO0lBQ2pCLFlBQVk7SUFFUixpQkFBaUIsRUFzQ3hCO0VBQ0Q7SUE3Qkksb0JBQW9CO0lBQ3BCLGFBQWE7SUFDYixxQkFBYztJQUFkLGNBQWM7SUFDZCx1QkFBeUI7UUFBekIseUJBQXlCLEVBNEI1QjtFQUNEO0lBcEJJLGFKbEN5QjtJSW1DekIsNEJBQXFCO0lBQXJCLHFCQUFxQjtJQUNyQixvQkFBb0I7SUFDcEIsdUJBQW9CO1FBQXBCLG9CQUFvQixFQW1CdkI7RUFDRDtJQUNJLG1CQUFlO1FBQWYsZUFBZSxFQUNsQjtFbkd3RkQ7SW1HdUNBO01BM0hBLGlCQUFpQjtNQUNqQixZQUFZO00zRCtFZCxlQUFlO01BQ2YsWUFBWTtNQUNaLGlCQUFpQjtNMkRyRVgsaUJBQWlCLEVBbUhwQjtNQXZIRDtRQXBFSSxZQUFZLEVBc0VmLEVBQUE7SXJDakRXO01xQytDWjtRckM5Q2dCLHdCdkRzREUsRTRGTmpCLEVBQUE7SXJDakRXO01xQytDWjtRckM5Q2dCLHlCdkRzREUsRTRGTmpCLEVBQUE7RW5HeUVEO01tR3RFSTtRQUNJLGlCSjdFYSxFSThFaEI7TUFFTDtRQTlESSxvQkFBb0I7UUFDcEIsbUJBQW1CLEVBK0R0QjtNQUNEO1FBckRJLG9CQUFvQjtRQUNwQixZQUFZLEVBc0RmLEVBQUE7RUFnRk87SUFmQSxlNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxZNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLGM1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0JBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0JBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0JBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZTVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsWTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxZNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLFk1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZTVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0VBRkQ7SUFmQSxjNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsV0FaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxXQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZTVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0VBRkQ7SUFmQSxhNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLGdCNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZTVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0VBRkQ7SUFmQSxnQjVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0VBRkQ7SUFmQSxhNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsV0FaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxXQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZ0I1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZTVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0VBRkQ7SUFmQSxnQjVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLGE1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZ0I1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZTVGdkVVLEU0RndGVDtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsV0FaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxXQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLGdCNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLGE1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtFQUZEO0lBZkEsZ0I1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0VBRkQ7SUFmQSxlNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLGdCNUZ2RVUsRTRGd0ZUO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7RUFGRDtJQWZBLGE1RnZFVSxFNEZ3RlQ7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxZQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFlBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsWUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxZNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsWTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxZNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsWUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxZQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFlBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsWTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYTVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFlBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsWUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxZQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFlBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsWUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxZQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGdCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFdBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxhQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsaUJBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsV0FaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGlCQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLGFBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxZQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZBLFlBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsZ0JBWmEsRUE2QlosRUFBQTtFbkdyQlQ7SW1HbUJRO01BZkEsYUFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxpQkFaYSxFQTZCWixFQUFBO0VuR3JCVDtJbUdtQlE7TUFmQSxXQVphLEVBNkJaLEVBQUE7RW5HckJUO0ltR21CUTtNQWZB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SCxFNkZoRFI7SXRDWlc7TXNDWmhCO1F0Q2FvQixnRHZEc0RFLEU2RjNDakIsRUFBQTtJdENaVztNc0NaaEI7UXRDYW9CLDhCdkQyRFAsRTZGaERSLEVBQUE7SUF4Qkw7TUFZWSxtQkFBbUI7TUFDbkIsZ0I3RnNEVTtNNkZyRFYsaUI3RnFEVTtNNkZwRFYsY3hHc0JNO013R3JCTixTQUFTO01BQ1QsdUJBQTRDO010Q1h4QyxpQnZENkRNLEU2RmhEYjtNdENQTztRc0NaaEI7VXRDYW9CLGlCdkRzREUsRTZGaERiLEVBQUE7SUFuQlQ7TUFxQlksaUJ4RzJCQTtNd0cxQkEsc0J4R2VNLEV3R2RUOztBQUlUO0VBQ0ksWUFBWSxFQXlEZjtFQTFERDtJQUdRLFdBQVc7SUFDWCxtQkFBbUIsRUF5QnRCO0lBN0JMO01BU1kseUJBQTJDO01BQzNDLGV4R0NRO013R0FSLG1CQUFtQjtNQUNuQixZQUFZO01BQ1osYUFBYTtNQUNiLHNCQUFzQjtNQUN0QixxQkFBYztNQUFkLGNBQWM7TUFDZCwyQkFBdUI7VUFBdkIsdUJBQXVCO01BQ3ZCLHNCQUF3QjtVQUF4Qix3QkFBd0I7TUFDeEIsa0IxQzBHbUIsRTBDekd0QjtNdENsQ087UXNDZWhCO1V0Q2RvQixzQnZEc0RFLEU2RnJCYixFQUFBO010Q2xDTztRc0NlaEI7VXRDZG9CLHlCdkRzREUsRTZGckJiLEVBQUE7TXRDbENPO1FzQ2VoQjtVdENkb0IsdUJ2RHNERSxFNkZyQmIsRUFBQTtJQW5CVDtNQXFCWSxjeEdWUTtNd0dXUixnQjdGa0JVO002RmpCVixpQjdGaUJVO002RmhCVixtQkFBbUI7TUFDbkIsaUI3RmVVO002RmRWLFNBQVM7TUFDVCx1QkFBWSxFQUNmO0VBNUJUO0lBK0JRLG9CMUM4RnlCLEUwQ2hGNUI7SUE3Q0w7TUFpQ1ksZXhHdkJNLEV3R3dCVDtJQWxDVDtNQW9DWSxZQUFZO01BQ1osZUFBZTtNQUNmLG1CQUFtQjtNQUNuQixpQjdGQ1U7TTZGQVYsYUMxQmlDO01EMkJqQyxXQzFCK0I7TUQyQi9CLFlDMUJnQztNRDJCaEMsb0J4R2pDTSxFd0drQ1Q7RUE1Q1Q7SUErQ1EsbUJBQW1CO0lBQ25CLHNCQUF3QjtRQUF4Qix3QkFBd0IsRUFLM0I7SUFyREw7TUFrRFksdUJBQXVCO01BQ3ZCLFVBQVUsRUFDYjtFQXBEVDtJQXVEUSxtQkFBMEI7UUFBMUIsMEJBQTBCO0lBQzFCLFdBQVcsRUFDZDs7QURTRDtFRzFHSjtJSDJHUSxZQUFVLEVHckdmLEVBQUE7O0FIMkdLO0VHakhSO0lIa0hZLGFBQVUsRUc1R25CLEVBQUE7O0FIMkdLO0VHakhSO0lIa0hZLG1CQUFVLEVHNUduQixFQUFBOztBdEc2SUM7RXNHbkpKO0lIdUhRLGdCQUFpQixFR2pIdEIsRUFBQTs7QUhvR0M7RUcxR0o7SUgyR1EsWUFBVSxFR3JHZixFQUFBOztBSDJHSztFR2pIUjtJSGtIWSxZQUFVLEVHNUduQixFQUFBOztBSDJHSztFR2pIUjtJSGtIWSxrQkFBVSxFRzVHbkIsRUFBQTs7QXRHNklDO0VzR25KSjtJSHVIUSxnQkFBaUIsRUdqSHRCLEVBQUE7O0FIb0dDO0VHMUdKO0lIMkdRLGFBQVUsRUc5RmYsRUFBQTs7QUhvR0s7RUdqSFI7SUhrSFksYUFBVSxFR3JHbkIsRUFBQTs7QUhvR0s7RUdqSFI7SUhrSFksbUJBQVUsRUdyR25CLEVBQUE7O0F0R3NJQztFc0duSko7SUh1SFEsaUJBQWlCLEVHMUd0QixFQUFBOztBSDZGQztFRzFHSjtJSDJHUSxhQUFVLEVHOUZmLEVBQUE7O0FIb0dLO0VHakhSO0lIa0hZLGFBQVUsRUdyR25CLEVBQUE7O0FIb0dLO0VHakhSO0lIa0hZLG1CQUFVLEVHckduQixFQUFBOztBdEdzSUM7RXNHbkpKO0lIdUhRLGlCQUFpQixFRzFHdEIsRUFBQTs7QUFiSDtFQW1CVSxpQzFHd0NTO0UwR3ZDVCxzQjFHdUNTLEUwR3RDVjs7QUNyQlQ7RUFFSSxnQkFBZ0IsRUFDakI7O0FKdUdDO0VJMUdKO0lKMkdRLGFBQVUsRUlyR2YsRUFBQTs7QUoyR0s7RUlqSFI7SUprSFksYUFBVSxFSTVHbkIsRUFBQTs7QUoyR0s7RUlqSFI7SUprSFksYUFBVSxFSTVHbkIsRUFBQTs7QXZHNklDO0V1R25KSjtJSnVIUSxXQUFpQixFSWpIdEIsRUFBQTs7QUpvR0M7RUkxR0o7SUoyR1EsYUFBVSxFSWxHZixFQUFBOztBSndHSztFSWpIUjtJSmtIWSxhQUFVLEVJekduQixFQUFBOztBSndHSztFSWpIUjtJSmtIWSxtQkFBVSxFSXpHbkIsRUFBQTs7QXZHMElDO0V1R25KSjtJSnVIUSxpQkFBaUIsRUk5R3RCLEVBQUE7O0FKaUdDO0VJMUdKO0lKMkdRLGFBQVUsRUkvRmYsRUFBQTs7QUpxR0s7RUlqSFI7SUprSFksYUFBVSxFSXRHbkIsRUFBQTs7QUpxR0s7RUlqSFI7SUprSFksbUJBQVUsRUl0R25CLEVBQUE7O0F2R3VJQztFdUduSko7SUp1SFEsaUJBQWlCLEVJM0d0QixFQUFBOztBSjhGQztFSTFHSjtJSjJHUSxZQUFVLEVJMUZmLEVBQUE7O0FKZ0dLO0VJakhSO0lKa0hZLGFBQVUsRUlqR25CLEVBQUE7O0FKZ0dLO0VJakhSO0lKa0hZLGFBQVUsRUlqR25CLEVBQUE7O0F2R2tJQztFdUduSko7SUp1SFEsYUFBaUIsRUl0R3RCLEVBQUE7O0FKeUZDO0VJMUdKO0lKMkdRLFlBQVUsRUl2RmYsRUFBQTs7QUo2Rks7RUlqSFI7SUprSFksYUFBVSxFSTlGbkIsRUFBQTs7QUo2Rks7RUlqSFI7SUprSFksYUFBVSxFSTlGbkIsRUFBQTs7QXZHK0hDO0V1R25KSjtJSnVIUSxhQUFpQixFSW5HdEIsRUFBQTs7QUpzRkM7RUkxR0o7SUoyR1EsWUFBVSxFSXBGZixFQUFBOztBSjBGSztFSWpIUjtJSmtIWSxhQUFVLEVJM0ZuQixFQUFBOztBSjBGSztFSWpIUjtJSmtIWSxtQkFBVSxFSTNGbkIsRUFBQTs7QXZHNEhDO0V1R25KSjtJSnVIUSxnQkFBaUIsRUloR3RCLEVBQUE7O0FKbUZDO0VJMUdKO0lKMkdRLFlBQVUsRUlqRmYsRUFBQTs7QUp1Rks7RUlqSFI7SUprSFksYUFBVSxFSXhGbkIsRUFBQTs7QUp1Rks7RUlqSFI7SUprSFksbUJBQVUsRUl4Rm5CLEVBQUE7O0F2R3lIQztFdUduSko7SUp1SFEsZ0JBQWlCLEVJN0Z0QixFQUFBOztBSmdGQztFSTFHSjtJSjJHUSxhQUFVLEVJOUVmLEVBQUE7O0FKb0ZLO0VJakhSO0lKa0hZLGFBQVUsRUlyRm5CLEVBQUE7O0FKb0ZLO0VJakhSO0lKa0hZLG1CQUFVLEVJckZuQixFQUFBOztBdkdzSEM7RXVHbkpKO0lKdUhRLGlCQUFpQixFSTFGdEIsRUFBQTs7QUo2RUM7RUkxR0o7SUoyR1EsWUFBVSxFSTNFZixFQUFBOztBSmlGSztFSWpIUjtJSmtIWSxhQUFVLEVJbEZuQixFQUFBOztBSmlGSztFSWpIUjtJSmtIWSxtQkFBVSxFSWxGbkIsRUFBQTs7QXZHbUhDO0V1R25KSjtJSnVIUSxnQkFBaUIsRUl2RnRCLEVBQUE7O0FKMEVDO0VJMUdKO0lKMkdRLFlBQVUsRUl4RWYsRUFBQTs7QUo4RUs7RUlqSFI7SUprSFksYUFBVSxFSS9FbkIsRUFBQTs7QUo4RUs7RUlqSFI7SUprSFksbUJBQVUsRUkvRW5CLEVBQUE7O0F2R2dIQztFdUduSko7SUp1SFEsZ0JBQWlCLEVJcEZ0QixFQUFBOztBSnVFQztFSTFHSjtJSjJHUSxZQUFVLEVJckVmLEVBQUE7O0FKMkVLO0VJakhSO0lKa0hZLGFBQVUsRUk1RW5CLEVBQUE7O0FKMkVLO0VJakhSO0lKa0hZLG1CQUFVLEVJNUVuQixFQUFBOztBdkc2R0M7RXVHbkpKO0lKdUhRLGdCQUFpQixFSWpGdEIsRUFBQTs7QUpvRUM7RUkxR0o7SUoyR1EsWUFBVSxFSWxFZixFQUFBOztBSndFSztFSWpIUjtJSmtIWSxhQUFVLEVJekVuQixFQUFBOztBSndFSztFSWpIUjtJSmtIWSxtQkFBVSxFSXpFbkIsRUFBQTs7QXZHMEdDO0V1R25KSjtJSnVIUSxnQkFBaUIsRUk5RXRCLEVBQUE7O0FKaUVDO0VJMUdKO0lKMkdRLFlBQVUsRUk5RGYsRUFBQTs7QUpvRUs7RUlqSFI7SUprSFksYUFBVSxFSXJFbkIsRUFBQTs7QUpvRUs7RUlqSFI7SUprSFksbUJBQVUsRUlyRW5CLEVBQUE7O0F2R3NHQztFdUduSko7SUp1SFEsZ0JBQWlCLEVJMUV0QixFQUFBOztBQTdDSDtFQWdESSwyQkFBdUI7TUFBdkIsdUJBQXVCO0VBQ3ZCLHNCQUF3QjtNQUF4Qix3QkFBd0IsRUFFekI7RUp1REM7SUkxR0o7TUoyR1EsYUFBVSxFSXhEZixFQUFBO0VKOERLO0lJakhSO01Ka0hZLGNBQVUsRUkvRG5CLEVBQUE7RUo4REs7SUlqSFI7TUprSFksY0FBVSxFSS9EbkIsRUFBQTtFdkdnR0M7SXVHbkpKO01KdUhRLFlBQWlCLEVJcEV0QixFQUFBOztBSnVEQztFSTFHSjtJSjJHUSxhQUFVLEVJbERiLEVBQUE7O0FKd0RHO0VJakhSO0lKa0hZLGFBQVUsRUl6RGpCLEVBQUE7O0FKd0RHO0VJakhSO0lKa0hZLGFBQVUsRUl6RGpCLEVBQUE7O0F2RzBGRDtFdUduSko7SUp1SFEsYUFBaUIsRUk5RHBCLEVBQUE7O0FKaUREO0VJMUdKO0lKMkdRLGFBQVUsRUk1Q2IsRUFBQTs7QUprREc7RUlqSFI7SUprSFksYUFBVSxFSW5EakIsRUFBQTs7QUprREc7RUlqSFI7SUprSFksbUJBQVUsRUluRGpCLEVBQUE7O0F2R29GRDtFdUduSko7SUp1SFEsaUJBQWlCLEVJeERwQixFQUFBOztBSjJDRDtFSTFHSjtJSjJHUSxhQUFVLEVJekNiLEVBQUE7O0FKK0NHO0VJakhSO0lKa0hZLGFBQVUsRUloRGpCLEVBQUE7O0FKK0NHO0VJakhSO0lKa0hZLG1CQUFVLEVJaERqQixFQUFBOztBdkdpRkQ7RXVHbkpKO0lKdUhRLGlCQUFpQixFSXJEcEIsRUFBQTs7QUp3Q0Q7RUkxR0o7SUoyR1EsYUFBVSxFSXRDYixFQUFBOztBSjRDRztFSWpIUjtJSmtIWSxhQUFVLEVJN0NqQixFQUFBOztBSjRDRztFSWpIUjtJSmtIWSxtQkFBVSxFSTdDakIsRUFBQTs7QXZHOEVEO0V1R25KSjtJSnVIUSxpQkFBaUIsRUlsRHBCLEVBQUE7O0FKcUNEO0VJMUdKO0lKMkdRLFlBQVUsRUluQ2IsRUFBQTs7QUp5Q0c7RUlqSFI7SUprSFksYUFBVSxFSTFDakIsRUFBQTs7QUp5Q0c7RUlqSFI7SUprSFksbUJBQVUsRUkxQ2pCLEVBQUE7O0F2RzJFRDtFdUduSko7SUp1SFEsZ0JBQWlCLEVJL0NwQixFQUFBOztBSmtDRDtFSTFHSjtJSjJHUSxZQUFVLEVJaENiLEVBQUE7O0FKc0NHO0VJakhSO0lKa0hZLGFBQVUsRUl2Q2pCLEVBQUE7O0FKc0NHO0VJakhSO0lKa0hZLG1CQUFVLEVJdkNqQixFQUFBOztBdkd3RUQ7RXVHbkpKO0lKdUhRLGdCQUFpQixFSTVDcEIsRUFBQTs7QUorQkQ7RUkxR0o7SUoyR1EsWUFBVSxFSTdCYixFQUFBOztBSm1DRztFSWpIUjtJSmtIWSxZQUFVLEVJcENqQixFQUFBOztBSm1DRztFSWpIUjtJSmtIWSxrQkFBVSxFSXBDakIsRUFBQTs7QXZHcUVEO0V1R25KSjtJSnVIUSxnQkFBaUIsRUl6Q3BCLEVBQUE7O0FKNEJEO0VJMUdKO0lKMkdRLFlBQVUsRUkxQmIsRUFBQTs7QUpnQ0c7RUlqSFI7SUprSFksYUFBVSxFSWpDakIsRUFBQTs7QUpnQ0c7RUlqSFI7SUprSFksYUFBVSxFSWpDakIsRUFBQTs7QXZHa0VEO0V1R25KSjtJSnVIUSxhQUFpQixFSXRDcEIsRUFBQTs7QUp5QkQ7RUkxR0o7SUoyR1EsWUFBVSxFSXZCYixFQUFBOztBSjZCRztFSWpIUjtJSmtIWSxZQUFVLEVJOUJqQixFQUFBOztBSjZCRztFSWpIUjtJSmtIWSxrQkFBVSxFSTlCakIsRUFBQTs7QXZHK0REO0V1R25KSjtJSnVIUSxnQkFBaUIsRUluQ3BCLEVBQUE7O0FKc0JEO0VJMUdKO0lKMkdRLFlBQVUsRUlqQmIsRUFBQTs7QUp1Qkc7RUlqSFI7SUprSFksYUFBVSxFSXhCakIsRUFBQTs7QUp1Qkc7RUlqSFI7SUprSFksYUFBVSxFSXhCakIsRUFBQTs7QXZHeUREO0V1R25KSjtJSnVIUSxhQUFpQixFSTdCcEIsRUFBQTs7QUpnQkQ7RUkxR0o7SUoyR1EsYUFBVSxFSVhiLEVBQUE7O0FKaUJHO0VJakhSO0lKa0hZLGFBQVUsRUlsQmpCLEVBQUE7O0FKaUJHO0VJakhSO0lKa0hZLGFBQVUsRUlsQmpCLEVBQUE7O0F2R21ERDtFdUduSko7SUp1SFEsV0FBaUIsRUl2QnBCLEVBQUE7O0FKVUQ7RUkxR0o7SUoyR1EsYUFBVSxFSVJiLEVBQUE7O0FKY0c7RUlqSFI7SUprSFksYUFBVSxFSWZqQixFQUFBOztBSmNHO0VJakhSO0lKa0hZLGFBQVUsRUlmakIsRUFBQTs7QXZHZ0REO0V1R25KSjtJSnVIUSxXQUFpQixFSXBCcEIsRUFBQTs7QUpPRDtFSTFHSjtJSjJHUSxZQUFVLEVJTGIsRUFBQTs7QUpXRztFSWpIUjtJSmtIWSxZQUFVLEVJWmpCLEVBQUE7O0FKV0c7RUlqSFI7SUprSFksYUFBVSxFSVpqQixFQUFBOztBdkc2Q0Q7RXVHbkpKO0lKdUhRLGFBQWlCLEVJakJwQixFQUFBOztBSklEO0VJMUdKO0lKMkdRLGFBQVUsRUlDYixFQUFBOztBSktHO0VJakhSO0lKa0hZLGFBQVUsRUlOakIsRUFBQTs7QUpLRztFSWpIUjtJSmtIWSxtQkFBVSxFSU5qQixFQUFBOztBdkd1Q0Q7RXVHbkpKO0lKdUhRLGlCQUFpQixFSVhwQixFQUFBOztBSkZEO0VJMUdKO0lKMkdRLGFBQVUsRUlJYixFQUFBOztBSkVHO0VJakhSO0lKa0hZLGFBQVUsRUlIakIsRUFBQTs7QUpFRztFSWpIUjtJSmtIWSxtQkFBVSxFSUhqQixFQUFBOztBdkdvQ0Q7RXVHbkpKO0lKdUhRLGlCQUFpQixFSVJwQixFQUFBOztBdkdvQ0Q7RXVHbkpKO0lBaUhNLFlBQVksRUFDYixFQUFBOztBekN6Rlc7RTBDUmhCO0kxQ1NvQix5QnZEc0RFLEVpRzdEckIsRUFBQTs7QTFDTWU7RTBDUmhCO0kxQ1NvQiwwQnZEc0RFLEVpRzdEckIsRUFBQTs7QUFFRDtFQUNFLGdCOUNxRnNCLEU4Q3BGdkI7O0FBQ0Q7RUFHSSxpQkFBaUI7RUFDakIsMEJqR29Ea0I7RWlHbkRsQixvQkFKc0IsRUFLdkI7O0ExQ0xhO0UwQ0RoQjtJMUNFb0Isc0J2RHNERSxFaUc3RW5CLEVBQUE7O0ExQ3NCYTtFMENEaEI7STFDRW9CLHVCdkRzREUsRWlHN0VuQixFQUFBOztBQXFCSDtFM0dORSxZQUFZO0VBQ1osZUFBZTtFQUNmLFNBQVM7RUFDVCxVQUFVO0VBQ1YsbUIyR1N5QztFM0dOdkMsOENBQXFEO0VBQ3JELHdCQUF3QjtFQUN4Qix1QkFBdUIsRTJHZnRCOztBL0dveVJMO0UrRzd3UkkseUJqRzZDa0IsRWlHNUNuQjs7QUFFSDtFQUNFLHdCQUFvQyxFQUNyQzs7QUFDRDtFQUVJLGlCQUFpQixFQUNsQjs7QUFFSDtFQUdNLGNBQWMsRUFJZjtFeEc4RkQ7SXdHckdKO01BS1EsZUFBZSxFQUVsQixFQUFBOztBQVBMO0VBU00sY0FBYyxFQUlmO0V4R3dGRDtJd0dyR0o7TUFXUSxlQUFlLEVBRWxCLEVBQUE7O0FBYkw7RUFlTSxjQUFjLEVBSWY7RXhHa0ZEO0l3R3JHSjtNQWlCUSxlQUFlLEVBRWxCLEVBQUE7O0FBbkJMO0VBcUJNLGNBQWMsRUFJZjtFeEc0RUQ7SXdHckdKO01BdUJRLGVBQWUsRUFFbEIsRUFBQTs7QUF6Qkw7RUEyQk0sY0FBYyxFQUlmO0V4R3NFRDtJd0dyR0o7TUE2QlEsZUFBZSxFQUVsQixFQUFBOztBQS9CTDtFQWtDSSw0QkFBbUI7TUFBbkIsMkJBQW1CO01BQW5CLG1CQUFtQjtFMUdEckIsbUJJbERzQjtNSmtEdEIsZUlsRHNCO0VKMERoQix1QkFIZ0I7RUFJaEIsd0JBSmdCO0VBcUJwQixnQkk1RW9CLEVzRzJEckI7RXhHMkRDO0l3R3JHSjtNMUd5Q1Esd0JBSGdCO01BSWhCLHlCQUpnQixFMEdJckIsRUFBQTtFeEcyREM7SXdHckdKO00xR2lDRSxvQklsRHNCO1VKa0R0QixnQklsRHNCO01KMERoQix1QkFIZ0I7TUFJaEIsd0JBSmdCO01BcUJwQixpQkk1RW9CLEVzRzJEckIsRUFBQTtFeEcyREM7SXdHckdKO00xR3lDUSx3QkFIZ0I7TUFJaEIseUJBSmdCLEUwR0lyQixFQUFBO0V4RzJEQztJd0dyR0o7TTFHaUNFLHVCSWxEc0I7VUprRHRCLG1CSWxEc0I7TUowRGhCLHVCQUhnQjtNQUloQix3QkFKZ0I7TUFxQnBCLG9CSTVFb0IsRXNHMkRyQixFQUFBO0V4RzJEQztJd0dyR0o7TTFHeUNRLHdCQUhnQjtNQUloQix5QkFKZ0IsRTBHSXJCLEVBQUE7O0FBMUNIO0UxR2lDRSxtQklsRHNCO01Ka0R0QixlSWxEc0I7RUowRGhCLHVCQUhnQjtFQUloQix3QkFKZ0I7RUFxQnBCLGdCSTVFb0IsRXNHb0VyQjtFeEdrREM7SXdHckdKO00xR3lDUSx3QkFIZ0I7TUFJaEIseUJBSmdCLEUwR2FyQixFQUFBO0V4R2tEQztJd0dyR0o7TTFHaUNFLHdCSWxEc0I7VUprRHRCLG9CSWxEc0I7TUowRGhCLHVCQUhnQjtNQUloQix3QkFKZ0I7TUFxQnBCLHFCSTVFb0IsRXNHb0VyQixFQUFBO0V4R2tEQztJd0dyR0o7TTFHeUNRLHdCQUhnQjtNQUloQix5QkFKZ0IsRTBHYXJCLEVBQUE7RXhHa0RDO0l3R3JHSjtNMUdpQ0Usa0JJbERzQjtVSmtEdEIsY0lsRHNCO01KMERoQix1QkFIZ0I7TUFJaEIsd0JBSmdCO01BcUJwQixlSTVFb0IsRXNHb0VyQixFQUFBO0V4R2tEQztJd0dyR0o7TTFHeUNRLHdCQUhnQjtNQUloQix5QkFKZ0IsRTBHYXJCLEVBQUE7O0FBbkRIO0UxR2lDRSxtQklsRHNCO01Ka0R0QixlSWxEc0I7RUowRGhCLHVCQUhnQjtFQUloQix3QkFKZ0I7RUFxQnBCLGdCSTVFb0IsRXNHNkVyQjtFeEd5Q0M7SXdHckdKO00xR3lDUSx3QkFIZ0I7TUFJaEIseUJBSmdCLEUwR3NCckIsRUFBQTtFeEd5Q0M7SXdHckdKO00xR2lDRSx3QklsRHNCO1VKa0R0QixvQklsRHNCO01KMERoQix1QkFIZ0I7TUFJaEIsd0JBSmdCO01BcUJwQixxQkk1RW9CLEVzRzZFckIsRUFBQTtFeEd5Q0M7SXdHckdKO00xR3lDUSx3QkFIZ0I7TUFJaEIseUJBSmdCLEUwR3NCckIsRUFBQTtFeEd5Q0M7SXdHckdKO00xR2lDRSxrQklsRHNCO1VKa0R0QixjSWxEc0I7TUowRGhCLHVCQUhnQjtNQUloQix3QkFKZ0I7TUFxQnBCLGVJNUVvQixFc0c2RXJCLEVBQUE7RXhHeUNDO0l3R3JHSjtNMUd5Q1Esd0JBSGdCO01BSWhCLHlCQUpnQixFMEdzQnJCLEVBQUE7O0FBNURIO0VBOERJLGNBQWMsRUFLZjtFeEdrQ0M7SXdHckdKO01BZ0VNLGVBQWU7TTFHL0JuQixrQklsRHNCO1VKa0R0QixjSWxEc0I7TUowRGhCLHVCQUhnQjtNQUloQix3QkFKZ0I7TUFxQnBCLGVJNUVvQixFc0dvRnJCLEVBQUE7RXhHa0NDO0l3R3JHSjtNMUd5Q1Esd0JBSGdCO01BSWhCLHlCQUpnQixFMEc2QnJCLEVBQUE7O0FBbkVIO0VBcUVJLDRCQUFtQjtNQUFuQiwyQkFBbUI7TUFBbkIsbUJBQW1CO0UxR3BDckIsbUJJbERzQjtNSmtEdEIsZUlsRHNCO0VKMERoQix1QkFIZ0I7RUFJaEIsd0JBSmdCO0VBcUJwQixnQkk1RW9CLEVzRzhGckI7RXhHd0JDO0l3R3JHSjtNMUd5Q1Esd0JBSGdCO01BSWhCLHlCQUpnQixFMEd1Q3JCLEVBQUE7RXhHd0JDO0l3R3JHSjtNMUdpQ0Usd0JJbERzQjtVSmtEdEIsb0JJbERzQjtNSjBEaEIsdUJBSGdCO01BSWhCLHdCQUpnQjtNQXFCcEIscUJJNUVvQixFc0c4RnJCLEVBQUE7RXhHd0JDO0l3R3JHSjtNMUd5Q1Esd0JBSGdCO01BSWhCLHlCQUpnQixFMEd1Q3JCLEVBQUE7RXhHd0JDO0l3R3JHSjtNMUdpQ0Usd0JJbERzQjtVSmtEdEIsb0JJbERzQjtNSjBEaEIsdUJBSGdCO01BSWhCLHdCQUpnQjtNQXFCcEIscUJJNUVvQixFc0c4RnJCLEVBQUE7RXhHd0JDO0l3R3JHSjtNMUd5Q1Esd0JBSGdCO01BSWhCLHlCQUpnQixFMEd1Q3JCLEVBQUE7O0ExQ2xHYTtFMkNuQlY7STNDb0JjLHNCdkRzREUsRWtHbkVqQixFQUFBOztBM0NZVztFMkNuQlY7STNDb0JjLHVCdkRzREUsRWtHbkVqQixFQUFBOztBQVBDO0VBS0UsMEJEbUhzQixFQ2xIdkI7O0EzQ2FTO0UwQ3VHaEI7STFDdEdvQix1QnZEc0RFLEVpR29EckIsRUFBQTs7QTFDM0dlO0UwQ3VHaEI7STFDdEdvQix3QnZEc0RFLEVpR29EckIsRUFBQTs7QTFDM0dlO0UwQ3VHaEI7STFDdEdvQixzQnZEc0RFLEVpR29EckIsRUFBQTs7QTFDM0dlO0UwQ3VHaEI7STFDdEdvQix1QnZEc0RFLEVpR29EckIsRUFBQTs7QTFDM0dlO0UwQ3VHaEI7STFDdEdvQix3QnZEc0RFLEVpR29EckIsRUFBQTs7QTFDM0dlO0UwQ3VHaEI7STFDdEdvQix5QnZEc0RFLEVpR29EckIsRUFBQTs7QUFDRDtFMUNsSGdCLG1CdkQ2RE0sRWlHdURyQjtFMUM5R2U7STBDNEdoQjtNMUMzR29CLHFCdkRzREUsRWlHdURyQixFQUFBO0UxQzlHZTtJMEM0R2hCO00xQzNHb0Isb0J2RHNERSxFaUd1RHJCLEVBQUE7RTFDOUdlO0kwQzRHaEI7TTFDM0dvQixxQnZEc0RFLEVpR3VEckIsRUFBQTs7QUFFRDtFQUNFLHFCQUFjO0VBQWQsY0FBYztFQUNkLHVCQUFvQjtNQUFwQixvQkFBb0IsRUFNckI7RTFDeEhlO0kwQ2dIaEI7TTFDL0dvQix3QnZEc0RFLEVpR2lFckIsRUFBQTtFMUN4SGU7STBDZ0hoQjtNMUMvR29CLHlCdkRzREUsRWlHaUVyQixFQUFBO0VBUkQ7SUFNSSxpQkFBaUIsRUFDbEI7STFDdkhhO00wQ2dIaEI7UTFDL0dvQix3QnZEc0RFLEVpR2dFbkIsRUFBQTtJMUN2SGE7TTBDZ0hoQjtRMUMvR29CLHlCdkRzREUsRWlHZ0VuQixFQUFBOztBQUdIO0VBQ0UsK0JBQWdILEVBQ2pIOztBQUVEO0VBQ0Usc0JBQXNCO0VBQ3RCLG1CQUFtQjtFQUNuQix1QmpHMUVvQixFaUdxRnJCO0VBZEQ7SUFNSSxtQkFBbUI7SUFDbkIsVzVHakdRO0k0R2tHUixnQmpHL0VrQjtJaUdnRmxCLGlCakdoRmtCO0lpR2lGbEIsU0FBUztJQUNULHVCQUFnQztJQUNoQyxnQkFBaUMsRUFDbEM7O0FBR0g7RUFDRSxzQkFBc0I7RUFDdEIsbUJBQW1CO0VBQ25CLHVCakcxRm9CLEVpR3FHckI7RUFkRDtJQU1JLG1CQUFtQjtJQUNuQixjNUc1SGM7STRHNkhkLGdCakcvRmtCO0lpR2dHbEIsaUJqR2hH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NUdyY1csRTRHdWNkO0VBM0JQO0lBdUJRLDBCOUN6VVUsRThDNlVYO0VBM0JQO0lBdUJRLDBCOUN4VVMsRThDNFVWOztBQUtQO0VBRUksZ0JBQWdCO0VBQ2hCLGU1R3RkZ0I7RTRHdWRoQix1QjVHN2NRLEU0RzhjVDs7QUFHSDtFQUNFLG1CQUFtQixFQUlwQjtFeEdoWUc7SXdHMlhKO01BR0ksa0JBQWtCLEVBRXJCLEVBQUE7O0FBRUQ7RUFDRSxtQkFBbUIsRUF5QnBCO0VBMUJEO0lBR0ksWUFBWSxFQUNiO0VBSkg7SUFNSSxnQkFBZ0I7SUFDaEIsMEI1R2xlaUI7STRHbWVqQixVQUFVO0lBQ1Ysb0M5QzlWa0IsRThDb1duQjtJMUMzZ0JhO00wQzRmaEI7UTFDM2ZvQixtQnZEc0RFLEVpR29kbkIsRUFBQTtJMUMzZ0JhO00wQzRmaEI7UTFDM2ZvQixvQnZEc0RFLEVpR29kbkIsRUFBQTtJMUMzZ0JhO00wQzRmaEI7UTFDM2ZvQix3QnZEc0RFLEVpR29kbkIsRUFBQTtJMUMzZ0JhO00wQzRmaEI7UTFDM2ZvQix5QnZEc0RFLEVpR29kbkIsRUFBQTtJQWZIO01BYU0sc0I1R2hmWSxFNEdpZmI7RUFkTDtJQWlCSSxtQkFBbUI7SUFDbkIsbUJBQW1CO0lBQ25CLFFBQVE7SUFDUixPQUFPO0lBQ1AsV0FBVyxFQUNaO0VBdEJIO0lBd0JJLHNCNUczZmMsRTRHNGZmOztBQUdIO0VBQ0UscUJqR2xlb0I7RWlHbWVwQixrQjVHOWV1QjtFNEcrZXZCLGNBQWMsRUFPZjtFMUNsaUJlO0kwQ3doQmhCO00xQ3ZoQm9CLHdCdkRzREUsRWlHMmVyQixFQUFBO0UxQ2xpQmU7STBDd2hCaEI7TTFDdmhCb0IseUJ2RHNERSxFaUcyZXJCLEVBQUE7RUFWRDtJQU1JLGNBQWM7SUFDZCxpQkFBaUI7SUFDakIsb0I1R3JmeUIsRTRHc2YxQjs7QTFDamlCYTtFMENvaUJoQjtJMUNuaUJvQixzQnZEc0RFLEVpR2dmbkIsRUFBQTs7QTFDdmlCYTtFMENvaUJoQjtJMUNuaUJvQix1QnZEc0RFLEVpR2dmbkIsRUFBQTs7QUFHSDtFQUVJLGFBQWEsRUFDZDs7QUFISDtFQUtJLGlCNUczZ0JRO0U0RzRnQlIsbUJBQW1CO0VBQ25CLFFBQVE7RUFDUixVQUFVO0VBQ1YsU0FBUyxFQU9WO0UxQzFqQmE7STBDMGlCaEI7TTFDemlCb0Isd0J2RHNERSxFaUdtZ0JuQixFQUFBO0UxQzFqQmE7STBDMGlCaEI7TTFDemlCb0IseUJ2RHNERSxFaUdtZ0JuQixFQUFBO0UxQzFqQmE7STBDMGlCaEI7TTFDemlCb0IseUJ2RHNERSxFaUdtZ0JuQixFQUFBO0UxQzFqQmE7STBDMGlCaEI7TTFDemlCb0IsMEJ2RHNERSxFaUdtZ0JuQixFQUFBO0UxQzFqQmE7STBDMGlCaEI7TTFDemlCb0Isd0J2RHNERSxFaUdrZ0JqQixFQUFBO0UxQ3pqQlc7STBDMGlCaEI7TTFDemlCb0IseUJ2RHNERSxFaUdrZ0JqQixFQUFBO0UxQ3pqQlc7STBDMGlCaEI7TTFDemlCb0IseUJ2RHNERSxFaUdrZ0JqQixFQUFBO0UxQ3pqQlc7STBDMGlCaEI7TTFDemlCb0IsMEJ2RHNERSxFaUdrZ0JqQixFQUFBOztBMUN6akJXO0UwQzZqQmhCO0kxQzVqQm9CLHdCdkRzREUsRWlHd2dCckIsRUFBQTs7QTFDL2pCZTtFMEM2akJoQjtJMUM1akJvQix5QnZEc0RFLEVpR3dnQnJCLEVBQUE7O0FBRUQ7RUFDRSxlNUd4aUJrQjtFNEd5aUJsQixpQkFBaUI7RUFDakIsaUJBQWlCLEVBQ2xCOztBMUNya0JlO0U0Q3ZCaEI7STVDd0JvQix3Qkd2QkksRXlDdUV2QixFQUFBOztBNUNqRGU7RTRDdkJoQjtJNUN3Qm9CLHlCR3ZCSSxFeUN1RXZCLEVBQUE7O0E1Q2pEZTtFNEN2QmhCO0k1Q3dCb0IseUJHdkJJLEV5Q3VFdkIsRUFBQTs7QTVDakRlO0U0Q3ZCaEI7STVDd0JvQiwwQkd2QkksRXlDdUV2QixFQUFBOztBQXhFRDtFQUlRLHVCQUF1QjtFQUN2QiwyQkFBdUI7TUFBdkIsdUJBQXVCO0VBQ3ZCLHFCQUFhO01BQWIsYUFBYTtFQUNiLHFCQUFlO01BQWYsZUFBZTtFQUNmLG1CQUFtQixFQWtDdEI7RUExQ0w7SUFVWSxtQkFBbUI7SUFDbkIsWUFBWTtJQUNaLGVBQWU7SUFDZixPQUFPO0lBQ1AsZ0JuR2dFVTtJbUcvRFYsZW5HK0RVO0ltRzlEVixpQm5HOERVLEVtRzdEYjtFQWpCVDtJQW1CWSx1QjlHd0NBO0k4R3ZDQSx3Q0FBd0M7SUFDeEMsNkJBQTZCO0lBRTdCLFlBQVksRUFDZjtFQXhCVDtJQTBCWSwyQ2hENkprQjtJZ0Q1SmxCLCtDaER1Sk07SWdEdEpOLCtCQUErQjtJQUMvQixvQ0FBb0M7SUFDcEMsYUFBYSxFQUVoQjs7QUFDRDtFQUNJO0lBQUksNkNoRGdKRTtJZ0RoSm9FLGFBQWEsRUFBQTtFQUN2RjtJQUFLLGFBQWEsRUFBQTtFQUNsQjtJQUFPLDhDaEQ4SUQ7SWdEOUl3RSxhQUFhLEVBQUEsRUFBQTs7QUFFL0Y7RUFDSTtJQUFJLHVCQUFnQjtJQUFRLGFBQWEsRUFBQTtFQUN6QztJQUFPLG9CQUFnQjtJQUFLLFdBQVcsRUFBQSxFQUFBOztBQXhDbkQ7RUE2Q1ksMEJBQXFCLEVBSXhCO0VBakRUO0lBK0NnQixlaERvSUMsRWdEbklKOztBQWhEYjtFQW1EWSxtQm5HMkJVLEVtRzFCYjs7QUFwRFQ7RUF3RFksMkNBQWlDLEVBQ3BDOztBQXpEVDtFNUdnQ0ksZ0JGYWU7RUVaZixrQkFBa0I7RUFDbEIsbUJBQW1CO0VBSW5CLHFCQUFjO0VBQWQsY0FBYztFQUNkLHdCQUFvQjtNQUFwQixvQkFBb0IsRTRHc0JuQjs7QUE3REw7RTVHNkVFLG1CSWxEc0I7TUprRHRCLGVJbERzQjtFSjBEaEIsd0JBSGdCO0VBSWhCLHlCQUpnQjtFQXFCcEIsZ0JJNUVvQixFd0dzQ2Y7RTFHZ0ZMO0kwR2pKSjtNNUdxRlEseUJBSGdCO01BSWhCLDBCQUpnQixFNEdqQmYsRUFBQTs7QTFHZ0ZMO0UwR2pKSjtJNUc2RUUsa0JJbERzQjtRSmtEdEIsY0lsRHNCO0lKMERoQix3QkFIZ0I7SUFJaEIseUJBSmdCO0lBcUJwQixlSTVFb0IsRXdHMENYLEVBQUE7RTFHNEVUO0kwR2pKSjtNNUdxRlEseUJBSGdCO01BSWhCLDBCQUpnQixFNEdiWCxFQUFBOztBQUliO0VBQ0ksbUJBQW1CO0VBQ25CLGlCOUdoQlE7RThHaUJSLCtDaERzR2MsRWdETWpCO0U1Q2pLZTtJNENrRGhCO001Q2pEb0Isd0J2RHNERSxFbUcwR3JCLEVBQUE7RTVDaktlO0k0Q2tEaEI7TTVDakRvQix5QnZEc0RFLEVtRzBHckIsRUFBQTtFQS9HRDtJQU1RLFlBQVk7SUFDWixtQkFBbUI7SUFDbkIsY0FBYyxFQUNqQjtFQVRMO0lBV1Esb0JBQWU7SUFDZixPQUFPO0lBQ1AsUUFBUTtJQUNSLFlBQVk7SUFDWixhQUFhO0lBQ2IsYUFBYSxFQUNoQjtFQWpCTDtJQW1CUSxVQUFVO0lBQ1YsU0FBUztJQUNULHVCQUF5QztJQUN6Qyx3QkFBMEM7SUFDMUMsOEJBQThCO0lBQzlCLCtCOUdqRFU7SThHa0RWLHdDOUd4Q087SThHeUNQLDBDOUd6Q087SThHMENQLGdCbkd0QmM7SW1HdUJkLGlCbkd2QmM7SW1Hd0JkLG1CQUFtQjtJQUNuQixhQUFhO0lBQ2Isa0RBQWtELEVBQ3JEO0VBaENMO0lBa0NRLGlDaEQ0RXNCO0lnRDNFdEIsaUI5R2pESTtJOEdrREosNkJuRy9CYyxFbUcrQ2pCO0lBcERMO01Bc0NZLFVBQVU7TUFDVixlOUcvRFE7TThHZ0VSLGtCQUFrQjtNNUNoR2QsZ0J2RDZETSxFbUdxQ2I7TTVDNUZPO1E0Q2tEaEI7VTVDakRvQixvQnZEc0RFLEVtR3FDYixFQUFBO001QzVGTztRNENrRGhCO1U1Q2pEb0Isb0J2RHNERSxFbUdxQ2IsRUFBQTtJQTFDVDtNQTRDWSxXQUFXO01BQ1gsNkJBQTZCLEVBQ2hDO0lBOUNUO01BaURnQixXQUFXLEVBQ2Q7RUFsRGI7SUF5RFEsaUNuR3BEYyxFbUdxRGpCO0VBMURMO0lBNERRLHlDbkd2RGM7SW1Hd0RkLGVBQWUsRUFFbEI7SUEvREw7TTdHZ0VJLGFBQWE7TUFDYixlQUFlO01BRWIsMkJBQWM7VUFBZCxjQUFjO01BQ2Qsa0JBQVM7VUFBVCxTQUFTLEVBRVo7STZHdEVIO003R3lFSSxZQUFZLEVBQ2I7RTZHMUVIO0lBaUVRLGFBQWEsRUFDaEI7RUFsRUw7SUFvRVEsaUI5R2xGSSxFOEc2RlA7SUEvRUw7TUF1RWdCLHVCOUdyRkosRThHc0ZDO0lBeEViO01BNEVnQixtQkFBbUIsRUFDdEI7RUE3RWI7SUFrRlksMkM5R2hHQSxFOEdpR0g7RVBwREw7SU8vQko7TVBnQ1EsWUFBVSxFT3VEYixFQUFBO0VQakRHO0lPdENSO01QdUNZLGFBQVUsRU9nRGpCLEVBQUE7RVBqREc7SU90Q1I7TVB1Q1ksYUFBVSxFT2dEakIsRUFBQTtFMUdmRDtJMEd4RUo7TVA0Q1EsYUFBaUIsRU8yQ3BCLEVBQUE7RUF2Rkw7SVBoQ0ksaUJBQWlCO0lBR2IsaUJKN0NpQixFSThMcEI7SXJDdEtXO000Q2tEaEI7UTVDakRvQix3QnZEc0RFLEU0RitHakIsRUFBQTtJckN0S1c7TTRDa0RoQjtRNUNqRG9CLHlCdkRzREUsRTRGK0dqQixFQUFBO0lBL0lEO01BekNJLG9CQUFvQjtNQUNwQixtQkFBbUI7TUFDbkIsaUJBQWlCO01BQ2pCLFlBQVk7TUFFUixpQkFBaUIsRUFzQ3hCO0lBQ0Q7TUE3Qkksb0JBQW9CO01BQ3BCLGFBQWE7TUFDYixxQkFBYztNQUFkLGNBQWM7TUFDZCx1QkFBeUI7VUFBekIseUJBQXlCLEVBNEI1QjtJQUNEO01BcEJJLGFKbEN5QjtNSW1DekIsNEJBQXFCO01BQXJCLHFCQUFxQjtNQUNyQixvQkFBb0I7TUFDcEIsdUJBQW9CO1VBQXBCLG9CQUFvQixFQW1CdkI7SUFDRDtNQUNJLG1CQUFlO1VBQWYsZUFBZSxFQUNsQjtJbkd3RkQ7TTBHeEVKO1FQWkksaUJBQWlCO1FBQ2pCLFlBQVk7UTNEK0VkLGVBQWU7UUFDZixZQUFZO1FBQ1osaUJBQWlCO1EyRHJFWCxpQkFBaUIsRUFtSHBCO1FBdkhEO1VBcEVJLFlBQVksRUFzRWYsRUFBQTtJckNqRFc7TXFDK0NaO1FyQzlDZ0Isd0J2RHNERSxFNEZOakIsRUFBQTtJckNqRFc7TXFDK0NaO1FyQzlDZ0IseUJ2RHNERSxFNEZOakIsRUFBQTtJbkd5RUQ7UW1HdEVJO1VBQ0ksaUJKN0VhLEVJOEVoQjtRQUVMO1VBOURJLG9CQUFvQjtVQUNwQixtQkFBbUIsRUErRHRCO1FBQ0Q7VUFyREksb0JBQW9CO1VBQ3BCLFlBQVksRUFzRGYsRUFBQTtJQWdGTztNQWZBLGU1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsZ0JBWmEsRUE2QlosRUFBQTtJQUZEO01BZkEsYzVGdkVVLEU0RndGVDtNbkdyQlQ7UW1HbUJRO1VBZkEsWTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxrQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGdCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGU1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsWTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxnQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGFBWmEsRUE2QlosRUFBQTtJQUZEO01BZkEsWTVGdkVVLEU0RndGVDtNbkdyQlQ7UW1HbUJRO1VBZkEsWTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGU1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsaUJBWmEsRUE2QlosRUFBQTtJQUZEO01BZkEsYzVGdkVVLEU0RndGVDtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsV0FaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxlNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGE1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxpQkFaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxnQjVGdkVVLEU0RndGVDtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsYUFaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxlNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGdCNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGE1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsV0FaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxnQjVGdkVVLEU0RndGVDtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxpQkFaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxlNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGdCNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsZTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxhQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGE1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxpQkFaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxnQjVGdkVVLEU0RndGVDtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxpQkFaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxlNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxXQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGdCNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGE1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsZTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxpQkFaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxnQjVGdkVVLEU0RndGVDtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsYUFaYSxFQTZCWixFQUFBO0lBRkQ7TUFmQSxlNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGdCNUZ2RVUsRTRGd0ZUO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGlCQVphLEVBNkJaLEVBQUE7SUFGRDtNQWZBLGE1RnZFVSxFNEZ3RlQ7TW5HckJUO1FtR21CUTtVQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsYTVGdkVVLEU0RndGVCxFQUFBO01uR3JCVDtRbUdtQlE7VUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7TW5HckJUO1FtR21CUTtVQWZBLGM1RnZFVSxFNEZ3RlQsRUFBQTtNbkdyQlQ7UW1HbUJRO1VBZkEsWUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxZNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxrQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxZNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFk1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxXQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYzVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxZQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0JBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsWTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsV0FaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsV0FaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxjNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFlBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsa0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0JBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxrQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxnQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0I1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxXQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYzVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxZQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGtCNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGdCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFdBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxhQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGE1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsV0FaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxlNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGFBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsbUI1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsaUJBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYTVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxXQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLG1CNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGlCQVphLEVBNkJaLEVBQUE7SW5HckJUO01tR21CUTtRQWZBLGU1RnZFVSxFNEZ3RlQsRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsYUFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxtQjVGdkVVLEU0RndGVCxFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxpQkFaYSxFQTZCWixFQUFBO0luR3JCVDtNbUdtQlE7UUFmQSxjNUZ2RVUsRTRGd0ZULEVBQUE7SW5HckJUO01tR21CUTtRQWZBLFlBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0JBWmEsRUE2QlosRUFBQTtJbkdyQlQ7TW1HbUJRO1FBZkEsZ0JBWmEsRUE2QlosRUFBQTtJbkdyQlQ7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SFksYUFBVSxFUTNGakIsRUFBQTs7QVIwRkc7RVEvR1I7SVJnSFksbUJBQVUsRVEzRmpCLEVBQUE7O0EzRzRIRDtFMkdqSko7SVJxSFEsZ0JBQWlCLEVRaEdwQixFQUFBOztBUm1GRDtFUXhHSjtJUnlHUSxZQUFVLEVRL0VULEVBQUE7O0FScUZEO0VRL0dSO0lSZ0hZLGFBQVUsRVF0RmIsRUFBQTs7QVJxRkQ7RVEvR1I7SVJnSFksbUJBQVUsRVF0RmIsRUFBQTs7QTNHdUhMO0UyR2pKSjtJUnFIUSxpQkFBaUIsRVEzRmhCLEVBQUE7O0FSOEVMO0VReEdKO0lSeUdRLFlBQVUsRVE1RVQsRUFBQTs7QVJrRkQ7RVEvR1I7SVJnSFksZUFBVSxFUW5GYixFQUFBOztBUmtGRDtFUS9HUjtJUmdIWSxhQUFVLEVRbkZiLEVBQUE7O0EzR29ITDtFMkdqSko7SVJxSFEsY0FBaUIsRVF4RmhCLEVBQUE7O0FSMkVMO0VReEdKO0lSeUdRLGFBQVUsRVF6RVQsRUFBQTs7QVIrRUQ7RVEvR1I7SVJnSFksYUFBVSxFUWhGYixFQUFBOztBUitFRDtFUS9HUjtJUmdIWSxtQkFBVSxFUWhGYixFQUFBOztBM0dpSEw7RTJHakpKO0lScUhRLGlCQUFpQixFUXJGaEIsRUFBQTs7QVJ3RUw7RVF4R0o7SVJ5R1EsWUFBVSxFUXRFVCxFQUFBOztBUjRFRDtFUS9HUjtJUmdIWSxhQUFVLEVRN0ViLEVBQUE7O0FSNEVEO0VRL0dSO0lSZ0hZLGFBQVUsRVE3RWIsRUFBQTs7QTNHOEdMO0UyR2pKSjtJUnFIUSxhQUFpQixFUWxGaEIsRUFBQTs7QVJxRUw7RVF4R0o7SVJ5R1EsWUFBVSxFUW5FVCxFQUFBOztBUnlFRDtFUS9HUjtJUmdIWSxZQUFVLEVRMUViLEVBQUE7O0FSeUVEO0VRL0dSO0lSZ0hZLGtCQUFVLEVRMUViLEVBQUE7O0EzRzJHTDtFMkdqSko7SVJxSFEsZ0JBQWlCLEVRL0VoQixFQUFBOztBUmtFTDtFUXhHSjtJUnlHUSxZQUFVLEVRN0RULEVBQUE7O0FSbUVEO0VRL0dSO0lSZ0hZLGFBQVUsRVFwRWIsRUFBQTs7QVJtRUQ7RVEvR1I7SVJnSFksbUJBQVUsRVFwRWIsRUFBQTs7QTNHcUdMO0UyR2pKSjtJUnFIUSxnQkFBaUIsRVF6RWhCLEVBQUE7O0FSNERMO0VReEdKO0lSeUdRLGFBQVUsRVF2RFQsRUFBQTs7QVI2REQ7RVEvR1I7SVJnSFksYUFBVSxFUTlEYixFQUFBOztBUjZERDtFUS9HUjtJUmdIWSxtQkFBVSxFUTlEYixFQUFBOztBM0crRkw7RTJHakpKO0lScUhRLGlCQUFpQixFUW5FaEIsRUFBQTs7QVJzREw7RVF4R0o7SVJ5R1EsWUFBVSxFUXBEVCxFQUFBOztBUjBERDtFUS9HUjtJUmdIWSxhQUFVLEVRM0RiLEVBQUE7O0FSMEREO0VRL0dSO0lSZ0hZLGFBQVUsRVEzRGIsRUFBQTs7QTNHNEZMO0UyR2pKSjtJUnFIUSxhQUFpQixFUWhFaEIsRUFBQTs7QVJtREw7RVF4R0o7SVJ5R1EsYUFBVSxFUWpEVCxFQUFBOztBUnVERDtFUS9HUjtJUmdIWSxhQUFVLEVReERiLEVBQUE7O0FSdUREO0VRL0dSO0lSZ0hZLG1CQUFVLEVReERiLEVBQUE7O0EzR3lGTDtFMkdqSko7SVJxSFEsaUJBQWlCLEVRN0RoQixFQUFBOztBQUlUO0VBRVEsWUFBWSxFQUNmOztBQUhMO0VBS1EsMkJwR2FjO0VvR1pkLDJCQUF1QjtNQUF2Qix1QkFBdUI7RUFDdkIsc0JBQXdCO01BQXhCLHdCQUF3QixFQUMzQjs7QVJvQ0Q7RVE1Q0o7SVI2Q1EsWUFBVSxFUWhDVCxFQUFBOztBUnNDRDtFUW5EUjtJUm9EWSxhQUFVLEVRdkNiLEVBQUE7O0FSc0NEO0VRbkRSO0lSb0RZLGFBQVUsRVF2Q2IsRUFBQTs7QTNHd0VMO0UyR3JGSjtJUnlEUSxhQUFpQixFUTVDaEIsRUFBQTs7QUFJVDtFQUVNLDJCcEdEZ0IsRW9HRWpCOztBUndCRDtFUzFHSjtJVDJHUSxhQUFVLEVTeEdiLEVBQUE7O0FUOEdHO0VTakhSO0lUa0hZLGFBQVUsRVMvR2pCLEVBQUE7O0FUOEdHO0VTakhSO0lUa0hZLGFBQVUsRVMvR2pCLEVBQUE7O0E1R2dKRDtFNEduSko7SVR1SFEsV0FBaUIsRVNwSHBCLEVBQUE7O0FUdUdEO0VTMUdKO0lUMkdRLGFBQVUsRVNyR2IsRUFBQTs7QVQyR0c7RVNqSFI7SVRrSFksYUFBVSxFUzVHakIsRUFBQTs7QVQyR0c7RVNqSFI7SVRrSFksYUFBVSxFUzVHakIsRUFBQTs7QTVHNklEO0U0R25KSjtJVHVIUSxXQUFpQixFU2pIcEIsRUFBQTs7QVRvR0Q7RVMxR0o7SVQyR1EsYUFBVSxFU2xHYixFQUFBOztBVHdHRztFU2pIUjtJVGtIWSxhQUFVLEVTekdqQixFQUFBOztBVHdHRztFU2pIUjtJVGtIWSxtQkFBVSxFU3pHakIsRUFBQTs7QTVHMElEO0U0R25KSjtJVHVIUSxpQkFBaUIsRVM5R3BCLEVBQUE7O0FUaUdEO0VTMUdKO0lUMkdRLGFBQVUsRVMvRmIsRUFBQTs7QVRxR0c7RVNqSFI7SVRrSFksYUFBVSxFU3RHakIsRUFBQTs7QVRxR0c7RVNqSFI7SVRrSFksbUJBQVUsRVN0R2pCLEVBQUE7O0E1R3VJRDtFNEduSko7SVR1SFEsaUJBQWlCLEVTM0dwQixFQUFBOztBVDhGRDtFUzFHSjtJVDJHUSxhQUFVLEVTMUZULEVBQUE7O0FUZ0dEO0VTakhSO0lUa0hZLGFBQVUsRVNqR2IsRUFBQTs7QVRnR0Q7RVNqSFI7SVRrSFksbUJBQVUsRVNqR2IsRUFBQTs7QTVHa0lMO0U0R25KSjtJVHVIUSxpQkFBaUIsRVN0R2hCLEVBQUE7O0FUeUZMO0VTMUdKO0lUMkdRLGFBQVUsRVN2RlQsRUFBQTs7QVQ2RkQ7RVNqSFI7SVRrSFksYUFBVSxFUzlGYixFQUFBOztBVDZGRDtFU2pIUjtJVGtIWSxtQkFBVSxFUzlGYixFQUFBOztBNUcrSEw7RTRHbkpKO0lUdUhRLGlCQUFpQixFU25HaEIsRUFBQTs7QVRzRkw7RVMxR0o7SVQyR1EsYUFBVSxFU3BGVCxFQUFBOztBVDBGRDtFU2pIUjtJVGtIWSxhQUFVLEVTM0ZiLEVBQUE7O0FUMEZEO0VTakhSO0lUa0hZLGFBQVUsRVMzRmIsRUFBQTs7QTVHNEhMO0U0R25KSjtJVHVIUSxXQUFpQixFU2hHaEIsRUFBQTs7QVRtRkw7RVMxR0o7SVQyR1EsYUFBVSxFU2pGVCxFQUFBOztBVHVGRDtFU2pIUjtJVGtIWSxhQUFVLEVTeEZiLEVBQUE7O0FUdUZEO0VTakhSO0lUa0hZLG1CQUFVLEVTeEZiLEVBQUE7O0E1R3lITDtFNEduSko7SVR1SFEsaUJBQWlCLEVTN0ZoQixFQUFBOztBVGdGTDtFVTFHSjtJVjJHUSxhQUFVLEVVdkdULEVBQUE7O0FWNkdEO0VVakhSO0lWa0hZLGFBQVUsRVU5R2IsRUFBQTs7QVY2R0Q7RVVqSFI7SVZrSFksYUFBVSxFVTlHYixFQUFBOztBN0crSUw7RTZHbkpKO0lWdUhRLFdBQWlCLEVVbkhoQixFQUFBOztBVnNHTDtFVTFHSjtJVjJHUSxhQUFVLEVVakdULEVBQUE7O0FWdUdEO0VVakhSO0lWa0hZLGFBQVUsRVV4R2IsRUFBQTs7QVZ1R0Q7RVVqSFI7SVZrSFksbUJBQVUsRVV4R2IsRUFBQTs7QTdHeUlMO0U2R25KSjtJVnVIUSxpQkFBaUIsRVU3R2hCLEVBQUE7O0FWZ0dMO0VXMUdKO0lYMkdRLGFBQVUsRVd4R2IsRUFBQTs7QVg4R0c7RVdqSFI7SVhrSFksYUFBVSxFVy9HakIsRUFBQTs7QVg4R0c7RVdqSFI7SVhrSFksbUJBQVUsRVcvR2pCLEVBQUE7O0E5R2dKRDtFOEduSko7SVh1SFEsaUJBQWlCLEVXcEhwQixFQUFBOztBWHVHRDtFVzFHSjtJWDJHUSxhQUFVLEVXckdiLEVBQUE7O0FYMkdHO0VXakhSO0lYa0hZLGFBQVUsRVc1R2pCLEVBQUE7O0FYMkdHO0VXakhSO0lYa0hZLGFBQVUsRVc1R2pCLEVBQUE7O0E5RzZJRDtFOEduSko7SVh1SFEsV0FBaUIsRVdqSHBCLEVBQUE7O0FYb0dEO0VXMUdKO0lYMkdRLGFBQVUsRVdsR2IsRUFBQTs7QVh3R0c7RVdqSFI7SVhrSFksYUFBVSxFV3pHakIsRUFBQTs7QVh3R0c7RVdqSFI7SVhrSFksbUJBQVUsRVd6R2pCLEVBQUE7O0E5RzBJRDtFOEduSko7SVh1SFEsaUJBQWlCLEVXOUdwQixFQUFBOztBWGlHRDtFVzFHSjtJWDJHUSxhQUFVLEVXL0ZiLEVBQUE7O0FYcUdHO0VXakhSO0lYa0hZLGFBQVUsRVd0R2pCLEVBQUE7O0FYcUdHO0VXakhSO0lYa0hZLG1CQUFVLEVXdEdqQixFQUFBOztBOUd1SUQ7RThHbkpKO0lYdUhRLGlCQUFpQixFVzNHcEIsRUFBQTs7QVg4RkQ7RVcxR0o7SVgyR1EsYUFBVSxFVzFGVCxFQUFBOztBWGdHRDtFV2pIUjtJWGtIWSxhQUFVLEVXakdiLEVBQUE7O0FYZ0dEO0VXakhSO0lYa0hZLG1CQUFVLEVXakdiLEVBQUE7O0E5R2tJTDtFOEduSko7SVh1SFEsaUJBQWlCLEVXdEdoQixFQUFBOztBWHlGTDtFVzFHSjtJWDJHUSxhQUFVLEVXdkZULEVBQUE7O0FYNkZEO0VXakhSO0lYa0hZLGFBQVUsRVc5RmIsRUFBQTs7QVg2RkQ7RVdqSFI7SVhrSFksbUJBQVUsRVc5RmIsRUFBQTs7QTlHK0hMO0U4R25KSjtJWHVIUSxpQkFBaUIsRVduR2hCLEVBQUE7O0FYc0ZMO0VXMUdKO0lYMkdRLGFBQVUsRVdwRlQsRUFBQTs7QVgwRkQ7RVdqSFI7SVhrSFksYUFBVSxFVzNGYixFQUFBOztBWDBGRDtFV2pIUjtJWGtIWSxtQkFBVSxFVzNGYixFQUFBOztBOUc0SEw7RThHbkpKO0lYdUhRLGlCQUFpQixFV2hHaEIsRUFBQTs7QVhtRkw7RVcxR0o7SVgyR1EsYUFBVSxFV2pGVCxFQUFBOztBWHVGRDtFV2pIUjtJWGtIWSxhQUFVLEVXeEZiLEVBQUE7O0FYdUZEO0VXakhSO0lYa0hZLG1CQUFVLEVXeEZiLEVBQUE7O0E5R3lITDtFOEduSko7SVh1SFEsaUJBQWlCLEVXN0ZoQixFQUFBOztBWGdGTDtFVzFHSjtJWDJHUSxhQUFVLEVXM0VULEVBQUE7O0FYaUZEO0VXakhSO0lYa0hZLGFBQVUsRVdsRmIsRUFBQTs7QVhpRkQ7RVdqSFI7SVhrSFksbUJBQVUsRVdsRmIsRUFBQTs7QTlHbUhMO0U4R25KSjtJWHVIUSxpQkFBaUIsRVd2RmhCLEVBQUE7O0FYMEVMO0VXMUdKO0lYMkdRLGFBQVUsRVdyRVQsRUFBQTs7QVgyRUQ7RVdqSFI7SVhrSFksYUFBVSxFVzVFYixFQUFBOztBWDJFRDtFV2pIUjtJWGtIWSxhQUFVLEVXNUViLEVBQUE7O0E5RzZHTDtFOEduSko7SVh1SFEsV0FBaUIsRVdqRmhCLEVBQUE7O0FYb0VMO0VXMUdKO0lYMkdRLFlBQVUsRVdsRVQsRUFBQTs7QVh3RUQ7RVdqSFI7SVhrSFksYUFBVSxFV3pFYixFQUFBOztBWHdFRDtFV2pIUjtJWGtIWSxhQUFVLEVXekViLEVBQUE7O0E5RzBHTDtFOEduSko7SVh1SFEsYUFBaUIsRVc5RWhCLEVBQUE7O0FYaUVMO0VZMUdKO0laMkdRLFlBQVUsRVl4R2IsRUFBQTs7QVo4R0c7RVlqSFI7SVprSFksYUFBVSxFWS9HakIsRUFBQTs7QVo4R0c7RVlqSFI7SVprSFksYUFBVSxFWS9HakIsRUFBQTs7QS9HZ0pEO0UrR25KSjtJWnVIUSxhQUFpQixFWXBIcEIsRUFBQTs7QVp1R0Q7RVkxR0o7SVoyR1EsYUFBVSxFWXJHYixFQUFBOztBWjJHRztFWWpIUjtJWmtIWSxhQUFVLEVZNUdqQixFQUFBOztBWjJHRztFWWpIUjtJWmtIWSxtQkFBVSxFWTVHakIsRUFBQTs7QS9HNklEO0UrR25KSjtJWnVIUSxpQkFBaUIsRVlqSHBCLEVBQUE7O0Fab0dEO0VZMUdKO0laMkdRLGFBQVUsRVlsR2IsRUFBQTs7QVp3R0c7RVlqSFI7SVprSFksYUFBVSxFWXpHakIsRUFBQTs7QVp3R0c7RVlqSFI7SVprSFksbUJBQVUsRVl6R2pCLEVBQUE7O0EvRzBJRDtFK0duSko7SVp1SFEsaUJBQWlCLEVZOUdwQixFQUFBOztBWmlHRDtFWTFHSjtJWjJHUSxhQUFVLEVZL0ZiLEVBQUE7O0FacUdHO0VZakhSO0laa0hZLGFBQVUsRVl0R2pCLEVBQUE7O0FacUdHO0VZakhSO0laa0hZLG1CQUFVLEVZdEdqQixFQUFBOztBL0d1SUQ7RStHbkpKO0ladUhRLGlCQUFpQixFWTNHcEIsRUFBQTs7QVo4RkQ7RVkxR0o7SVoyR1EsWUFBVSxFWTVGYixFQUFBOztBWmtHRztFWWpIUjtJWmtIWSxhQUFVLEVZbkdqQixFQUFBOztBWmtHRztFWWpIUjtJWmtIWSxhQUFVLEVZbkdqQixFQUFBOztBL0dvSUQ7RStHbkpKO0ladUhRLGFBQWlCLEVZeEdwQixFQUFBOztBWjJGRDtFWTFHSjtJWjJHUSxhQUFVLEVZekZiLEVBQUE7O0FaK0ZHO0VZakhSO0laa0hZLGFBQVUsRVloR2pCLEVBQUE7O0FaK0ZHO0VZakhSO0laa0hZLGFBQVUsRVloR2pCLEVBQUE7O0EvR2lJRDtFK0duSko7SVp1SFEsV0FBaUIsRVlyR3BCLEVBQUE7O0Fad0ZEO0VZMUdKO0laMkdRLFlBQVUsRVlwRlQsRUFBQTs7QVowRkQ7RVlqSFI7SVprSFksYUFBVSxFWTNGYixFQUFBOztBWjBGRDtFWWpIUjtJWmtIWSxtQkFBVSxFWTNGYixFQUFBOztBL0c0SEw7RStHbkpKO0ladUhRLGdCQUFpQixFWWhHaEIsRUFBQTs7QVptRkw7RVkxR0o7SVoyR1EsWUFBVSxFWTlFVCxFQUFBOztBWm9GRDtFWWpIUjtJWmtIWSxhQUFVLEVZckZiLEVBQUE7O0Fab0ZEO0VZakhSO0laa0hZLGFBQVUsRVlyRmIsRUFBQTs7QS9Hc0hMO0UrR25KSjtJWnVIUSxhQUFpQixFWTFGaEIsRUFBQTs7QVo2RUw7RVkxR0o7SVoyR1EsWUFBVSxFWTNFVCxFQUFBOztBWmlGRDtFWWpIUjtJWmtIWSxhQUFVLEVZbEZiLEVBQUE7O0FaaUZEO0VZakhSO0laa0hZLGFBQVUsRVlsRmIsRUFBQTs7QS9HbUhMO0UrR25KSjtJWnVIUSxhQUFpQixFWXZGaEIsRUFBQTs7QVowRUw7RVkxR0o7SVoyR1EsWUFBVSxFWXhFVCxFQUFBOztBWjhFRDtFWWpIUjtJWmtIWSxhQUFVLEVZL0ViLEVBQUE7O0FaOEVEO0VZakhSO0laa0hZLGFBQVUsRVkvRWIsRUFBQTs7QS9HZ0hMO0UrR25KSjtJWnVIUSxhQUFpQixFWXBGaEIsRUFBQTs7QVp1RUw7RVkxR0o7SVoyR1EsWUFBVSxFWXJFVCxFQUFBOztBWjJFRDtFWWpIUjtJWmtIWSxhQUFVLEVZNUViLEVBQUE7O0FaMkVEO0VZakhSO0laa0hZLG1CQUFVLEVZNUViLEVBQUE7O0EvRzZHTDtFK0duSko7SVp1SFEsZ0JBQWlCLEVZakZoQixFQUFBOztBWm9FTDtFWTFHSjtJWjJHUSxhQUFVLEVZbEVULEVBQUE7O0Fad0VEO0VZakhSO0laa0hZLGFBQVUsRVl6RWIsRUFBQTs7QVp3RUQ7RVlqSFI7SVprSFksbUJBQVUsRVl6RWIsRUFBQTs7QS9HMEdMO0UrR25KSjtJWnVIUSxpQkFBaUIsRVk5RWhCLEVBQUE7O0FaaUVMO0VZMUdKO0laMkdRLFlBQVUsRVk1RFQsRUFBQTs7QVprRUQ7RVlqSFI7SVprSFksWUFBVSxFWW5FYixFQUFBOztBWmtFRDtFWWpIUjtJWmtIWSxrQkFBVSxFWW5FYixFQUFBOztBL0dvR0w7RStHbkpKO0ladUhRLGdCQUFpQixFWXhFaEIsRUFBQTs7QVoyREw7RVkxR0o7SVoyR1EsWUFBVSxFWXpEVCxFQUFBOztBWitERDtFWWpIUjtJWmtIWSxhQUFVLEVZaEViLEVBQUE7O0FaK0REO0VZakhSO0laa0hZLG1CQUFVLEVZaEViLEVBQUE7O0EvR2lHTDtFK0duSko7SVp1SFEsZ0JBQWlCLEVZckVoQixFQUFBOztBWndETDtFWTFHSjtJWjJHUSxZQUFVLEVZdERULEVBQUE7O0FaNEREO0VZakhSO0laa0hZLGFBQVUsRVk3RGIsRUFBQTs7QVo0REQ7RVlqSFI7SVprSFksbUJBQVUsRVk3RGIsRUFBQTs7QS9HOEZMO0UrR25KSjtJWnVIUSxnQkFBaUIsRVlsRWhCLEVBQUE7O0FacURMO0VZMUdKO0laMkdRLFlBQVUsRVluRFQsRUFBQTs7QVp5REQ7RVlqSFI7SVprSFksYUFBVSxFWTFEYixFQUFBOztBWnlERDtFWWpIUjtJWmtIWSxtQkFBVSxFWTFEYixFQUFBOztBL0cyRkw7RStHbkpKO0ladUhRLGdCQUFpQixFWS9EaEIsRUFBQTs7QVprREw7RVkxR0o7SVoyR1EsYUFBVSxFWWhEVCxFQUFBOztBWnNERDtFWWpIUjtJWmtIWSxhQUFVLEVZdkRiLEVBQUE7O0Fac0REO0VZakhSO0laa0hZLG1CQUFVLEVZdkRiLEVBQUE7O0EvR3dGTDtFK0duSko7SVp1SFEsaUJBQWlCLEVZNURoQixFQUFBOztBWitDTDtFYTFHSjtJYjJHUSxZQUFVLEVheEdiLEVBQUE7O0FiOEdHO0VhakhSO0lia0hZLGFBQVUsRWEvR2pCLEVBQUE7O0FiOEdHO0VhakhSO0lia0hZLGFBQVUsRWEvR2pCLEVBQUE7O0FoSGdKRDtFZ0huSko7SWJ1SFEsYUFBaUIsRWFwSHBCLEVBQUE7O0FBSEw7RUFLUSwyQkFBdUI7TUFBdkIsdUJBQXVCO0VBQ3ZCLHNCQUF3QjtNQUF4Qix3QkFBd0I7RUFDeEIsc0JBQXdCO01BQXhCLHdCQUF3QixFQUszQjtFQVpMO0lBU1ksb0JwSDBEUyxFb0h6RFo7RWJnR0w7SWExR0o7TWIyR1EsYUFBVSxFYS9GYixFQUFBO0VicUdHO0lhakhSO01ia0hZLGFBQVUsRWF0R2pCLEVBQUE7RWJxR0c7SWFqSFI7TWJrSFksbUJBQVUsRWF0R2pCLEVBQUE7RWhIdUlEO0lnSG5KSjtNYnVIUSxpQkFBaUIsRWEzR3BCLEVBQUE7O0FiOEZEO0VhMUdKO0liMkdRLFlBQVUsRWE1RmIsRUFBQTs7QWJrR0c7RWFqSFI7SWJrSFksYUFBVSxFYW5HakIsRUFBQTs7QWJrR0c7RWFqSFI7SWJrSFksYUFBVSxFYW5HakIsRUFBQTs7QWhIb0lEO0VnSG5KSjtJYnVIUSxhQUFpQixFYXhHcEIsRUFBQTs7QWIyRkQ7RWExR0o7SWIyR1EsYUFBVSxFYXpGYixFQUFBOztBYitGRztFYWpIUjtJYmtIWSxhQUFVLEVhaEdqQixFQUFBOztBYitGRztFYWpIUjtJYmtIWSxtQkFBVSxFYWhHakIsRUFBQTs7QWhIaUlEO0VnSG5KSjtJYnVIUSxpQkFBaUIsRWFyR3BCLEVBQUE7O0Fid0ZEO0VhMUdKO0liMkdRLFlBQVUsRWF0RmIsRUFBQTs7QWI0Rkc7RWFqSFI7SWJrSFksYUFBVSxFYTdGakIsRUFBQTs7QWI0Rkc7RWFqSFI7SWJrSFksYUFBVSxFYTdGakIsRUFBQTs7QWhIOEhEO0VnSG5KSjtJYnVIUSxhQUFpQixFYWxHcEIsRUFBQTs7QWJxRkQ7RWExR0o7SWIyR1EsYUFBVSxFYWpGVCxFQUFBOztBYnVGRDtFYWpIUjtJYmtIWSxhQUFVLEVheEZiLEVBQUE7O0FidUZEO0VhakhSO0lia0hZLG1CQUFVLEVheEZiLEVBQUE7O0FoSHlITDtFZ0huSko7SWJ1SFEsaUJBQWlCLEVhN0ZoQixFQUFBOztBYmdGTDtFYTFHSjtJYjJHUSxZQUFVLEVhM0VULEVBQUE7O0FiaUZEO0VhakhSO0lia0hZLGFBQVUsRWFsRmIsRUFBQTs7QWJpRkQ7RWFqSFI7SWJrSFksbUJBQVUsRWFsRmIsRUFBQTs7QWhIbUhMO0VnSG5KSjtJYnVIUSxnQkFBaUIsRWF2RmhCLEVBQUE7O0FiMEVMO0VhMUdKO0liMkdRLFlBQVUsRWF4RVQsRUFBQTs7QWI4RUQ7RWFqSFI7SWJrSFksYUFBVSxFYS9FYixFQUFBOztBYjhFRDtFYWpIUjtJYmtIWSxhQUFVLEVhL0ViLEVBQUE7O0FoSGdITDtFZ0huSko7SWJ1SFEsYUFBaUIsRWFwRmhCLEVBQUE7O0FidUVMO0VhMUdKO0liMkdRLFlBQVUsRWFyRVQsRUFBQTs7QWIyRUQ7RWFqSFI7SWJrSFksYUFBVSxFYTVFYixFQUFBOztBYjJFRDtFYWpIUjtJYmtIWSxtQkFBVSxFYTVFYixFQUFBOztBaEg2R0w7RWdIbkpKO0lidUhRLGdCQUFpQixFYWpGaEIsRUFBQTs7QWJvRUw7RWExR0o7SWIyR1EsWUFBVSxFYWxFVCxFQUFBOztBYndFRDtFYWpIUjtJYmtIWSxhQUFVLEVhekViLEVBQUE7O0Fid0VEO0VhakhSO0lia0hZLGFBQVUsRWF6RWIsRUFBQTs7QWhIMEdMO0VnSG5KSjtJYnVIUSxhQUFpQixFYTlFaEIsRUFBQTs7QWJpRUw7RWExR0o7SWIyR1EsWUFBVSxFYS9EVCxFQUFBOztBYnFFRDtFYWpIUjtJYmtIWSxhQUFVLEVhdEViLEVBQUE7O0FicUVEO0VhakhSO0lia0hZLG1CQUFVLEVhdEViLEVBQUE7O0FoSHVHTDtFZ0huSko7SWJ1SFEsZ0JBQWlCLEVhM0VoQixFQUFBOztBYjhETDtFYTFHSjtJYjJHUSxZQUFVLEVhekRULEVBQUE7O0FiK0REO0VhakhSO0lia0hZLGFBQVUsRWFoRWIsRUFBQTs7QWIrREQ7RWFqSFI7SWJrSFksbUJBQVUsRWFoRWIsRUFBQTs7QWhIaUdMO0VnSG5KSjtJYnVIUSxnQkFBaUIsRWFyRWhCLEVBQUE7O0Fid0RMO0VhMUdKO0liMkdRLFlBQVUsRWF0RFQsRUFBQTs7QWI0REQ7RWFqSFI7SWJrSFksYUFBVSxFYTdEYixFQUFBOztBYjRERDtFYWpIUjtJYmtIWSxtQkFBVSxFYTdEYixFQUFBOztBaEg4Rkw7RWdIbkpKO0lidUhRLGdCQUFpQixFYWxFaEIsRUFBQTs7QWJxREw7RWExR0o7SWIyR1EsWUFBVSxFYWhEVCxFQUFBOztBYnNERDtFYWpIUjtJYmtIWSxhQUFVLEVhdkRiLEVBQUE7O0Fic0REO0VhakhSO0lia0hZLGFBQVUsRWF2RGIsRUFBQTs7QWhId0ZMO0VnSG5KSjtJYnVIUSxhQUFpQixFYTVEaEIsRUFBQTs7QUFJVDtFQUNJLDBCQUNILEVBQUM7O0FieUNFO0VjMUdKO0lkMkdRLGFBQVUsRWN4R2IsRUFBQTs7QWQ4R0c7RWNqSFI7SWRrSFksYUFBVSxFYy9HakIsRUFBQTs7QWQ4R0c7RWNqSFI7SWRrSFksbUJBQVUsRWMvR2pCLEVBQUE7O0FqSGdKRDtFaUhuSko7SWR1SFEsaUJBQWlCLEVjcEhwQixFQUFBOztBZHVHRDtFYzFHSjtJZDJHUSxhQUFVLEVjckdiLEVBQUE7O0FkMkdHO0VjakhSO0lka0hZLGFBQVUsRWM1R2pCLEVBQUE7O0FkMkdHO0VjakhSO0lka0hZLG1CQUFVLEVjNUdqQixFQUFBOztBakg2SUQ7RWlIbkpKO0lkdUhRLGlCQUFpQixFY2pIcEIsRUFBQTs7QWRvR0Q7RWMxR0o7SWQyR1EsYUFBVSxFY2xHYixFQUFBOztBZHdHRztFY2pIUjtJZGtIWSxhQUFVLEVjekdqQixFQUFBOztBZHdHRztFY2pIUjtJZGtIWSxtQkFBVSxFY3pHakIsRUFBQTs7QWpIMElEO0VpSG5KSjtJZHVIUSxpQkFBaUIsRWM5R3BCLEVBQUE7O0FkaUdEO0VjMUdKO0lkMkdRLGFBQVUsRWMvRmIsRUFBQTs7QWRxR0c7RWNqSFI7SWRrSFksYUFBVSxFY3RHakIsRUFBQTs7QWRxR0c7RWNqSFI7SWRrSFksbUJBQVUsRWN0R2pCLEVBQUE7O0FqSHVJRDtFaUhuSko7SWR1SFEsaUJBQWlCLEVjM0dwQixFQUFBOztBZDhGRDtFYzFHSjtJZDJHUSxhQUFVLEVjNUZiLEVBQUE7O0Fka0dHO0VjakhSO0lka0hZLGFBQVUsRWNuR2pCLEVBQUE7O0Fka0dHO0VjakhSO0lka0hZLG1CQUFVLEVjbkdqQixFQUFBOztBakhvSUQ7RWlIbkpKO0lkdUhRLGlCQUFpQixFY3hHcEIsRUFBQTs7QWQyRkQ7RWMxR0o7SWQyR1EsYUFBVSxFY3pGYixFQUFBOztBZCtGRztFY2pIUjtJZGtIWSxhQUFVLEVjaEdqQixFQUFBOztBZCtGRztFY2pIUjtJZGtIWSxtQkFBVSxFY2hHakIsRUFBQTs7QWpIaUlEO0VpSG5KSjtJZHVIUSxpQkFBaUIsRWNyR3BCLEVBQUE7O0Fkd0ZEO0VjMUdKO0lkMkdRLFlBQVUsRWN0RmIsRUFBQTs7QWQ0Rkc7RWNqSFI7SWRrSFksYUFBVSxFYzdGakIsRUFBQTs7QWQ0Rkc7RWNqSFI7SWRrSFksYUFBVSxFYzdGakIsRUFBQTs7QWpIOEhEO0VpSG5KSjtJZHVIUSxhQUFpQixFY2xHcEIsRUFBQTs7QWRxRkQ7RWMxR0o7SWQyR1EsWUFBVSxFY25GYixFQUFBOztBZHlGRztFY2pIUjtJZGtIWSxhQUFVLEVjMUZqQixFQUFBOztBZHlGRztFY2pIUjtJZGtIWSxhQUFVLEVjMUZqQixFQUFBOztBakgySEQ7RWlIbkpKO0lkdUhRLGFBQWlCLEVjL0ZwQixFQUFBOztBZGtGRDtFYzFHSjtJZDJHUSxhQUFVLEVjL0ViLEVBQUE7O0FkcUZHO0VjakhSO0lka0hZLGFBQVUsRWN0RmpCLEVBQUE7O0FkcUZHO0VjakhSO0lka0hZLG1CQUFVLEVjdEZqQixFQUFBOztBakh1SEQ7RWlIbkpKO0lkdUhRLGlCQUFpQixFYzNGcEIsRUFBQTs7QWQ4RUQ7RWMxR0o7SWQyR1EsYUFBVSxFYzVFYixFQUFBOztBZGtGRztFY2pIUjtJZGtIWSxhQUFVLEVjbkZqQixFQUFBOztBZGtGRztFY2pIUjtJZGtIWSxtQkFBVSxFY25GakIsRUFBQTs7QWpIb0hEO0VpSG5KSjtJZHVIUSxpQkFBaUIsRWN4RnBCLEVBQUE7O0FkMkVEO0VjMUdKO0lkMkdRLGFBQVUsRWN6RWIsRUFBQTs7QWQrRUc7RWNqSFI7SWRrSFksYUFBVSxFY2hGakIsRUFBQTs7QWQrRUc7RWNqSFI7SWRrSFksbUJBQVUsRWNoRmpCLEVBQUE7O0FqSGlIRDtFaUhuSko7SWR1SFEsaUJBQWlCLEVjckZwQixFQUFBOztBZHdFRDtFYzFHSjtJZDJHUSxhQUFVLEVjdEViLEVBQUE7O0FkNEVHO0VjakhSO0lka0hZLGFBQVUsRWM3RWpCLEVBQUE7O0FkNEVHO0VjakhSO0lka0hZLG1CQUFVLEVjN0VqQixFQUFBOztBakg4R0Q7RWlIbkpKO0lkdUhRLGlCQUFpQixFY2xGcEIsRUFBQTs7QWRxRUQ7RWMxR0o7SWQyR1EsYUFBVSxFY25FYixFQUFBOztBZHlFRztFY2pIUjtJZGtIWSxhQUFVLEVjMUVqQixFQUFBOztBZHlFRztFY2pIUjtJZGtIWSxtQkFBVSxFYzFFakIsRUFBQTs7QWpIMkdEO0VpSG5KSjtJZHVIUSxpQkFBaUIsRWMvRXBCLEVBQUE7O0Fka0VEO0VjMUdKO0lkMkdRLGFBQVUsRWNoRWIsRUFBQTs7QWRzRUc7RWNqSFI7SWRrSFksYUFBVSxFY3ZFakIsRUFBQTs7QWRzRUc7RWNqSFI7SWRrSFksbUJBQVUsRWN2RWpCLEVBQUE7O0FqSHdHRDtFaUhuSko7SWR1SFEsaUJBQWlCLEVjNUVwQixFQUFBOztBZCtERDtFYzFHSjtJZDJHUSxhQUFVLEVjM0RULEVBQUE7O0FkaUVEO0VjakhSO0lka0hZLGFBQVUsRWNsRWIsRUFBQTs7QWRpRUQ7RWNqSFI7SWRrSFksbUJBQVUsRWNsRWIsRUFBQTs7QWpIbUdMO0VpSG5KSjtJZHVIUSxpQkFBaUIsRWN2RWhCLEVBQUE7O0FkMERMO0VjMUdKO0lkMkdRLGFBQVUsRWN4RFQsRUFBQTs7QWQ4REQ7RWNqSFI7SWRrSFksYUFBVSxFYy9EYixFQUFBOztBZDhERDtFY2pIUjtJZGtIWSxtQkFBVSxFYy9EYixFQUFBOztBakhnR0w7RWlIbkpKO0lkdUhRLGlCQUFpQixFY3BFaEIsRUFBQTs7QWR1REw7RWMxR0o7SWQyR1EsYUFBVSxFY3JEVCxFQUFBOztBZDJERDtFY2pIUjtJZGtIWSxhQUFVLEVjNURiLEVBQUE7O0FkMkREO0VjakhSO0lka0hZLG1CQUFVLEVjNURiLEVBQUE7O0FqSDZGTDtFaUhuSko7SWR1SFEsaUJBQWlCLEVjakVoQixFQUFBOztBZG9ETDtFYzFHSjtJZDJHUSxZQUFVLEVjbERULEVBQUE7O0Fkd0REO0VjakhSO0lka0hZLGFBQVUsRWN6RGIsRUFBQTs7QWR3REQ7RWNqSFI7SWRrSFksYUFBVSxFY3pEYixFQUFBOztBakgwRkw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjOURoQixFQUFBOztBZGlETDtFYzFHSjtJZDJHUSxZQUFVLEVjL0NULEVBQUE7O0FkcUREO0VjakhSO0lka0hZLGFBQVUsRWN0RGIsRUFBQTs7QWRxREQ7RWNqSFI7SWRrSFksYUFBVSxFY3REYixFQUFBOztBakh1Rkw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjM0RoQixFQUFBOztBZDhDTDtFYzFHSjtJZDJHUSxZQUFVLEVjNUNULEVBQUE7O0Fka0REO0VjakhSO0lka0hZLGFBQVUsRWNuRGIsRUFBQTs7QWRrREQ7RWNqSFI7SWRrSFksYUFBVSxFY25EYixFQUFBOztBakhvRkw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjeERoQixFQUFBOztBZDJDTDtFYzFHSjtJZDJHUSxZQUFVLEVjekNULEVBQUE7O0FkK0NEO0VjakhSO0lka0hZLGFBQVUsRWNoRGIsRUFBQTs7QWQrQ0Q7RWNqSFI7SWRrSFksbUJBQVUsRWNoRGIsRUFBQTs7QWpIaUZMO0VpSG5KSjtJZHVIUSxnQkFBaUIsRWNyRGhCLEVBQUE7O0Fkd0NMO0VjMUdKO0lkMkdRLFlBQVUsRWN0Q1QsRUFBQTs7QWQ0Q0Q7RWNqSFI7SWRrSFksYUFBVSxFYzdDYixFQUFBOztBZDRDRDtFY2pIUjtJZGtIWSxtQkFBVSxFYzdDYixFQUFBOztBakg4RUw7RWlIbkpKO0lkdUhRLGdCQUFpQixFY2xEaEIsRUFBQTs7QWRxQ0w7RWMxR0o7SWQyR1EsYUFBVSxFY2xDVCxFQUFBOztBZHdDRDtFY2pIUjtJZGtIWSxhQUFVLEVjekNiLEVBQUE7O0Fkd0NEO0VjakhSO0lka0hZLG1CQUFVLEVjekNiLEVBQUE7O0FqSDBFTDtFaUhuSko7SWR1SFEsaUJBQWlCLEVjOUNoQixFQUFBOztBZGlDTDtFYzFHSjtJZDJHUSxZQUFVLEVjL0JULEVBQUE7O0FkcUNEO0VjakhSO0lka0hZLGFBQVUsRWN0Q2IsRUFBQTs7QWRxQ0Q7RWNqSFI7SWRrSFksYUFBVSxFY3RDYixFQUFBOztBakh1RUw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjM0NoQixFQUFBOztBZDhCTDtFYzFHSjtJZDJHUSxZQUFVLEVjNUJULEVBQUE7O0Fka0NEO0VjakhSO0lka0hZLGFBQVUsRWNuQ2IsRUFBQTs7QWRrQ0Q7RWNqSFI7SWRrSFksYUFBVSxFY25DYixFQUFBOztBakhvRUw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjeENoQixFQUFBOztBZDJCTDtFYzFHSjtJZDJHUSxZQUFVLEVjekJULEVBQUE7O0FkK0JEO0VjakhSO0lka0hZLGFBQVUsRWNoQ2IsRUFBQTs7QWQrQkQ7RWNqSFI7SWRrSFksYUFBVSxFY2hDYixFQUFBOztBakhpRUw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjckNoQixFQUFBOztBZHdCTDtFYzFHSjtJZDJHUSxZQUFVLEVjdEJULEVBQUE7O0FkNEJEO0VjakhSO0lka0hZLGFBQVUsRWM3QmIsRUFBQTs7QWQ0QkQ7RWNqSFI7SWRrSFksYUFBVSxFYzdCYixFQUFBOztBakg4REw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjbENoQixFQUFBOztBZHFCTDtFYzFHSjtJZDJHUSxZQUFVLEVjbkJULEVBQUE7O0FkeUJEO0VjakhSO0lka0hZLGFBQVUsRWMxQmIsRUFBQTs7QWR5QkQ7RWNqSFI7SWRrSFksYUFBVSxFYzFCYixFQUFBOztBakgyREw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjL0JoQixFQUFBOztBZGtCTDtFYzFHSjtJZDJHUSxZQUFVLEVjYlQsRUFBQTs7QWRtQkQ7RWNqSFI7SWRrSFksYUFBVSxFY3BCYixFQUFBOztBZG1CRDtFY2pIUjtJZGtIWSxhQUFVLEVjcEJiLEVBQUE7O0FqSHFETDtFaUhuSko7SWR1SFEsYUFBaUIsRWN6QmhCLEVBQUE7O0FkWUw7RWMxR0o7SWQyR1EsWUFBVSxFY1ZULEVBQUE7O0FkZ0JEO0VjakhSO0lka0hZLGFBQVUsRWNqQmIsRUFBQTs7QWRnQkQ7RWNqSFI7SWRrSFksYUFBVSxFY2pCYixFQUFBOztBakhrREw7RWlIbkpKO0lkdUhRLGFBQWlCLEVjdEJoQixFQUFBOztBZFNMO0VjMUdKO0lkMkdRLGFBQVUsRWNQVCxFQUFBOztBZGFEO0VjakhSO0lka0hZLGFBQVUsRWNkYixFQUFBOztBZGFEO0VjakhSO0lka0hZLG1CQUFVLEVjZGIsRUFBQTs7QWpIK0NMO0VpSG5KSjtJZHVIUSxpQkFBaUIsRWNuQmhCLEVBQUE7O0FkTUw7RWMxR0o7SWQyR1EsWUFBVSxFY0pULEVBQUE7O0FkVUQ7RWNqSFI7SWRrSFksYUFBVSxFY1hiLEVBQUE7O0FkVUQ7RWNqSFI7SWRrSFksYUFBVSxFY1hiLEVBQUE7O0FqSDRDTDtFaUhuSko7SWR1SFEsYUFBaUIsRWNoQmhCLEVBQUE7O0FkR0w7RWMxR0o7SWQyR1EsWUFBVSxFY0RULEVBQUE7O0FkT0Q7RWNqSFI7SWRrSFksYUFBVSxFY1JiLEVBQUE7O0FkT0Q7RWNqSFI7SWRrSFksbUJBQVUsRWNSYixFQUFBOztBakh5Q0w7RWlIbkpKO0lkdUhRLGdCQUFpQixFY2JoQixFQUFBOztBZEFMO0VjMUdKO0lkMkdRLFlBQVUsRWNFVCxFQUFBOztBZElEO0VjakhSO0lka0hZLGFBQVUsRWNMYixFQUFBOztBZElEO0VjakhSO0lka0hZLG1CQUFVLEVjTGIsRUFBQTs7QWpIc0NMO0VpSG5KSjtJZHVIUSxnQkFBaUIsRWNWaEIsRUFBQTs7QWRITDtFYzFHSjtJZDJHUSxZQUFVLEVjS1QsRUFBQTs7QWRDRDtFY2pIUjtJZGtIWSxhQUFVLEVjRmIsRUFBQTs7QWRDRDtFY2pIUjtJZGtIWSxtQkFBVSxFY0ZiLEVBQUE7O0FqSG1DTDtFaUhuSko7SWR1SFEsZ0JBQWlCLEVjUGhCLEVBQUE7O0FkTkw7RWMxR0o7SWQyR1EsWUFBVSxFY1FULEVBQUE7O0FkRkQ7RWNqSFI7SWRrSFksYUFBVSxFY0NiLEVBQUE7O0FkRkQ7RWNqSFI7SWRrSFksbUJBQVUsRWNDYixFQUFBOztBakhnQ0w7RWlIbkpKO0lkdUhRLGdCQUFpQixFY0poQixFQUFBOztBQ25IVDtFQUNJLGlCQUFpQixFQStCcEI7RUFoQ0Q7SUFHUSxvQnRIK0RZLEVzSHJEZjtJQWJMO01BS1ksc0JBQXNCLEVBQ3pCO0lBTlQ7TUFRWSxzQkFBc0IsRUFDekI7SUFUVDtNQVdZLHNCQUFzQixFQUN6QjtFbEh1SUw7SWtIbkpKO01BaUJZLGNBQWMsRUFPakI7TUF4QlQ7UUFtQmdCLHNCQUFzQixFQUN6QjtNQXBCYjtRQXNCZ0Isc0JBQXNCLEVBQ3pCLEVBQUE7RWxINEhUO0lrSG5KSjtNQTZCWSxzQkFBc0IsRUFDekIsRUFBQTs7QWY0RUw7RWdCMUdKO0loQjJHUSxZQUFVLEVnQnhHYixFQUFBOztBaEI4R0c7RWdCakhSO0loQmtIWSxhQUFVLEVnQi9HakIsRUFBQTs7QWhCOEdHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0IvR2pCLEVBQUE7O0FuSGdKRDtFbUhuSko7SWhCdUhRLGFBQWlCLEVnQnBIcEIsRUFBQTs7QWhCdUdEO0VnQjFHSjtJaEIyR1EsYUFBVSxFZ0JyR2IsRUFBQTs7QWhCMkdHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0I1R2pCLEVBQUE7O0FoQjJHRztFZ0JqSFI7SWhCa0hZLG1CQUFVLEVnQjVHakIsRUFBQTs7QW5INklEO0VtSG5KSjtJaEJ1SFEsaUJBQWlCLEVnQmpIcEIsRUFBQTs7QWhCb0dEO0VnQjFHSjtJaEIyR1EsYUFBVSxFZ0JsR2IsRUFBQTs7QWhCd0dHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0J6R2pCLEVBQUE7O0FoQndHRztFZ0JqSFI7SWhCa0hZLG1CQUFVLEVnQnpHakIsRUFBQTs7QW5IMElEO0VtSG5KSjtJaEJ1SFEsaUJBQWlCLEVnQjlHcEIsRUFBQTs7QWhCaUdEO0VnQjFHSjtJaEIyR1EsYUFBVSxFZ0IvRmIsRUFBQTs7QWhCcUdHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0J0R2pCLEVBQUE7O0FoQnFHRztFZ0JqSFI7SWhCa0hZLG1CQUFVLEVnQnRHakIsRUFBQTs7QW5IdUlEO0VtSG5KSjtJaEJ1SFEsaUJBQWlCLEVnQjNHcEIsRUFBQTs7QWhCOEZEO0VnQjFHSjtJaEIyR1EsYUFBVSxFZ0I1RmIsRUFBQTs7QWhCa0dHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0JuR2pCLEVBQUE7O0FoQmtHRztFZ0JqSFI7SWhCa0hZLG1CQUFVLEVnQm5HakIsRUFBQTs7QW5Ib0lEO0VtSG5KSjtJaEJ1SFEsaUJBQWlCLEVnQnhHcEIsRUFBQTs7QWhCMkZEO0VnQjFHSjtJaEIyR1EsYUFBVSxFZ0J6RmIsRUFBQTs7QWhCK0ZHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0JoR2pCLEVBQUE7O0FoQitGRztFZ0JqSFI7SWhCa0hZLG1CQUFVLEVnQmhHakIsRUFBQTs7QW5IaUlEO0VtSG5KSjtJaEJ1SFEsaUJBQWlCLEVnQnJHcEIsRUFBQTs7QWhCd0ZEO0VnQjFHSjtJaEIyR1EsWUFBVSxFZ0J0RmIsRUFBQTs7QWhCNEZHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0I3RmpCLEVBQUE7O0FoQjRGRztFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCN0ZqQixFQUFBOztBbkg4SEQ7RW1IbkpKO0loQnVIUSxhQUFpQixFZ0JsR3BCLEVBQUE7O0FoQnFGRDtFZ0IxR0o7SWhCMkdRLFlBQVUsRWdCbkZiLEVBQUE7O0FoQnlGRztFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCMUZqQixFQUFBOztBaEJ5Rkc7RWdCakhSO0loQmtIWSxtQkFBVSxFZ0IxRmpCLEVBQUE7O0FuSDJIRDtFbUhuSko7SWhCdUhRLGdCQUFpQixFZ0IvRnBCLEVBQUE7O0FoQmtGRDtFZ0IxR0o7SWhCMkdRLGFBQVUsRWdCOUViLEVBQUE7O0FoQm9GRztFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCckZqQixFQUFBOztBaEJvRkc7RWdCakhSO0loQmtIWSxtQkFBVSxFZ0JyRmpCLEVBQUE7O0FuSHNIRDtFbUhuSko7SWhCdUhRLGlCQUFpQixFZ0IxRnBCLEVBQUE7O0FoQjZFRDtFZ0IxR0o7SWhCMkdRLGFBQVUsRWdCM0ViLEVBQUE7O0FoQmlGRztFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCbEZqQixFQUFBOztBaEJpRkc7RWdCakhSO0loQmtIWSxhQUFVLEVnQmxGakIsRUFBQTs7QW5IbUhEO0VtSG5KSjtJaEJ1SFEsV0FBaUIsRWdCdkZwQixFQUFBOztBaEIwRUQ7RWdCMUdKO0loQjJHUSxhQUFVLEVnQnhFYixFQUFBOztBaEI4RUc7RWdCakhSO0loQmtIWSxhQUFVLEVnQi9FakIsRUFBQTs7QWhCOEVHO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCL0VqQixFQUFBOztBbkhnSEQ7RW1IbkpKO0loQnVIUSxpQkFBaUIsRWdCcEZwQixFQUFBOztBaEJ1RUQ7RWdCMUdKO0loQjJHUSxhQUFVLEVnQnJFYixFQUFBOztBaEIyRUc7RWdCakhSO0loQmtIWSxhQUFVLEVnQjVFakIsRUFBQTs7QWhCMkVHO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCNUVqQixFQUFBOztBbkg2R0Q7RW1IbkpKO0loQnVIUSxpQkFBaUIsRWdCakZwQixFQUFBOztBaEJvRUQ7RWdCMUdKO0loQjJHUSxhQUFVLEVnQmxFYixFQUFBOztBaEJ3RUc7RWdCakhSO0loQmtIWSxhQUFVLEVnQnpFakIsRUFBQTs7QWhCd0VHO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCekVqQixFQUFBOztBbkgwR0Q7RW1IbkpKO0loQnVIUSxpQkFBaUIsRWdCOUVwQixFQUFBOztBaEJpRUQ7RWdCMUdKO0loQjJHUSxZQUFVLEVnQi9EYixFQUFBOztBaEJxRUc7RWdCakhSO0loQmtIWSxhQUFVLEVnQnRFakIsRUFBQTs7QWhCcUVHO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCdEVqQixFQUFBOztBbkh1R0Q7RW1IbkpKO0loQnVIUSxnQkFBaUIsRWdCM0VwQixFQUFBOztBaEI4REQ7RWdCMUdKO0loQjJHUSxZQUFVLEVnQjVEYixFQUFBOztBaEJrRUc7RWdCakhSO0loQmtIWSxhQUFVLEVnQm5FakIsRUFBQTs7QWhCa0VHO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0JuRWpCLEVBQUE7O0FuSG9HRDtFbUhuSko7SWhCdUhRLGFBQWlCLEVnQnhFcEIsRUFBQTs7QWhCMkREO0VnQjFHSjtJaEIyR1EsWUFBVSxFZ0J2RFQsRUFBQTs7QWhCNkREO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0I5RGIsRUFBQTs7QWhCNkREO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCOURiLEVBQUE7O0FuSCtGTDtFbUhuSko7SWhCdUhRLGdCQUFpQixFZ0JuRWhCLEVBQUE7O0FoQnNETDtFZ0IxR0o7SWhCMkdRLGFBQVUsRWdCcERULEVBQUE7O0FoQjBERDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCM0RiLEVBQUE7O0FoQjBERDtFZ0JqSFI7SWhCa0hZLG1CQUFVLEVnQjNEYixFQUFBOztBbkg0Rkw7RW1IbkpKO0loQnVIUSxpQkFBaUIsRWdCaEVoQixFQUFBOztBaEJtREw7RWdCMUdKO0loQjJHUSxZQUFVLEVnQmpEVCxFQUFBOztBaEJ1REQ7RWdCakhSO0loQmtIWSxhQUFVLEVnQnhEYixFQUFBOztBaEJ1REQ7RWdCakhSO0loQmtIWSxhQUFVLEVnQnhEYixFQUFBOztBbkh5Rkw7RW1IbkpKO0loQnVIUSxhQUFpQixFZ0I3RGhCLEVBQUE7O0FoQmdETDtFZ0IxR0o7SWhCMkdRLFlBQVUsRWdCOUNULEVBQUE7O0FoQm9ERDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCckRiLEVBQUE7O0FoQm9ERDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCckRiLEVBQUE7O0FuSHNGTDtFbUhuSko7SWhCdUhRLGFBQWlCLEVnQjFEaEIsRUFBQTs7QWhCNkNMO0VnQjFHSjtJaEIyR1EsWUFBVSxFZ0IzQ1QsRUFBQTs7QWhCaUREO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0JsRGIsRUFBQTs7QWhCaUREO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0JsRGIsRUFBQTs7QW5IbUZMO0VtSG5KSjtJaEJ1SFEsYUFBaUIsRWdCdkRoQixFQUFBOztBaEIwQ0w7RWdCMUdKO0loQjJHUSxZQUFVLEVnQnhDVCxFQUFBOztBaEI4Q0Q7RWdCakhSO0loQmtIWSxhQUFVLEVnQi9DYixFQUFBOztBaEI4Q0Q7RWdCakhSO0loQmtIWSxhQUFVLEVnQi9DYixFQUFBOztBbkhnRkw7RW1IbkpKO0loQnVIUSxhQUFpQixFZ0JwRGhCLEVBQUE7O0FoQnVDTDtFZ0IxR0o7SWhCMkdRLFlBQVUsRWdCckNULEVBQUE7O0FoQjJDRDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCNUNiLEVBQUE7O0FoQjJDRDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCNUNiLEVBQUE7O0FuSDZFTDtFbUhuSko7SWhCdUhRLGFBQWlCLEVnQmpEaEIsRUFBQTs7QWhCb0NMO0VnQjFHSjtJaEIyR1EsWUFBVSxFZ0JsQ1QsRUFBQTs7QWhCd0NEO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0J6Q2IsRUFBQTs7QWhCd0NEO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCekNiLEVBQUE7O0FuSDBFTDtFbUhuSko7SWhCdUhRLGdCQUFpQixFZ0I5Q2hCLEVBQUE7O0FoQmlDTDtFZ0IxR0o7SWhCMkdRLFlBQVUsRWdCOUJULEVBQUE7O0FoQm9DRDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCckNiLEVBQUE7O0FoQm9DRDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCckNiLEVBQUE7O0FuSHNFTDtFbUhuSko7SWhCdUhRLGFBQWlCLEVnQjFDaEIsRUFBQTs7QWhCNkJMO0VnQjFHSjtJaEIyR1EsYUFBVSxFZ0IzQlQsRUFBQTs7QWhCaUNEO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0JsQ2IsRUFBQTs7QWhCaUNEO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCbENiLEVBQUE7O0FuSG1FTDtFbUhuSko7SWhCdUhRLGlCQUFpQixFZ0J2Q2hCLEVBQUE7O0FoQjBCTDtFZ0IxR0o7SWhCMkdRLFlBQVUsRWdCeEJULEVBQUE7O0FoQjhCRDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCL0JiLEVBQUE7O0FoQjhCRDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCL0JiLEVBQUE7O0FuSGdFTDtFbUhuSko7SWhCdUhRLGFBQWlCLEVnQnBDaEIsRUFBQTs7QWhCdUJMO0VnQjFHSjtJaEIyR1EsWUFBVSxFZ0JyQlQsRUFBQTs7QWhCMkJEO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0I1QmIsRUFBQTs7QWhCMkJEO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0I1QmIsRUFBQTs7QW5INkRMO0VtSG5KSjtJaEJ1SFEsYUFBaUIsRWdCakNoQixFQUFBOztBaEJvQkw7RWdCMUdKO0loQjJHUSxhQUFVLEVnQmxCVCxFQUFBOztBaEJ3QkQ7RWdCakhSO0loQmtIWSxhQUFVLEVnQnpCYixFQUFBOztBaEJ3QkQ7RWdCakhSO0loQmtIWSxtQkFBVSxFZ0J6QmIsRUFBQTs7QW5IMERMO0VtSG5KSjtJaEJ1SFEsaUJBQWlCLEVnQjlCaEIsRUFBQTs7QWhCaUJMO0VnQjFHSjtJaEIyR1EsWUFBVSxFZ0JmVCxFQUFBOztBaEJxQkQ7RWdCakhSO0loQmtIWSxhQUFVLEVnQnRCYixFQUFBOztBaEJxQkQ7RWdCakhSO0loQmtIWSxtQkFBVSxFZ0J0QmIsRUFBQTs7QW5IdURMO0VtSG5KSjtJaEJ1SFEsZ0JBQWlCLEVnQjNCaEIsRUFBQTs7QWhCY0w7RWdCMUdKO0loQjJHUSxZQUFVLEVnQlRULEVBQUE7O0FoQmVEO0VnQmpIUjtJaEJrSFksYUFBVSxFZ0JoQmIsRUFBQTs7QWhCZUQ7RWdCakhSO0loQmtIWSxhQUFVLEVnQmhCYixFQUFBOztBbkhpREw7RW1IbkpKO0loQnVIUSxhQUFpQixFZ0JyQmhCLEVBQUE7O0FoQlFMO0VnQjFHSjtJaEIyR1EsWUFBVSxFZ0JOVCxFQUFBOztBaEJZRDtFZ0JqSFI7SWhCa0hZLGFBQVUsRWdCYmIsRUFBQTs7QWhCWUQ7RWdCakhSO0loQmtIWSxtQkFBVSxFZ0JiYixFQUFBOztBbkg4Q0w7RW1IbkpKO0loQnVIUSxnQkFBaUIsRWdCbEJoQixFQUFBOztBaEJLTDtFZ0IxR0o7SWhCMkdRLFlBQVUsRWdCSFQsRUFBQTs7QWhCU0Q7RWdCakhSO0loQmtIWSxZQUFVLEVnQlZiLEVBQUE7O0FoQlNEO0VnQmpIUjtJaEJrSFksa0JBQVUsRWdCVmIsRUFBQTs7QW5IMkNMO0VtSG5KSjtJaEJ1SFEsZ0JBQWlCLEVnQmZoQixFQUFBOztBaEJFTDtFZ0IxR0o7SWhCMkdRLGFBQVUsRWdCQ1QsRUFBQTs7QWhCS0Q7RWdCakhSO0loQmtIWSxhQUFVLEVnQk5iLEVBQUE7O0FoQktEO0VnQmpIUjtJaEJrSFksbUJBQVUsRWdCTmIsRUFBQTs7QW5IdUNMO0VtSG5KSjtJaEJ1SFEsaUJBQWlCLEVnQlhoQixFQUFBOztBaEJGTDtFZ0IxR0o7SWhCMkdRLFlBQVUsRWdCSVQsRUFBQTs7QWhCRUQ7RWdCakhSO0loQmtIWSxZQUFVLEVnQkhiLEVBQUE7O0FoQkVEO0VnQmpIUjtJaEJrSFksa0JBQVUsRWdCSGIsRUFBQTs7QW5Ib0NMO0VtSG5KSjtJaEJ1SFEsZ0JBQWlCLEVnQlJoQixFQUFBOztBaEJMTDtFaUIxR0o7SWpCMkdRLFlBQVUsRWlCeEdiLEVBQUE7O0FqQjhHRztFaUJqSFI7SWpCa0hZLGFBQVUsRWlCL0dqQixFQUFBOztBakI4R0c7RWlCakhSO0lqQmtIWSxtQkFBVSxFaUIvR2pCLEVBQUE7O0FwSGdKRDtFb0huSko7SWpCdUhRLGdCQUFpQixFaUJwSHBCLEVBQUE7O0FqQnVHRDtFaUIxR0o7SWpCMkdRLFlBQVUsRWlCckdiLEVBQUE7O0FqQjJHRztFaUJqSFI7SWpCa0hZLGFBQVUsRWlCNUdqQixFQUFBOztBakIyR0c7RWlCakhSO0lqQmtIWSxtQkFBVSxFaUI1R2pCLEVBQUE7O0FwSDZJRDtFb0huSko7SWpCdUhRLGdCQUFpQixFaUJqSHBCLEVBQUE7O0FqQm9HRDtFaUIxR0o7SWpCMkdRLGFBQVUsRWlCbEdiLEVBQUE7O0FqQndHRztFaUJqSFI7SWpCa0hZLGFBQVUsRWlCekdqQixFQUFBOztBakJ3R0c7RWlCakhSO0lqQmtIWSxtQkFBVSxFaUJ6R2pCLEVBQUE7O0FwSDBJRDtFb0huSko7SWpCdUhRLGlCQUFpQixFaUI5R3BCLEVBQUE7O0FqQmlHRDtFaUIxR0o7SWpCMkdRLGFBQVUsRWlCL0ZiLEVBQUE7O0FqQnFHRztFaUJqSFI7SWpCa0hZLGFBQVUsRWlCdEdqQixFQUFBOztBakJxR0c7RWlCakhSO0lqQmtIWSxtQkFBVSxFaUJ0R2pCLEVBQUE7O0FwSHVJRDtFb0huSko7SWpCdUhRLGlCQUFpQixFaUIzR3BCLEVBQUE7O0FBWkw7RUFlUSxnQjdHaUVjLEU2R2hFakI7O0FBaEJMO0VBbUJRLGdCN0c2RGMsRTZHNURqQjs7QWpCc0ZEO0VpQjFHSjtJakIyR1EsWUFBVSxFaUJuRmIsRUFBQTs7QWpCeUZHO0VpQmpIUjtJakJrSFksYUFBVSxFaUIxRmpCLEVBQUE7O0FqQnlGRztFaUJqSFI7SWpCa0hZLGFBQVUsRWlCMUZqQixFQUFBOztBcEgySEQ7RW9IbkpKO0lqQnVIUSxhQUFpQixFaUIvRnBCLEVBQUE7O0FBeEJMO0VBMkJRLGdCN0dxRGMsRTZHcERqQjs7QWpCOEVEO0VpQjFHSjtJakIyR1EsWUFBVSxFaUIxRVQsRUFBQTs7QWpCZ0ZEO0VpQmpIUjtJakJrSFksYUFBVSxFaUJqRmIsRUFBQTs7QWpCZ0ZEO0VpQmpIUjtJakJrSFksbUJBQVUsRWlCakZiLEVBQUE7O0FwSGtITDtFb0huSko7SWpCdUhRLGdCQUFpQixFaUJ0RmhCLEVBQUE7O0FqQnlFTDtFaUIxR0o7SWpCMkdRLFlBQVUsRWlCdkVULEVBQUE7O0FqQjZFRDtFaUJqSFI7SWpCa0hZLFlBQVUsRWlCOUViLEVBQUE7O0FqQjZFRDtFaUJqSFI7SWpCa0hZLGtCQUFVLEVpQjlFYixFQUFBOztBcEgrR0w7RW9IbkpKO0lqQnVIUSxnQkFBaUIsRWlCbkZoQixFQUFBOztBakJzRUw7RWlCMUdKO0lqQjJHUSxZQUFVLEVpQnBFVCxFQUFBOztBakIwRUQ7RWlCakhSO0lqQmtIWSxhQUFVLEVpQjNFYixFQUFBOztBakIwRUQ7RWlCakhSO0lqQmtIWSxhQUFVLEVpQjNFYixFQUFBOztBcEg0R0w7RW9IbkpKO0lqQnVIUSxhQUFpQixFaUJoRmhCLEVBQUE7O0FqQm1FTDtFaUIxR0o7SWpCMkdRLFlBQVUsRWlCakVULEVBQUE7O0FqQnVFRDtFaUJqSFI7SWpCa0hZLGFBQVUsRWlCeEViLEVBQUE7O0FqQnVFRDtFaUJqSFI7SWpCa0hZLGFBQVUsRWlCeEViLEVBQUE7O0FwSHlHTDtFb0huSko7SWpCdUhRLGFBQWlCLEVpQjdFaEIsRUFBQTs7QWpCZ0VMO0VpQjFHSjtJakIyR1EsWUFBVSxFaUI5RFQsRUFBQTs7QWpCb0VEO0VpQmpIUjtJakJrSFksYUFBVSxFaUJyRWIsRUFBQTs7QWpCb0VEO0VpQmpIUjtJakJrSFksbUJBQVUsRWlCckViLEVBQUE7O0FwSHNHTDtFb0huSko7SWpCdUhRLGdCQUFpQixFaUIxRWhCLEVBQUE7O0FqQjZETDtFaUIxR0o7SWpCMkdRLGFBQVUsRWlCeERULEVBQUE7O0FqQjhERDtFaUJqSFI7SWpCa0hZLGFBQVUsRWlCL0RiLEVBQUE7O0FqQjhERDtFaUJqSFI7SWpCa0hZLG1CQUFVLEVpQi9EYixFQUFBOztBcEhnR0w7RW9IbkpKO0lqQnVIUSxpQkFBaUIsRWlCcEVoQixFQUFBOztBakJ1REw7RWlCMUdKO0lqQjJHUSxhQUFVLEVpQnJEVCxFQUFBOztBakIyREQ7RWlCakhSO0lqQmtIWSxhQUFVLEVpQjVEYixFQUFBOztBakIyREQ7RWlCakhSO0lqQmtIWSxtQkFBVSxFaUI1RGIsRUFBQTs7QXBINkZMO0VvSG5KSjtJakJ1SFEsaUJBQWlCLEVpQmpFaEIsRUFBQTs7QWpCb0RMO0VrQjFHSjtJbEIyR1EsWUFBVSxFa0J4R2IsRUFBQTs7QWxCOEdHO0VrQmpIUjtJbEJrSFksYUFBVSxFa0IvR2pCLEVBQUE7O0FsQjhHRztFa0JqSFI7SWxCa0hZLGFBQVUsRWtCL0dqQixFQUFBOztBckhnSkQ7RXFIbkpKO0lsQnVIUSxhQUFpQixFa0JwSHBCLEVBQUE7O0FsQnVHRDtFa0IxR0o7SWxCMkdRLGFBQVUsRWtCckdiLEVBQUE7O0FsQjJHRztFa0JqSFI7SWxCa0hZLGFBQVUsRWtCNUdqQixFQUFBOztBbEIyR0c7RWtCakhSO0lsQmtIWSxtQkFBVSxFa0I1R2pCLEVBQUE7O0FySDZJRDtFcUhuSko7SWxCdUhRLGlCQUFpQixFa0JqSHBCLEVBQUE7O0FsQm9HRDtFa0IxR0o7SWxCMkdRLFlBQVUsRWtCbEdiLEVBQUE7O0FsQndHRztFa0JqSFI7SWxCa0hZLGFBQVUsRWtCekdqQixFQUFBOztBbEJ3R0c7RWtCakhSO0lsQmtIWSxtQkFBVSxFa0J6R2pCLEVBQUE7O0FySDBJRDtFcUhuSko7SWxCdUhRLGdCQUFpQixFa0I5R3BCLEVBQUE7O0FsQmlHRDtFa0IxR0o7SWxCMkdRLGFBQVUsRWtCN0ZULEVBQUE7O0FsQm1HRDtFa0JqSFI7SWxCa0hZLGFBQVUsRWtCcEdiLEVBQUE7O0FsQm1HRDtFa0JqSFI7SWxCa0hZLGFBQVUsRWtCcEdiLEVBQUE7O0FySHFJTDtFcUhuSko7SWxCdUhRLGFBQWlCLEVrQnpHaEIsRUFBQTs7QWxCNEZMO0VrQjFHSjtJbEIyR1EsWUFBVSxFa0J2RlQsRUFBQTs7QWxCNkZEO0VrQmpIUjtJbEJrSFksYUFBVSxFa0I5RmIsRUFBQTs7QWxCNkZEO0VrQmpIUjtJbEJrSFksbUJBQVUsRWtCOUZiLEVBQUE7O0FySCtITDtFcUhuSko7SWxCdUhRLGdCQUFpQixFa0JuR2hCLEVBQUE7O0FsQnNGTDtFa0IxR0o7SWxCMkdRLGFBQVUsRWtCcEZULEVBQUE7O0FsQjBGRDtFa0JqSFI7SWxCa0hZLGFBQVUsRWtCM0ZiLEVBQUE7O0FsQjBGRDtFa0JqSFI7SWxCa0hZLG1CQUFVLEVrQjNGYixFQUFBOztBckg0SEw7RXFIbkpKO0lsQnVIUSxpQkFBaUIsRWtCaEdoQixFQUFBOztBbEJtRkw7RWtCMUdKO0lsQjJHUSxZQUFVLEVrQmpGVCxFQUFBOztBbEJ1RkQ7RWtCakhSO0lsQmtIWSxhQUFVLEVrQnhGYixFQUFBOztBbEJ1RkQ7RWtCakhSO0lsQmtIWSxtQkFBVSxFa0J4RmIsRUFBQTs7QXJIeUhMO0VxSG5KSjtJbEJ1SFEsZ0JBQWlCLEVrQjdGaEIsRUFBQTs7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QUFhO0VBQ2IsZ0JBQWdCLEVBQ2pCOztBQUVEO0VBbE5FLHlFQUFxQixFQW9OdEI7O0FBRUQ7RUF0TkUsMkVBQXFCLEVBd050Qjs7QUFFRDtFQUNFLFdBQVc7RUFDWCxXQUFXLEVBQ1o7O0FBRUQ7RUFDRSxXQUFXO0VBQ1gsV0FBVyxFQUNaOztBQUVEO0VBQ0UsZ0JBQWdCO0VBQ2hCLGVBQWUsRUFDaEI7O0FBRUQ7RUFDRSxnQkFBZ0I7RUFDaEIsZUFBZSxFQUNoQjs7QUFFRDs7Ozs7RUFNSSxlQUFlLEVBQ2hCOztBQUdIOzs7OztFQU1JLGNBQWMsRUFDZjs7QUFHSDtFQUNFLHNCQUFzQixFQUN2QiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJ4c21hbGw9MGVtJnNtYWxsPTMwZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTEwMGVtXCI7IH1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4qLFxuKjo6YmVmb3JlLFxuKjo6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0OyB9XG5cbmJvZHkge1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzQzNDU0NztcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4jbWFwX2NhbnZhcyBpbWcsXG4jbWFwX2NhbnZhcyBlbWJlZCxcbiNtYXBfY2FudmFzIG9iamVjdCxcbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi54c21hbGwtMSB7XG4gIGZsZXg6IDAgMCA0LjE2NjY3JTtcbiAgbWF4LXdpZHRoOiA0LjE2NjY3JTsgfVxuXG4ueHNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi54c21hbGwtMiB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4ueHNtYWxsLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDQuMTY2NjclOyB9XG5cbi54c21hbGwtMyB7XG4gIGZsZXg6IDAgMCAxMi41JTtcbiAgbWF4LXdpZHRoOiAxMi41JTsgfVxuXG4ueHNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG5cbi54c21hbGwtNCB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi54c21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cblxuLnhzbWFsbC01IHtcbiAgZmxleDogMCAwIDIwLjgzMzMzJTtcbiAgbWF4LXdpZHRoOiAyMC44MzMzMyU7IH1cblxuLnhzbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnhzbWFsbC02IHtcbiAgZmxleDogMCAwIDI1JTtcbiAgbWF4LXdpZHRoOiAyNSU7IH1cblxuLnhzbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cblxuLnhzbWFsbC03IHtcbiAgZmxleDogMCAwIDI5LjE2NjY3JTtcbiAgbWF4LXdpZHRoOiAyOS4xNjY2NyU7IH1cblxuLnhzbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnhzbWFsbC04IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnhzbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiAyOS4xNjY2NyU7IH1cblxuLnhzbWFsbC05IHtcbiAgZmxleDogMCAwIDM3LjUlO1xuICBtYXgtd2lkdGg6IDM3LjUlOyB9XG5cbi54c21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG5cbi54c21hbGwtMTAge1xuICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuXG4ueHNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG5cbi54c21hbGwtMTEge1xuICBmbGV4OiAwIDAgNDUuODMzMzMlO1xuICBtYXgtd2lkdGg6IDQ1LjgzMzMzJTsgfVxuXG4ueHNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnhzbWFsbC0xMiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi54c21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDQ1LjgzMzMzJTsgfVxuXG4ueHNtYWxsLTEzIHtcbiAgZmxleDogMCAwIDU0LjE2NjY3JTtcbiAgbWF4LXdpZHRoOiA1NC4xNjY2NyU7IH1cblxuLnhzbWFsbC1vZmZzZXQtMTIge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi54c21hbGwtMTQge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4ueHNtYWxsLW9mZnNldC0xMyB7XG4gIG1hcmdpbi1sZWZ0OiA1NC4xNjY2NyU7IH1cblxuLnhzbWFsbC0xNSB7XG4gIGZsZXg6IDAgMCA2Mi41JTtcbiAgbWF4LXdpZHRoOiA2Mi41JTsgfVxuXG4ueHNtYWxsLW9mZnNldC0xNCB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnhzbWFsbC0xNiB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi54c21hbGwtb2Zmc2V0LTE1IHtcbiAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG5cbi54c21hbGwtMTcge1xuICBmbGV4OiAwIDAgNzAuODMzMzMlO1xuICBtYXgtd2lkdGg6IDcwLjgzMzMzJTsgfVxuXG4ueHNtYWxsLW9mZnNldC0xNiB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnhzbWFsbC0xOCB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi54c21hbGwtb2Zmc2V0LTE3IHtcbiAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuXG4ueHNtYWxsLTE5IHtcbiAgZmxleDogMCAwIDc5LjE2NjY3JTtcbiAgbWF4LXdpZHRoOiA3OS4xNjY2NyU7IH1cblxuLnhzbWFsbC1vZmZzZXQtMTgge1xuICBtYXJnaW4tbGVmdDogNzUlOyB9XG5cbi54c21hbGwtMjAge1xuICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4ueHNtYWxsLW9mZnNldC0xOSB7XG4gIG1hcmdpbi1sZWZ0OiA3OS4xNjY2NyU7IH1cblxuLnhzbWFsbC0yMSB7XG4gIGZsZXg6IDAgMCA4Ny41JTtcbiAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuXG4ueHNtYWxsLW9mZnNldC0yMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnhzbWFsbC0yMiB7XG4gIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG5cbi54c21hbGwtb2Zmc2V0LTIxIHtcbiAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG5cbi54c21hbGwtMjMge1xuICBmbGV4OiAwIDAgOTUuODMzMzMlO1xuICBtYXgtd2lkdGg6IDk1LjgzMzMzJTsgfVxuXG4ueHNtYWxsLW9mZnNldC0yMiB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnhzbWFsbC0yNCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLnhzbWFsbC1vZmZzZXQtMjMge1xuICBtYXJnaW4tbGVmdDogOTUuODMzMzMlOyB9XG5cbi54c21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi54c21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi54c21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi54c21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi54c21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi54c21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi54c21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAueHNtYWxsLXVwLTEgPiAuY29sdW1uLCAueHNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi54c21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAueHNtYWxsLXVwLTIgPiAuY29sdW1uLCAueHNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4ueHNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnhzbWFsbC11cC0zID4gLmNvbHVtbiwgLnhzbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnhzbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54c21hbGwtdXAtNCA+IC5jb2x1bW4sIC54c21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi54c21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAueHNtYWxsLXVwLTUgPiAuY29sdW1uLCAueHNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4ueHNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnhzbWFsbC11cC02ID4gLmNvbHVtbiwgLnhzbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnhzbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC54c21hbGwtdXAtNyA+IC5jb2x1bW4sIC54c21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi54c21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAueHNtYWxsLXVwLTggPiAuY29sdW1uLCAueHNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnhzbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC54c21hbGwtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4ueHNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueHNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNtYWxsLTEge1xuICAgIGZsZXg6IDAgMCA0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQuMTY2NjclOyB9XG4gIC5zbWFsbC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5zbWFsbC0yIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAuc21hbGwtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA0LjE2NjY3JTsgfVxuICAuc21hbGwtMyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cbiAgLnNtYWxsLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnNtYWxsLTQge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnNtYWxsLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLnNtYWxsLTUge1xuICAgIGZsZXg6IDAgMCAyMC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiAyMC44MzMzMyU7IH1cbiAgLnNtYWxsLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC02IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5zbWFsbC1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwLjgzMzMzJTsgfVxuICAuc21hbGwtNyB7XG4gICAgZmxleDogMCAwIDI5LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDI5LjE2NjY3JTsgfVxuICAuc21hbGwtb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnNtYWxsLTgge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogMjkuMTY2NjclOyB9XG4gIC5zbWFsbC05IHtcbiAgICBmbGV4OiAwIDAgMzcuNSU7XG4gICAgbWF4LXdpZHRoOiAzNy41JTsgfVxuICAuc21hbGwtb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnNtYWxsLTEwIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC5zbWFsbC0xMSB7XG4gICAgZmxleDogMCAwIDQ1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDQ1LjgzMzMzJTsgfVxuICAuc21hbGwtb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5zbWFsbC0xMiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNDUuODMzMzMlOyB9XG4gIC5zbWFsbC0xMyB7XG4gICAgZmxleDogMCAwIDU0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDU0LjE2NjY3JTsgfVxuICAuc21hbGwtb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5zbWFsbC0xNCB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogNTQuMTY2NjclOyB9XG4gIC5zbWFsbC0xNSB7XG4gICAgZmxleDogMCAwIDYyLjUlO1xuICAgIG1heC13aWR0aDogNjIuNSU7IH1cbiAgLnNtYWxsLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAuc21hbGwtMTYge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnNtYWxsLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC5zbWFsbC0xNyB7XG4gICAgZmxleDogMCAwIDcwLjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDcwLjgzMzMzJTsgfVxuICAuc21hbGwtb2Zmc2V0LTE2IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5zbWFsbC0xOCB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAuc21hbGwtb2Zmc2V0LTE3IHtcbiAgICBtYXJnaW4tbGVmdDogNzAuODMzMzMlOyB9XG4gIC5zbWFsbC0xOSB7XG4gICAgZmxleDogMCAwIDc5LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDc5LjE2NjY3JTsgfVxuICAuc21hbGwtb2Zmc2V0LTE4IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5zbWFsbC0yMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtb2Zmc2V0LTE5IHtcbiAgICBtYXJnaW4tbGVmdDogNzkuMTY2NjclOyB9XG4gIC5zbWFsbC0yMSB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLnNtYWxsLW9mZnNldC0yMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAuc21hbGwtMjIge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnNtYWxsLW9mZnNldC0yMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC5zbWFsbC0yMyB7XG4gICAgZmxleDogMCAwIDk1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDk1LjgzMzMzJTsgfVxuICAuc21hbGwtb2Zmc2V0LTIyIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5zbWFsbC0yNCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC1vZmZzZXQtMjMge1xuICAgIG1hcmdpbi1sZWZ0OiA5NS44MzMzMyU7IH1cbiAgLnNtYWxsLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zbWFsbC1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAuc21hbGwtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnNtYWxsLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5zbWFsbC1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAuc21hbGwtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLnNtYWxsLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuc21hbGwtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsLXVwLTIgPiAuY29sdW1uLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsLXVwLTUgPiAuY29sdW1uLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAuc21hbGwtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuc21hbGwtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnNtYWxsLXVwLTggPiAuY29sdW1uLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21hbGwtZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5zbWFsbC11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5zbWFsbC11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnJvdy5zbWFsbC11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5zbWFsbC11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICBmbGV4OiAwIDAgNC4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0LjE2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogNC4xNjY2NyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAubWVkaXVtLTUge1xuICAgIGZsZXg6IDAgMCAyMC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiAyMC44MzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTYge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDIwLjgzMzMzJTsgfVxuICAubWVkaXVtLTcge1xuICAgIGZsZXg6IDAgMCAyOS4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiAyOS4xNjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTgge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI5LjE2NjY3JTsgfVxuICAubWVkaXVtLTkge1xuICAgIGZsZXg6IDAgMCAzNy41JTtcbiAgICBtYXgtd2lkdGg6IDM3LjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgZmxleDogMCAwIDQ1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDQ1LjgzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogNDUuODMzMzMlOyB9XG4gIC5tZWRpdW0tMTMge1xuICAgIGZsZXg6IDAgMCA1NC4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA1NC4xNjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS0xNCB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU0LjE2NjY3JTsgfVxuICAubWVkaXVtLTE1IHtcbiAgICBmbGV4OiAwIDAgNjIuNSU7XG4gICAgbWF4LXdpZHRoOiA2Mi41JTsgfVxuICAubWVkaXVtLW9mZnNldC0xNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTE2IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLm1lZGl1bS0xNyB7XG4gICAgZmxleDogMCAwIDcwLjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDcwLjgzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0xNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTE4IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTE3IHtcbiAgICBtYXJnaW4tbGVmdDogNzAuODMzMzMlOyB9XG4gIC5tZWRpdW0tMTkge1xuICAgIGZsZXg6IDAgMCA3OS4xNjY2NyU7XG4gICAgbWF4LXdpZHRoOiA3OS4xNjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTgge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0yMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0xOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc5LjE2NjY3JTsgfVxuICAubWVkaXVtLTIxIHtcbiAgICBmbGV4OiAwIDAgODcuNSU7XG4gICAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuICAubWVkaXVtLW9mZnNldC0yMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTIyIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIxIHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLm1lZGl1bS0yMyB7XG4gICAgZmxleDogMCAwIDk1LjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDk1LjgzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0yMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLTI0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMjMge1xuICAgIG1hcmdpbi1sZWZ0OiA5NS44MzMzMyU7IH1cbiAgLm1lZGl1bS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubWVkaXVtLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5tZWRpdW0tb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLm1lZGl1bS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubWVkaXVtLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5tZWRpdW0tb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH1cbiAgLm1lZGl1bS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAubWVkaXVtLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxNC4yODU3MSU7XG4gICAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAubWVkaXVtLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNC4xNjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMTY2NjclOyB9XG4gIC5sYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDIwLjgzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDIwLjgzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogMjAuODMzMzMlOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgMjkuMTY2NjclO1xuICAgIG1heC13aWR0aDogMjkuMTY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiAyOS4xNjY2NyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCAzNy41JTtcbiAgICBtYXgtd2lkdGg6IDM3LjUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgNDUuODMzMzMlO1xuICAgIG1heC13aWR0aDogNDUuODMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA0NS44MzMzMyU7IH1cbiAgLmxhcmdlLTEzIHtcbiAgICBmbGV4OiAwIDAgNTQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNTQuMTY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTE0IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA1NC4xNjY2NyU7IH1cbiAgLmxhcmdlLTE1IHtcbiAgICBmbGV4OiAwIDAgNjIuNSU7XG4gICAgbWF4LXdpZHRoOiA2Mi41JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTE0IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS0xNiB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLmxhcmdlLTE3IHtcbiAgICBmbGV4OiAwIDAgNzAuODMzMzMlO1xuICAgIG1heC13aWR0aDogNzAuODMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTE4IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTcge1xuICAgIG1hcmdpbi1sZWZ0OiA3MC44MzMzMyU7IH1cbiAgLmxhcmdlLTE5IHtcbiAgICBmbGV4OiAwIDAgNzkuMTY2NjclO1xuICAgIG1heC13aWR0aDogNzkuMTY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTgge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTIwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3OS4xNjY2NyU7IH1cbiAgLmxhcmdlLTIxIHtcbiAgICBmbGV4OiAwIDAgODcuNSU7XG4gICAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0yMiB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIxIHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLmxhcmdlLTIzIHtcbiAgICBmbGV4OiAwIDAgOTUuODMzMzMlO1xuICAgIG1heC13aWR0aDogOTUuODMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMjIge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLTI0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0yMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDk1LjgzMzMzJTsgfVxuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIC54bGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNC4xNjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC54bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQuMTY2NjclOyB9XG4gIC54bGFyZ2UtMyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMTIuNSU7IH1cbiAgLnhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgMjAuODMzMzMlO1xuICAgIG1heC13aWR0aDogMjAuODMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS02IHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cbiAgLnhsYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgMjkuMTY2NjclO1xuICAgIG1heC13aWR0aDogMjkuMTY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLnhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiAyOS4xNjY2NyU7IH1cbiAgLnhsYXJnZS05IHtcbiAgICBmbGV4OiAwIDAgMzcuNSU7XG4gICAgbWF4LXdpZHRoOiAzNy41JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDM3LjUlOyB9XG4gIC54bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA0NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA0NS44MzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS0xMiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAueGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1LjgzMzMzJTsgfVxuICAueGxhcmdlLTEzIHtcbiAgICBmbGV4OiAwIDAgNTQuMTY2NjclO1xuICAgIG1heC13aWR0aDogNTQuMTY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtMTQge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTMge1xuICAgIG1hcmdpbi1sZWZ0OiA1NC4xNjY2NyU7IH1cbiAgLnhsYXJnZS0xNSB7XG4gICAgZmxleDogMCAwIDYyLjUlO1xuICAgIG1heC13aWR0aDogNjIuNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS0xNiB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDYyLjUlOyB9XG4gIC54bGFyZ2UtMTcge1xuICAgIGZsZXg6IDAgMCA3MC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA3MC44MzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTYge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS0xOCB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAueGxhcmdlLW9mZnNldC0xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuICAueGxhcmdlLTE5IHtcbiAgICBmbGV4OiAwIDAgNzkuMTY2NjclO1xuICAgIG1heC13aWR0aDogNzkuMTY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTE4IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54bGFyZ2UtMjAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3OS4xNjY2NyU7IH1cbiAgLnhsYXJnZS0yMSB7XG4gICAgZmxleDogMCAwIDg3LjUlO1xuICAgIG1heC13aWR0aDogODcuNSU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMjAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS0yMiB7XG4gICAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0yMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDg3LjUlOyB9XG4gIC54bGFyZ2UtMjMge1xuICAgIGZsZXg6IDAgMCA5NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA5NS44MzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMjIge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnhsYXJnZS0yNCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTIzIHtcbiAgICBtYXJnaW4tbGVmdDogOTUuODMzMzMlOyB9XG4gIC54bGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54bGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLnhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54bGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnhsYXJnZS11cC0xID4gLmNvbHVtbiwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnhsYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnhsYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnhsYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnhsYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnhsYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnhsYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAueGxhcmdlLXVwLTggPiAuY29sdW1uLCAueGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5yb3cueGxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LnhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC54eGxhcmdlLTEge1xuICAgIGZsZXg6IDAgMCA0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQuMTY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnh4bGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA0LjE2NjY3JTsgfVxuICAueHhsYXJnZS0zIHtcbiAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC54eGxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAxMi41JTsgfVxuICAueHhsYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgMjAuODMzMzMlO1xuICAgIG1heC13aWR0aDogMjAuODMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiAyMC44MzMzMyU7IH1cbiAgLnh4bGFyZ2UtNyB7XG4gICAgZmxleDogMCAwIDI5LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDI5LjE2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueHhsYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogMjkuMTY2NjclOyB9XG4gIC54eGxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCAzNy41JTtcbiAgICBtYXgtd2lkdGg6IDM3LjUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogMzcuNSU7IH1cbiAgLnh4bGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA0NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA0NS44MzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQ1LjgzMzMzJTsgfVxuICAueHhsYXJnZS0xMyB7XG4gICAgZmxleDogMCAwIDU0LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDU0LjE2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtMTQge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEzIHtcbiAgICBtYXJnaW4tbGVmdDogNTQuMTY2NjclOyB9XG4gIC54eGxhcmdlLTE1IHtcbiAgICBmbGV4OiAwIDAgNjIuNSU7XG4gICAgbWF4LXdpZHRoOiA2Mi41JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTQge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMTYge1xuICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE1IHtcbiAgICBtYXJnaW4tbGVmdDogNjIuNSU7IH1cbiAgLnh4bGFyZ2UtMTcge1xuICAgIGZsZXg6IDAgMCA3MC44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA3MC44MzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE2IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLTE4IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDcwLjgzMzMzJTsgfVxuICAueHhsYXJnZS0xOSB7XG4gICAgZmxleDogMCAwIDc5LjE2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDc5LjE2NjY3JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTgge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLnh4bGFyZ2UtMjAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTE5IHtcbiAgICBtYXJnaW4tbGVmdDogNzkuMTY2NjclOyB9XG4gIC54eGxhcmdlLTIxIHtcbiAgICBmbGV4OiAwIDAgODcuNSU7XG4gICAgbWF4LXdpZHRoOiA4Ny41JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMjAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMjIge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIxIHtcbiAgICBtYXJnaW4tbGVmdDogODcuNSU7IH1cbiAgLnh4bGFyZ2UtMjMge1xuICAgIGZsZXg6IDAgMCA5NS44MzMzMyU7XG4gICAgbWF4LXdpZHRoOiA5NS44MzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIyIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLTI0IHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTIzIHtcbiAgICBtYXJnaW4tbGVmdDogOTUuODMzMzMlOyB9XG4gIC54eGxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC54eGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54eGxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC54eGxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC54eGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54eGxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC54eGxhcmdlLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uLCAueHhsYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLnh4bGFyZ2UtdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLnh4bGFyZ2UtdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLnh4bGFyZ2UtdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLnh4bGFyZ2UtdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLnh4bGFyZ2UtdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lnh4bGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbnMge1xuICBmbGV4OiAwIDAgMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5yb3cueHhsYXJnZS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy54eGxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueHhsYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAueHhsYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sdW1uLmFsaWduLXRvcCwgLmFsaWduLXRvcC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uY29sdW1uLmFsaWduLWJvdHRvbSwgLmFsaWduLWJvdHRvbS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmNvbHVtbi5hbGlnbi1taWRkbGUsIC5hbGlnbi1taWRkbGUuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uY29sdW1uLmFsaWduLXN0cmV0Y2gsIC5hbGlnbi1zdHJldGNoLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1yaWdodCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFsaWduLWNlbnRlciB7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5hbGlnbi1qdXN0aWZ5IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5hbGlnbi1zcGFjZWQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDsgfVxuXG4uYWxpZ24tdG9wIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLXNlbGYtdG9wIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tYm90dG9tIHtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1zZWxmLWJvdHRvbSB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1taWRkbGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5hbGlnbi1zZWxmLW1pZGRsZSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc3RyZXRjaCB7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG5cbi5hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbi54c21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi54c21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi54c21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi54c21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi54c21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi54c21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNtYWxsLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5zbWFsbC1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAuc21hbGwtb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnNtYWxsLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5zbWFsbC1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAuc21hbGwtb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueGxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC54bGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLnhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueGxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC54bGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAueHhsYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAueHhsYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAueHhsYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAueHhsYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAueHhsYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjZjM2NzE3O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNlMmUyZTI7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG5oNSB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNDM3NXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuMDYyNXJlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICNmMzY3MTc7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2RhNTYwYjsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzQzNDU0NztcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuc21hbGwtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5zbWFsbC10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuc21hbGwtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc21hbGwtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLnhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueGxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAueHhsYXJnZS10ZXh0LWxlZnQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLnh4bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueHhsYXJnZS10ZXh0LWp1c3RpZnkge1xuICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH0gfVxuXG4uc2hvdy1mb3ItcHJpbnQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgKiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgLmhpZGUtZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgdGFibGUuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgdGhlYWQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRib2R5LnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGQuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIGEsXG4gIGE6dmlzaXRlZCB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgYVtocmVmXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cbiAgLmlyIGE6YWZ0ZXIsXG4gIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gIGFbaHJlZl49JyMnXTphZnRlciB7XG4gICAgY29udGVudDogJyc7IH1cbiAgYWJiclt0aXRsZV06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuICBwcmUsXG4gIGJsb2NrcXVvdGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIHRoZWFkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXA7IH1cbiAgdHIsXG4gIGltZyB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogMC41Y207IH1cbiAgcCxcbiAgaDIsXG4gIGgzIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMzsgfVxuICBoMixcbiAgaDMge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMC44NWVtIDFlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzNjcxNztcbiAgY29sb3I6ICNmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Q3NTUwYjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzNjcxNztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYTUwMGE7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDU0NztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzYzNzM5O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMzY3MTc7XG4gICAgY29sb3I6ICNmMzY3MTc7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzdlMzIwNztcbiAgICAgIGNvbG9yOiAjN2UzMjA3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjM2NzE3O1xuICAgICAgY29sb3I6ICNmMzY3MTc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3ZTMyMDc7XG4gICAgICAgIGNvbG9yOiAjN2UzMjA3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM0MzQ1NDc7XG4gICAgICBjb2xvcjogIzQzNDU0NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMyMjIzMjQ7XG4gICAgICAgIGNvbG9yOiAjMjIyMzI0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YzNjcxNztcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uZHJvcGRvd246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjRlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLmJ1dHRvbi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgdG9wOiAtMC4xZW07IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBjb2xvcjogIzQzNDU0NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNiN2I3Yjc7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2UyZTJlMjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjZTJlMmUyOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjNDM0NTQ3OyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmbGV4OiAwIDAgYXV0bzsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4zMTI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzQzNDU0NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4NTEsIDUxLCA1MSUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjM2LCA4OCwgNjQsIDAuMSk7XG4gIGJvcmRlci1jb2xvcjogI2VjNTg0MDsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNlYzU4NDA7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAyOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXhzbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLnNob3ctZm9yLXhzbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1zbWFsbCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGlkZS1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDk5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogOTkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci14eGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA5OS45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFjY29yZGlvbiB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgY29sb3I6ICNmMzY3MTc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjVmNTtcbiAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjVmNWY1OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6aG92ZXIsIC5hY2NvcmRpb24tdGl0bGU6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cbiAgLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnKyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjVyZW07IH1cbiAgLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ+KAkyc7IH1cblxuLmFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogMXJlbTtcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjVmNTtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICNmMzY3MTc7IH1cbiAgOmxhc3QtY2hpbGQgPiAuYWNjb3JkaW9uLWNvbnRlbnQ6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmNWY1ZjU7IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjZjM2NzE3IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIHRyYW5zZm9ybTogc2NhbGVZKC0xKTsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBtaW4td2lkdGg6IDIuMWVtO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6ICNmMzY3MTc7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM0MzQ1NDc7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBjb2xvcjogI2UyZTJlMjtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgbWFyZ2luOiAwIDAuNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNlMmUyZTI7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzNjcxNztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2E1MDBhO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQzNDU0NztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM2MzczOTtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0gLmJ1dHRvbiB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuLmNhbGxvdXQge1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW0gMXJlbSAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICM0MzQ1NDc7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5jYWxsb3V0ID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5jYWxsb3V0ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNhbGxvdXQucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZThkYzsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMmUzZTQ7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNmUyOyB9XG4gIC5jYWxsb3V0LnNtYWxsIHtcbiAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC41cmVtOyB9XG4gIC5jYWxsb3V0LmxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuICAgIHBhZGRpbmctbGVmdDogM3JlbTsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmNsb3NlLWJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuY2xvc2UtYnV0dG9uOmhvdmVyLCAuY2xvc2UtYnV0dG9uOmZvY3VzIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMDBweDtcbiAgei1pbmRleDogMTA7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LnNtYWxsLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnNtYWxsLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5zbWFsbC12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGwtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUuc21hbGwtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogbm9uZTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbGV4LXZpZGVvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA3NSU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsZXgtdmlkZW8gaWZyYW1lLFxuICAuZmxleC12aWRlbyBvYmplY3QsXG4gIC5mbGV4LXZpZGVvIGVtYmVkLFxuICAuZmxleC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG4gIC5mbGV4LXZpZGVvLnZpbWVvIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2YzNjcxNztcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzQzNDU0NztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAgIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgICAubWVudSA+IGxpID4gYSBpLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgLm1lbnUudmVydGljYWwge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLm1lbnUuc21hbGwtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUuc21hbGwtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS5zbWFsbC12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51LnNtYWxsLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS5zbWFsbC12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gICAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAubWVudS54bGFyZ2UtaG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgICAubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAubWVudS54eGxhcmdlLXZlcnRpY2FsIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQgPiBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2YzNjcxNzsgfVxuXG4ubWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnBhZ2luYXRpb246OmJlZm9yZSwgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNWY1ZjU7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZjM2NzE3O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2UyZTJlMjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMDBhYic7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgY29udGVudDogJ1xcMDBiYic7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTJlMmUyO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjM2NzE3OyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDM0NTQ3OyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YzNjcxNzsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlMmUyZTI7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjM2NzE3O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDc1NTBiOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNDUpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnJldmVhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6IDEwMDY7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxMDBweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnJldmVhbCB7XG4gICAgb3V0bGluZTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAwOyB9IH1cbiAgLnJldmVhbCAuY29sdW1uLCAucmV2ZWFsIC5jb2x1bW5zLFxuICAucmV2ZWFsIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7IH1cbiAgLnJldmVhbCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIC5yZXZlYWwge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiAwIGF1dG87IH0gfVxuICAucmV2ZWFsLmNvbGxhcHNlIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5sYXJnZSB7XG4gICAgICB3aWR0aDogOTAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgLnJldmVhbC5mdWxsIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMjkuOTM3NWVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7IH0gfVxuICAucmV2ZWFsLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5zd2l0Y2gge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICNlMmUyZTI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7IH1cbiAgaW5wdXQgKyAuc3dpdGNoLXBhZGRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgYmFja2dyb3VuZDogI2YzNjcxNzsgfVxuICAgIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMi4yNXJlbTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gaW5wdXQ6Zm9jdXMgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uc3dpdGNoLWFjdGl2ZSwgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4uc3dpdGNoLWFjdGl2ZSB7XG4gIGxlZnQ6IDglO1xuICBkaXNwbGF5OiBub25lOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc3dpdGNoLWluYWN0aXZlIHtcbiAgcmlnaHQ6IDE1JTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzcmVtO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgZm9udC1zaXplOiAwLjYyNXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTsgfVxuXG4uc3dpdGNoLnRpbnkgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDEuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiAzLjVyZW07XG4gIGhlaWdodDogMS43NXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgd2lkdGg6IDEuMjVyZW07XG4gIGhlaWdodDogMS4yNXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogNXJlbTtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAycmVtO1xuICBoZWlnaHQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMi43NXJlbTsgfVxuXG50YWJsZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIHRhYmxlIHRoZWFkLFxuICB0YWJsZSB0Ym9keSxcbiAgdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICB0YWJsZSBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cbiAgdGFibGUgdGhlYWQsXG4gIHRhYmxlIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICAgIGNvbG9yOiAjNDM0NTQ3OyB9XG4gICAgdGFibGUgdGhlYWQgdHIsXG4gICAgdGFibGUgdGZvb3QgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICB0YWJsZSB0aGVhZCB0aCxcbiAgICB0YWJsZSB0aGVhZCB0ZCxcbiAgICB0YWJsZSB0Zm9vdCB0aCxcbiAgICB0YWJsZSB0Zm9vdCB0ZCB7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGFibGUgdGJvZHkgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gIHRhYmxlIHRib2R5IHRoLFxuICB0YWJsZSB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmYWZhZmE7IH1cblxudGFibGUuaG92ZXIgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWRlZGVkOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmNWY1ZjU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2YzNjcxNzsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2YwNWYwYzsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjVmNTtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Y1ZjVmNTtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQsXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxleDogMSAxIDBweDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qXG4qIEZ1bmtjZSBpIG1peGlucyBqc291IG5hIG5lanZ5xaHFocOtIMO6cm92bmkgLT4gdnl1xb5pdMOtIHZlIHbFoWVjaCBzdHlsZWNoIVxuKiBTb3Vib3IgZ2xvYmFsLXNldHRpbmcgamUgbmFkIGFwcC1zZXR0aW5nIHogZMWvdm9kdSBtb8W+bm9zdGkgcMWZZWtyw710IGluZGl2aWR1w6FsbsOtbSBhcHAtc2V0dGluZ3NcbiogcHJvIGplZG5vdGxpdsOpIGluc3RhbmNlIHN5c3TDqW11LlxuKi9cbi8qIGdsb2JhbCAtICBuYXN0YXZlbsOtIGtvbXBvbmVudCBudXRuw6kgcHJvIHrDoWtsYWRuw60gcm96dnLFvmVuw60sXG4qICB0eXRvIGhvZG5vdHkgamUgbnV0bsOpIG3DrXQgbmFzdGF2ZW7DqSBpIHDFmWVzIHRvLCDFvmUgc2UgcyBuaW1pIG5lcHJhY3VqZSB2IGFwcC1zZXR0aW5ncy5cbiovXG5oMiB7XG4gIGNvbG9yOiAjNDM0NTQ3OyB9XG5cbmg0IHtcbiAgY29sb3I6ICM0MzQ1NDc7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgY29sb3I6ICNlYzU4NDA7IH1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Nb250c2VycmF0LXJlZ3VsYXIud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJNb250c2VycmF0XCI7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvTW9udHNlcnJhdC1Cb2xkLndvZmZcIikgZm9ybWF0KFwid29mZlwiKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuaHRtbCwgYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi50b3BCYXIge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cblxuLm1haW5XcmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG5uYXYge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB6LWluZGV4OiAxMTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTEwMCUsIDAsIDApOyB9XG4gIG5hdi50b2dnbGVMZWZ0U2lkZWJhck1vYmlsZSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgbmF2IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgICAgIG5hdi50b2dnbGVMZWZ0U2lkZWJhck1vYmlsZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgICAgIC50b2dnbGVMZWZ0U2lkZWJhckRlc2t0b3AgbmF2IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgIWltcG9ydGFudDsgfSB9XG5cbi5taWRkbGVSaWdodFdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDEgMHB4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjsgfVxuICAubWlkZGxlUmlnaHRXcmFwcGVyIC5jb250ZW50SGVhZGVyIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1pZGRsZVJpZ2h0V3JhcHBlciB7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgICAubWlkZGxlUmlnaHRXcmFwcGVyIC5jb250ZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWlkZGxlUmlnaHRXcmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1pZGRsZVJpZ2h0V3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMTIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubWlkZGxlUmlnaHRXcmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAubWlkZGxlUmlnaHRXcmFwcGVyIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50b2dnbGVMZWZ0U2lkZWJhckRlc2t0b3AgLm1pZGRsZVJpZ2h0V3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAubWlkZGxlUmlnaHRXcmFwcGVyIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgLm1pZGRsZVJpZ2h0V3JhcHBlciAuY29udGVudCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAubWlkZGxlUmlnaHRXcmFwcGVyIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEzLjc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAubWlkZGxlUmlnaHRXcmFwcGVyIC5jb250ZW50IHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5taWRkbGVSaWdodFdyYXBwZXIgLmNvbnRlbnQudG9nZ2xlUmlnaHRTaWRlYmFyRGVza3RvcCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5hcnRpY2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IGF1dG87IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIGFydGljbGUge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH0gfVxuXG5hc2lkZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2U7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7IH1cbiAgYXNpZGUudG9nZ2xlUmlnaHRTaWRlYmFyTW9iaWxlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgYXNpZGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgICAgYXNpZGUudG9nZ2xlUmlnaHRTaWRlYmFyTW9iaWxlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuICAgICAgLnRvZ2dsZVJpZ2h0U2lkZWJhckRlc2t0b3AgYXNpZGUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDEwMCUsIDAsIDApICFpbXBvcnRhbnQ7IH0gfVxuXG4uZm9vdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG5cbi50b3BCYXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB6LWluZGV4OiAyMDtcbiAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgYm94LXNoYWRvdzogMCAwIDVweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQmFyIHtcbiAgICAgIGhlaWdodDogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAudG9wQmFyIHtcbiAgICAgIGhlaWdodDogMy40Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudG9wQmFyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAudG9wQmFyIC50aXRsZSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgICAudG9wQmFyIC50aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMy43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAudG9wQmFyIC50aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxMy43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICAudG9wQmFyIC50aXRsZSB7XG4gICAgICAgIHdpZHRoOiAxNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC50b3BCYXIgLnRpdGxlIHtcbiAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICAudG9wQmFyIC50aXRsZSB7XG4gICAgICAgIGhlaWdodDogMy40Mzc1cmVtOyB9IH1cbiAgICAudG9wQmFyIC50aXRsZSAubG9nbyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLnRvcEJhciAudGl0bGUgLmxvZ28gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgZmlsbDogI2ZmZjtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLnRvcEJhciAudGl0bGUgLmxvZ28gc3ZnIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAgIC50b3BCYXIgLnRpdGxlOmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLnRvcEJhciAuY29udHJvbHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAudG9wQmFyIC5jb250cm9scyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC50b3BCYXIgLmNvbnRyb2xzID4gLnJvdyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC50b3BCYXIgLmNvbnRyb2xzIHN2ZyB7XG4gICAgICBmaWxsOiAjNDM0NTQ3O1xuICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgd2lkdGg6IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC50b3BCYXIgLmNvbnRyb2xzIHN2ZyB7XG4gICAgICAgICAgaGVpZ2h0OiAxLjU2MjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnRvcEJhciAuY29udHJvbHMgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMS41NjI1cmVtOyB9IH1cbiAgICAgIC50b3BCYXIgLmNvbnRyb2xzIHN2Zy5pY29uQXJyb3cge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcmVtOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICAgLnRvcEJhciAuY29udHJvbHMgc3ZnLmljb25BcnJvdyB7XG4gICAgICAgICAgICB3aWR0aDogMS4xMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC50b3BCYXIgLmNvbnRyb2xzIHN2Zy5pY29uQXJyb3cge1xuICAgICAgICAgICAgaGVpZ2h0OiAxLjEyNXJlbTsgfSB9XG4gICAgICAgIC50b3BCYXIgLmNvbnRyb2xzIHN2Zy5pY29uQXJyb3cuZG93biB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpOyB9XG4gIC50b3BCYXIgLmJ1dHRvbi1ncm91cCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAudG9wQmFyIC5kcm9wZG93bi5tZW51ID4gbGkgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbSAwIDAuNjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgaGVpZ2h0OiAyLjgxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnRvcEJhciAuZHJvcGRvd24ubWVudSA+IGxpID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBwYWRkaW5nOiAwIDFyZW0gMCAxcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnRvcEJhciAuZHJvcGRvd24ubWVudSA+IGxpID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLnRvcEJhciAuZHJvcGRvd24ubWVudSA+IGxpID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBsaW5lLWhlaWdodDogMy40Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnRvcEJhciAuZHJvcGRvd24ubWVudSA+IGxpID4gYTpub3QoLmJ1dHRvbikge1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC50b3BCYXIgLmRyb3Bkb3duLm1lbnUgPiBsaSA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgaGVpZ2h0OiAzLjQzNzVyZW07IH0gfVxuICAudG9wQmFyIC5kcm9wZG93bi5tZW51IC51c2VyQXZhdGFyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAudG9wQmFyIC5kcm9wZG93bi5tZW51IC51c2VyQXZhdGFyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICAgIC50b3BCYXIgLmRyb3Bkb3duLm1lbnUgLnVzZXJBdmF0YXIgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxLjgyODEycmVtO1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnRvcEJhciAuZHJvcGRvd24ubWVudSAudXNlckF2YXRhciBpbWcge1xuICAgICAgICAgIGhlaWdodDogMi4wMzEyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgLnRvcEJhciAuZHJvcGRvd24ubWVudSAudXNlckF2YXRhciBpbWcge1xuICAgICAgICAgIGhlaWdodDogMi4yMzQzOHJlbTsgfSB9XG4gIC50b3BCYXIgLmRyb3Bkb3duLm1lbnUgc21hbGwge1xuICAgIGNvbG9yOiAjNDM0NTQ3O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRvcEJhciAuZHJvcGRvd24ubWVudSBzdHJvbmcge1xuICAgIGNvbG9yOiAjZjM2NzE3O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY29udGVudEhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjZjQ3NjJlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5jb250ZW50SGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDAgMDsgfSB9XG4gIC5jb250ZW50SGVhZGVyIGgxIHtcbiAgICBjb2xvcjogI2YzNjcxNztcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5jb250ZW50SGVhZGVyIGgxIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtIDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICAgIC5jb250ZW50SGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29udGVudEhlYWRlciBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5jb250ZW50SGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH0gfVxuXG4ubWFpbldyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1OyB9XG5cbi5taWRkbGVSaWdodFdyYXBwZXIgYXJ0aWNsZSB7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5taWRkbGVSaWdodFdyYXBwZXIgYXJ0aWNsZSB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDAgMCAwOyB9IH1cblxuLmNvbnRlbnRUb3BXcmFwcGVyIHtcbiAgei1pbmRleDogOTsgfVxuXG5uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzMzM1O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAgIG5hdiB7XG4gICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIG5hdiB7XG4gICAgICB3aWR0aDogMTMuNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICBuYXYge1xuICAgICAgd2lkdGg6IDE1cmVtOyB9IH1cblxuLnNpZGUtbmF2IHtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgYm94LXNoYWRvdzogMCAxcHggNnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4yKTsgfVxuICAuc2lkZS1uYXYgbGkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5zaWRlLW5hdiBsaSBzcGFuIHtcbiAgICAgIGZsZXg6IDEgMSAxcHg7IH1cbiAgLnNpZGUtbmF2ID4gbGkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjM2QzZjQxO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5zaWRlLW5hdiA+IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgICAgLnNpZGUtbmF2ID4gbGkge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgIC5zaWRlLW5hdiA+IGxpIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIC5zaWRlLW5hdiA+IGxpIC5pY29uIHtcbiAgICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMS4xMjVyZW07XG4gICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuc2lkZS1uYXYgPiBsaSAuaWNvbiB7XG4gICAgICAgICAgd2lkdGg6IDEuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnNpZGUtbmF2ID4gbGkgLmljb24ge1xuICAgICAgICAgIGhlaWdodDogMS4yNXJlbTsgfSB9XG4gICAgICAuc2lkZS1uYXYgPiBsaSAuaWNvbiwgLnNpZGUtbmF2ID4gbGkgLmljb24gc3ZnIHtcbiAgICAgICAgZmlsbDogI2ZmZjsgfVxuICAgIC5zaWRlLW5hdiA+IGxpIC5hcnJvdyB7XG4gICAgICB3aWR0aDogMC42MjVyZW07XG4gICAgICBoZWlnaHQ6IDAuNjI1cmVtO1xuICAgICAgZmlsbDogIzdiN2Q3ZTtcbiAgICAgIG1hcmdpbjogMCAwIDAgMC4zMTI1cmVtO1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zaWRlLW5hdiA+IGxpIC5hcnJvdyB7XG4gICAgICAgICAgd2lkdGg6IDAuNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5zaWRlLW5hdiA+IGxpIC5hcnJvdyB7XG4gICAgICAgICAgd2lkdGg6IDAuODc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zaWRlLW5hdiA+IGxpIC5hcnJvdyB7XG4gICAgICAgICAgaGVpZ2h0OiAwLjc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgICAgICAuc2lkZS1uYXYgPiBsaSAuYXJyb3cge1xuICAgICAgICAgIGhlaWdodDogMC44NzVyZW07IH0gfVxuICAgIC5zaWRlLW5hdiA+IGxpIGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaSBzdHJvbmcge1xuICAgICAgcGFkZGluZzogMC43NXJlbSAwLjYyNXJlbSAwLjc1cmVtIDAuNjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5zaWRlLW5hdiA+IGxpIGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaSBzdHJvbmcge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbSAwLjYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICAgIC5zaWRlLW5hdiA+IGxpIGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaSBzdHJvbmcge1xuICAgICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMC45Mzc1cmVtIDAuNzVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAuc2lkZS1uYXYgPiBsaSA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgLnNpZGUtbmF2ID4gbGkgPiBhOm5vdCguYnV0dG9uKTpob3ZlciwgLnNpZGUtbmF2ID4gbGkgPiBhOm5vdCguYnV0dG9uKTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICMyYzJkMmY7IH1cbiAgICAuc2lkZS1uYXYgPiBsaSBzdHJvbmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBjb2xvcjogIzExMTIxMzsgfVxuICAgICAgLnNpZGUtbmF2ID4gbGkgc3Ryb25nIC5pY29uLCAuc2lkZS1uYXYgPiBsaSBzdHJvbmcgLmFycm93IHtcbiAgICAgICAgZmlsbDogIzExMTIxMyAhaW1wb3J0YW50OyB9XG4gICAgLnNpZGUtbmF2ID4gbGkuY3VycmVudCA+IGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaS5jdXJyZW50IHN0cm9uZyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjcyODI5O1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGk6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgICAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIC5hcnJvdyB7XG4gICAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwO1xuICAgICAgICBmaWxsOiAjZjM2NzE3OyB9XG4gICAgICAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIHN0cm9uZyB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDAuNjI1cmVtIDEuODc1cmVtO1xuICAgICAgICBjb2xvcjogIzdiN2Q3ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgYTpub3QoLmJ1dHRvbiksIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgc3Ryb25nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbSAwLjYyNXJlbSAyLjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgICAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIHN0cm9uZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMC45Mzc1cmVtIDAuNTYyNXJlbSAyLjVyZW07IH0gfVxuICAgICAgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSBhOm5vdCguYnV0dG9uKTpob3ZlciwgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSBhOm5vdCguYnV0dG9uKTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogIzMyMzMzNTsgfVxuICAgICAgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaS5jdXJyZW50ID4gYTpub3QoLmJ1dHRvbiksIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkuY3VycmVudCBzdHJvbmcge1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpLmN1cnJlbnQgPiBhOm5vdCguYnV0dG9uKTpob3ZlciwgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaS5jdXJyZW50ID4gYTpub3QoLmJ1dHRvbik6Zm9jdXMsIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkuY3VycmVudCBzdHJvbmc6aG92ZXIsIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkuY3VycmVudCBzdHJvbmc6Zm9jdXMge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICMzMjMzMzU7IH1cbiAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgICAgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSB1bCA+IGxpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9IH1cbiAgICAgICAgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSB1bCA+IGxpIGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIHVsID4gbGkgc3Ryb25nIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC41cmVtIDIuODc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNjk2YTZjO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAgICAgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSB1bCA+IGxpIGE6bm90KC5idXR0b24pLCAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIHVsID4gbGkgc3Ryb25nIHtcbiAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDAuOTM3NXJlbSAwLjVyZW0gMy41cmVtOyB9IH1cbiAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgICAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaSBhOm5vdCguYnV0dG9uKSwgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSB1bCA+IGxpIHN0cm9uZyB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAuMzc1cmVtIDAuOTM3NXJlbSAwLjM3NXJlbSAzLjVyZW07IH0gfVxuICAgICAgICAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIHVsID4gbGkgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAgICAgICAuc2lkZS1uYXYgPiBsaSB1bCA+IGxpIHVsID4gbGkgYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaSBhOm5vdCguYnV0dG9uKTpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzIzMzM1OyB9XG4gICAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaS5jdXJyZW50ID4gYTpub3QoLmJ1dHRvbiksIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaS5jdXJyZW50IHN0cm9uZyB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAgICAgICAgIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaS5jdXJyZW50ID4gYTpub3QoLmJ1dHRvbik6aG92ZXIsIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaS5jdXJyZW50ID4gYTpub3QoLmJ1dHRvbik6Zm9jdXMsIC5zaWRlLW5hdiA+IGxpIHVsID4gbGkgdWwgPiBsaS5jdXJyZW50IHN0cm9uZzpob3ZlciwgLnNpZGUtbmF2ID4gbGkgdWwgPiBsaSB1bCA+IGxpLmN1cnJlbnQgc3Ryb25nOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMzMjMzMzU7IH1cbiAgLnNpZGUtbmF2IHVsIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjcyODI5OyB9XG5cbmFzaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDk7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDZweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgICBhc2lkZSB7XG4gICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIGFzaWRlIHtcbiAgICAgIHdpZHRoOiAxMy43NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgIGFzaWRlIHtcbiAgICAgIHdpZHRoOiAxNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICBhc2lkZSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGFzaWRlIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH0gfVxuICBhc2lkZSAuY29udGVudEZvcm0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4OiAxO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIGFzaWRlIC5jb250ZW50Rm9ybSA+IC5yb3cge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICBhc2lkZSAuY29udGVudEZvcm0gLmJsb2NrRmllbGRzIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gICAgICBhc2lkZSAuY29udGVudEZvcm0gLmJsb2NrRmllbGRzIGxhYmVsIHtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgIGFzaWRlIC5jb250ZW50Rm9ybSAuYmxvY2tGaWVsZHMgaW5wdXQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gICAgYXNpZGUgLmNvbnRlbnRGb3JtIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICAgICAgZmxleDogMSAwIGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICAgICAgYXNpZGUgLmNvbnRlbnRGb3JtIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICBhc2lkZSAuY29udGVudEZvcm0gLmJsb2NrQnV0dG9uQ29udHJvbCB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTsgfSB9XG4gIGFzaWRlIC5zd2l0Y2hXcmFwcGVyIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgYXNpZGUgLnN3aXRjaFdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfSB9XG4gICAgYXNpZGUgLnN3aXRjaFdyYXBwZXIgLnN3aXRjaCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBhc2lkZSAuc3dpdGNoV3JhcHBlciAuc3dpdGNoIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsgfVxuICAgICAgICBhc2lkZSAuc3dpdGNoV3JhcHBlciAuc3dpdGNoIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgICAgYXNpZGUgLnN3aXRjaFdyYXBwZXIgLnN3aXRjaCAuc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICM0NjZiOWM7IH1cbiAgICBhc2lkZSAuc3dpdGNoV3JhcHBlciBzbWFsbCB7XG4gICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBwYWRkaW5nOiAwIDAuMzEyNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cblxuLmZvb3RlciB7XG4gIGhlaWdodDogMS44NzVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIC5mb290ZXIge1xuICAgICAgaGVpZ2h0OiAyLjE4NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5mb290ZXIge1xuICAgICAgaGVpZ2h0OiAyLjgxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZm9vdGVyIHtcbiAgICAgIGhlaWdodDogMy40Mzc1cmVtOyB9IH1cblxuLnJvdyAucm93IHtcbiAgbWF4LXdpZHRoOiBub25lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNvbHVtbi54c21hbGwtY29sbGFwc2UsIC54c21hbGwtY29sbGFwc2UuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gIC5jb2x1bW4ueHNtYWxsLXVuY29sbGFwc2UsIC54c21hbGwtdW5jb2xsYXBzZS5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAuY29sdW1uLnhzbWFsbC11bmNvbGxhcHNlLWxlZnQsIC54c21hbGwtdW5jb2xsYXBzZS1sZWZ0LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gIC5jb2x1bW4ueHNtYWxsLXVuY29sbGFwc2UtcmlnaHQsIC54c21hbGwtdW5jb2xsYXBzZS1yaWdodC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNvbHVtbi54c21hbGwtY29sbGFwc2UtbGVmdCwgLnhzbWFsbC1jb2xsYXBzZS1sZWZ0LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNvbHVtbi54c21hbGwtY29sbGFwc2UtcmlnaHQsIC54c21hbGwtY29sbGFwc2UtcmlnaHQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNvbHVtbi54c21hbGwtYWxpZ24tcmlnaHQsIC54c21hbGwtYWxpZ24tcmlnaHQuY29sdW1ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNvbHVtbi54c21hbGwtYWxpZ24tY2VudGVyLCAueHNtYWxsLWFsaWduLWNlbnRlci5jb2x1bW5zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNvbHVtbi54c21hbGwtc2hyaW5rLCAueHNtYWxsLXNocmluay5jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gIC5jb2x1bW4ueHNtYWxsLXVuc2hyaW5rLCAueHNtYWxsLXVuc2hyaW5rLmNvbHVtbnMge1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBmbGV4LXNocmluazogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb2x1bW4uc21hbGwtY29sbGFwc2UsIC5zbWFsbC1jb2xsYXBzZS5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb2x1bW4uc21hbGwtdW5jb2xsYXBzZSwgLnNtYWxsLXVuY29sbGFwc2UuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb2x1bW4uc21hbGwtdW5jb2xsYXBzZS1sZWZ0LCAuc21hbGwtdW5jb2xsYXBzZS1sZWZ0LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29sdW1uLnNtYWxsLXVuY29sbGFwc2UtcmlnaHQsIC5zbWFsbC11bmNvbGxhcHNlLXJpZ2h0LmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmNvbHVtbi5zbWFsbC1jb2xsYXBzZS1sZWZ0LCAuc21hbGwtY29sbGFwc2UtbGVmdC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29sdW1uLnNtYWxsLWNvbGxhcHNlLXJpZ2h0LCAuc21hbGwtY29sbGFwc2UtcmlnaHQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIC5jb2x1bW4uc21hbGwtYWxpZ24tcmlnaHQsIC5zbWFsbC1hbGlnbi1yaWdodC5jb2x1bW5zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgLmNvbHVtbi5zbWFsbC1hbGlnbi1jZW50ZXIsIC5zbWFsbC1hbGlnbi1jZW50ZXIuY29sdW1ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29sdW1uLnNtYWxsLXNocmluaywgLnNtYWxsLXNocmluay5jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0ODBweCkge1xuICAuY29sdW1uLnNtYWxsLXVuc2hyaW5rLCAuc21hbGwtdW5zaHJpbmsuY29sdW1ucyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbHVtbi5tZWRpdW0tY29sbGFwc2UsIC5tZWRpdW0tY29sbGFwc2UuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sdW1uLm1lZGl1bS11bmNvbGxhcHNlLCAubWVkaXVtLXVuY29sbGFwc2UuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbHVtbi5tZWRpdW0tdW5jb2xsYXBzZS1sZWZ0LCAubWVkaXVtLXVuY29sbGFwc2UtbGVmdC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2x1bW4ubWVkaXVtLXVuY29sbGFwc2UtcmlnaHQsIC5tZWRpdW0tdW5jb2xsYXBzZS1yaWdodC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sdW1uLm1lZGl1bS1jb2xsYXBzZS1sZWZ0LCAubWVkaXVtLWNvbGxhcHNlLWxlZnQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbHVtbi5tZWRpdW0tY29sbGFwc2UtcmlnaHQsIC5tZWRpdW0tY29sbGFwc2UtcmlnaHQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2x1bW4ubWVkaXVtLWFsaWduLXJpZ2h0LCAubWVkaXVtLWFsaWduLXJpZ2h0LmNvbHVtbnMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sdW1uLm1lZGl1bS1hbGlnbi1jZW50ZXIsIC5tZWRpdW0tYWxpZ24tY2VudGVyLmNvbHVtbnMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbHVtbi5tZWRpdW0tc2hyaW5rLCAubWVkaXVtLXNocmluay5jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY29sdW1uLm1lZGl1bS11bnNocmluaywgLm1lZGl1bS11bnNocmluay5jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgLmNvbHVtbi5sYXJnZS1jb2xsYXBzZSwgLmxhcmdlLWNvbGxhcHNlLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2UtdW5jb2xsYXBzZSwgLmxhcmdlLXVuY29sbGFwc2UuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2UtdW5jb2xsYXBzZS1sZWZ0LCAubGFyZ2UtdW5jb2xsYXBzZS1sZWZ0LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2UtdW5jb2xsYXBzZS1yaWdodCwgLmxhcmdlLXVuY29sbGFwc2UtcmlnaHQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2UtY29sbGFwc2UtbGVmdCwgLmxhcmdlLWNvbGxhcHNlLWxlZnQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2UtY29sbGFwc2UtcmlnaHQsIC5sYXJnZS1jb2xsYXBzZS1yaWdodC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2UtYWxpZ24tcmlnaHQsIC5sYXJnZS1hbGlnbi1yaWdodC5jb2x1bW5zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2UtYWxpZ24tY2VudGVyLCAubGFyZ2UtYWxpZ24tY2VudGVyLmNvbHVtbnMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIC5jb2x1bW4ubGFyZ2Utc2hyaW5rLCAubGFyZ2Utc2hyaW5rLmNvbHVtbnMge1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICBmbGV4LXNocmluazogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAuY29sdW1uLmxhcmdlLXVuc2hyaW5rLCAubGFyZ2UtdW5zaHJpbmsuY29sdW1ucyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2x1bW4ueGxhcmdlLWNvbGxhcHNlLCAueGxhcmdlLWNvbGxhcHNlLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2x1bW4ueGxhcmdlLXVuY29sbGFwc2UsIC54bGFyZ2UtdW5jb2xsYXBzZS5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbHVtbi54bGFyZ2UtdW5jb2xsYXBzZS1sZWZ0LCAueGxhcmdlLXVuY29sbGFwc2UtbGVmdC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sdW1uLnhsYXJnZS11bmNvbGxhcHNlLXJpZ2h0LCAueGxhcmdlLXVuY29sbGFwc2UtcmlnaHQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2x1bW4ueGxhcmdlLWNvbGxhcHNlLWxlZnQsIC54bGFyZ2UtY29sbGFwc2UtbGVmdC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbHVtbi54bGFyZ2UtY29sbGFwc2UtcmlnaHQsIC54bGFyZ2UtY29sbGFwc2UtcmlnaHQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29sdW1uLnhsYXJnZS1hbGlnbi1yaWdodCwgLnhsYXJnZS1hbGlnbi1yaWdodC5jb2x1bW5zIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2x1bW4ueGxhcmdlLWFsaWduLWNlbnRlciwgLnhsYXJnZS1hbGlnbi1jZW50ZXIuY29sdW1ucyB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbHVtbi54bGFyZ2Utc2hyaW5rLCAueGxhcmdlLXNocmluay5jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLmNvbHVtbi54bGFyZ2UtdW5zaHJpbmssIC54bGFyZ2UtdW5zaHJpbmsuY29sdW1ucyB7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsZXgtc2hyaW5rOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5jb2x1bW4ueHhsYXJnZS1jb2xsYXBzZSwgLnh4bGFyZ2UtY29sbGFwc2UuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmNvbHVtbi54eGxhcmdlLXVuY29sbGFwc2UsIC54eGxhcmdlLXVuY29sbGFwc2UuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5jb2x1bW4ueHhsYXJnZS11bmNvbGxhcHNlLWxlZnQsIC54eGxhcmdlLXVuY29sbGFwc2UtbGVmdC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAuY29sdW1uLnh4bGFyZ2UtdW5jb2xsYXBzZS1yaWdodCwgLnh4bGFyZ2UtdW5jb2xsYXBzZS1yaWdodC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmNvbHVtbi54eGxhcmdlLWNvbGxhcHNlLWxlZnQsIC54eGxhcmdlLWNvbGxhcHNlLWxlZnQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5jb2x1bW4ueHhsYXJnZS1jb2xsYXBzZS1yaWdodCwgLnh4bGFyZ2UtY29sbGFwc2UtcmlnaHQuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAuY29sdW1uLnh4bGFyZ2UtYWxpZ24tcmlnaHQsIC54eGxhcmdlLWFsaWduLXJpZ2h0LmNvbHVtbnMge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmNvbHVtbi54eGxhcmdlLWFsaWduLWNlbnRlciwgLnh4bGFyZ2UtYWxpZ24tY2VudGVyLmNvbHVtbnMge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIC5jb2x1bW4ueHhsYXJnZS1zaHJpbmssIC54eGxhcmdlLXNocmluay5jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDA7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgLmNvbHVtbi54eGxhcmdlLXVuc2hyaW5rLCAueHhsYXJnZS11bnNocmluay5jb2x1bW5zIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxleC1zaHJpbms6IDA7IH0gfVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmhhbWJ1cmdlci0tYXJyb3cuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6YmVmb3JlLCAuaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gIHdpZHRoOiAxNXB4OyB9XG5cbi5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOmJlZm9yZSB7XG4gIHRvcDogLTNweDsgfVxuXG4uaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUgLmhhbWJ1cmdlci1pbm5lcjphZnRlciB7XG4gIGJvdHRvbTogLTNweDsgfVxuXG4uZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgYm9yZGVyLXJhZGl1czogMHB4ICFpbXBvcnRhbnQ7IH1cblxuLmRhdGVwaWNrZXIgLmRvdyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5mYS1jaGV2cm9uLWxlZnQuZmktYXJyb3ctbGVmdDo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmMzY3MTcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5mYS1jaGV2cm9uLXJpZ2h0LmZpLWFycm93LXJpZ2h0OjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2YzNjcxNztcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cblxuLnllYXIuYWN0aXZlIHtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kOiAjZjM2NzE3OyB9XG5cbi5tb250aC5hY3RpdmUge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICNmMzY3MTc7IH1cblxuLmRheS5hY3RpdmUge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICNmMzY3MTc7IH1cblxuLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuLmhhbWJ1cmdlciB7XG4gIHBhZGRpbmc6IDE1cHggMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5oYW1idXJnZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogMThweDtcbiAgaGVpZ2h0OiAxMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5oYW1idXJnZXItaW5uZXIsIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSwgLmhhbWJ1cmdlci1pbm5lcjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0MzQ1NDc7XG4gICAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogLTVweDsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAtNXB4OyB9XG5cbi8qXG4gICAqIEFycm93XG4gICAqL1xuLmhhbWJ1cmdlci0tYXJyb3cuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMuNnB4LCAwLCAwKSByb3RhdGUoLTQ1ZGVnKSBzY2FsZSgwLjcsIDEpOyB9XG5cbi5oYW1idXJnZXItLWFycm93LmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoLTMuNnB4LCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7IH1cblxuLmRhdGVwaWNrZXIge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHBhZGRpbmc6IDRweDtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBkaXJlY3Rpb246IGx0cjsgfVxuICAuZGF0ZXBpY2tlci5kcm9wZG93bi1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogMTYwcHg7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtd2Via2l0LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICAtbW96LWJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjIpO1xuICAgIC13ZWJraXQtYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcbiAgICAtbW96LWJhY2tncm91bmQtY2xpcDogcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICAgICpib3JkZXItcmlnaHQtd2lkdGg6IDJweDtcbiAgICAqYm9yZGVyLWJvdHRvbS13aWR0aDogMnB4O1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMThweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGgge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAgIC5kYXRlcGlja2VyLmRyb3Bkb3duLW1lbnUgdGQge1xuICAgICAgcGFkZGluZzogNHB4IDVweDsgfVxuICAuZGF0ZXBpY2tlciB0YWJsZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkIHNwYW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMjMlO1xuICAgICAgaGVpZ2h0OiA1NHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU0cHg7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMSU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmRhdGVwaWNrZXIgdGQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLmRheSwgLmRhdGVwaWNrZXIgdGQuYWN0aXZlLnllYXIge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLm9sZCwgLmRhdGVwaWNrZXIgdGQubmV3IHtcbiAgICAgIGNvbG9yOiAjOTk5OyB9XG4gICAgLmRhdGVwaWNrZXIgdGQgc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAgIC5kYXRlcGlja2VyIHRkLmRheS5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAgIC5kYXRlcGlja2VyIHRkIHNwYW4ubW9udGguZGlzYWJsZWQsIC5kYXRlcGlja2VyIHRkIHNwYW4ueWVhci5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogI2VlZTsgfVxuICAuZGF0ZXBpY2tlciB0aCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aC5hY3RpdmUuZGF5LCAuZGF0ZXBpY2tlciB0aC5hY3RpdmUueWVhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMmJhNmNiOyB9XG4gICAgLmRhdGVwaWNrZXIgdGguZGF0ZS1zd2l0Y2gge1xuICAgICAgd2lkdGg6IDE0NXB4OyB9XG4gICAgLmRhdGVwaWNrZXIgdGggc3Bhbi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogIzJiYTZjYjsgfVxuICAuZGF0ZXBpY2tlciAuY3cge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICB3aWR0aDogMTJweDtcbiAgICBwYWRkaW5nOiAwIDJweCAwIDVweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5kYXRlcGlja2VyLmRheXMgZGl2LmRhdGVwaWNrZXItZGF5cyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIubW9udGhzIGRpdi5kYXRlcGlja2VyLW1vbnRocyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmRhdGVwaWNrZXIueWVhcnMgZGl2LmRhdGVwaWNrZXIteWVhcnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5kYXRlcGlja2VyIHRoZWFkIHRyOmZpcnN0LWNoaWxkIHRoIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuZGF0ZXBpY2tlciB0aGVhZCB0cjpmaXJzdC1jaGlsZCB0aC5jdyB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAuZGF0ZXBpY2tlciB0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5kYXRlcGlja2VyLWlubGluZSB7XG4gIHdpZHRoOiAyMjBweDsgfVxuXG4uZGF0ZXBpY2tlci1ydGwge1xuICBkaXJlY3Rpb246IHJ0bDsgfVxuICAuZGF0ZXBpY2tlci1ydGwgdGFibGUgdHIgdGQgc3BhbiB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5kYXRlcGlja2VyLWRyb3Bkb3duIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwOyB9XG4gIC5kYXRlcGlja2VyLWRyb3Bkb3duOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7XG4gICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtN3B4O1xuICAgIGxlZnQ6IDZweDsgfVxuICAuZGF0ZXBpY2tlci1kcm9wZG93bjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZmY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTZweDtcbiAgICBsZWZ0OiA3cHg7IH1cblxuLmRhdGVwaWNrZXIgPiBkaXYsXG4uZGF0ZXBpY2tlci1kcm9wZG93bjo6YmVmb3JlLFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZGF0ZXBpY2tlci1jbG9zZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtMzBweDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGQsXG4udGFibGUtc3RyaXBlZCAuZGF0ZXBpY2tlciB0YWJsZSB0ciB0aCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBvcGFjaXR5OiAwLjg7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHotaW5kZXg6IDEwNDU7IH1cblxuLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCxcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogI0NDQztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6IDEwNDQ7IH1cbiAgLm1mcC1wcmVsb2FkZXIgYSB7XG4gICAgY29sb3I6ICNDQ0M7IH1cbiAgICAubWZwLXByZWxvYWRlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLm1mcC1jbG9zZSwgYnV0dG9uLm1mcC1hcnJvdyB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDEwNDY7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIHBhZGRpbmc6IDAgMCAxOHB4IDEwcHg7XG4gIGNvbG9yOiAjRkZGO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XG4gIC5tZnAtY2xvc2U6aG92ZXIsIC5tZnAtY2xvc2U6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLm1mcC1jbG9zZTphY3RpdmUge1xuICAgIHRvcDogMXB4OyB9XG5cbi5tZnAtY2xvc2UtYnRuLWluIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogIzMzMzsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlLFxuLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICBjb2xvcjogI0ZGRjtcbiAgcmlnaHQ6IC02cHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtY291bnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgY29sb3I6ICNDQ0M7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLm1mcC1hcnJvdyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3BhY2l0eTogMC42NTtcbiAgbWFyZ2luOiAwO1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTU1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiA5MHB4O1xuICBoZWlnaHQ6IDExMHB4O1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC5tZnAtYXJyb3c6YWN0aXZlIHtcbiAgICBtYXJnaW4tdG9wOiAtNTRweDsgfVxuICAubWZwLWFycm93OmhvdmVyLCAubWZwLWFycm93OmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlLCAubWZwLWFycm93OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgYm9yZGVyOiBtZWRpdW0gaW5zZXQgdHJhbnNwYXJlbnQ7IH1cbiAgLm1mcC1hcnJvdzphZnRlciB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxM3B4O1xuICAgIHRvcDogOHB4OyB9XG4gIC5tZnAtYXJyb3c6YmVmb3JlIHtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAyMXB4O1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XG4gICAgb3BhY2l0eTogMC43OyB9XG5cbi5tZnAtYXJyb3ctbGVmdCB7XG4gIGxlZnQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmFmdGVyIHtcbiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMzFweDsgfVxuICAubWZwLWFycm93LWxlZnQ6YmVmb3JlIHtcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcbiAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWFycm93LXJpZ2h0IHtcbiAgcmlnaHQ6IDA7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDphZnRlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcbiAgICBtYXJnaW4tbGVmdDogMzlweDsgfVxuICAubWZwLWFycm93LXJpZ2h0OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxuXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICBwYWRkaW5nLXRvcDogNDBweDtcbiAgcGFkZGluZy1ib3R0b206IDQwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY29udGVudCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA5MDBweDsgfVxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAtNDBweDsgfVxuXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLXRvcDogNTYuMjUlOyB9XG4gIC5tZnAtaWZyYW1lLXNjYWxlciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXG5pbWcubWZwLWltZyB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiA0MHB4IDAgNDBweDtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLyogVGhlIHNoYWRvdyBiZWhpbmQgdGhlIGltYWdlICovXG4ubWZwLWZpZ3VyZSB7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG4gIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDQwcHg7XG4gICAgYm90dG9tOiA0MHB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB6LWluZGV4OiAtMTtcbiAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZ3JvdW5kOiAjNDQ0OyB9XG4gIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBjb2xvcjogI0JEQkRCRDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7IH1cbiAgLm1mcC1maWd1cmUgZmlndXJlIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLm1mcC1ib3R0b20tYmFyIHtcbiAgbWFyZ2luLXRvcDogLTM2cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAxMDAlO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbi5tZnAtdGl0bGUge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgY29sb3I6ICNGM0YzRjM7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxuXG4ubWZwLWltYWdlLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLm1mcC1nYWxsZXJ5IC5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtZmlndXJlIHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpLCBzY3JlZW4gYW5kIChtYXgtaGVpZ2h0OiAzMDBweCkge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1maWd1cmU6YWZ0ZXIge1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlIHNtYWxsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICB0b3A6IGF1dG87XG4gICAgcGFkZGluZzogM3B4IDVweDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAgIC5tZnAtaW1nLW1vYmlsZSAubWZwLWJvdHRvbS1iYXI6ZW1wdHkge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcbiAgICByaWdodDogNXB4O1xuICAgIHRvcDogM3B4OyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDM1cHg7XG4gICAgaGVpZ2h0OiAzNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTsgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlOyB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH0gfVxuXG4vKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblNQSU5ORVJTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQSBTYXNzIG1peGluIHRvIGdlbmVyYXRlIGEgcHVyZSBDU1MzIGxvYWRpbmcvYnVzeSBpbmRpY2F0b3IuXG5odHRwczovL2dpdGh1Yi5jb20vZnJhbnpoZWlkbC9zcGlubmVyc1xuRnJhbnogSGVpZGwgMjAxNFxuTUlUIExpY2Vuc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU0FHRVxuXG5EZWZhdWx0OlxuXG4ubXktc3Bpbm5lciB7XG4gQGluY2x1ZGUgc3Bpbm5lcigpO1xufVxuXG5cbkN1c3RvbTpcblxuLm15LXNwaW5uZXIge1xuIEBpbmNsdWRlIHNwaW5uZXIoMS4yNWVtLCAzcHggc29saWQgIzU1NSwgLjdzLCBiYWNrZ3JvdW5kIHJnYmEoMCwgMCwgMCwgLjIpO1xufVxuXG5BbGwgYXJndW1lbnRzIGFyZSBvcHRpb25hbC5cblxuQWNjZXBwdHMgYW55IHZhbGlkIENTUyBkaW1lbnNpb25hbCBkZWNsYXJhdGlvbiwgZS5nIHB4LCBlbSwgcmVtIGFzIGFuIGFyZ3VtZW50IGZvciBzaXplLlxuXG5Vc2UgZWl0aGVyIHNob3J0aGFuZCBib3JkZXIgZGVjbGFyYXRpb25zIG9yIGluZGl2aWR1YWwgJ2JvcmRlci1bcHJvcGVydHldIFt2YWx1ZV0nIChubyBjb2xvbiEpIHBhaXJzIGZvciB0aGUgc3R5bGUuXG5cblBhc3MgYW55IG51bWJlciBvZiBzZWNvbmRzIHJlZmVycmluZyB0byB0aGUgZHVyYXRpb24gb2Ygb25lIGZ1bGwgcm90YXRpb24gZm9yIGFuaW1hdGlvbiBzcGVlZC5cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5ALXdlYmtpdC1rZXlmcmFtZXMgc3Bpbm5lci1hbmltYXRpb24ge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALW1vei1rZXlmcmFtZXMgc3Bpbm5lci1hbmltYXRpb24ge1xuICAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALW1zLWtleWZyYW1lcyBzcGlubmVyLWFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHNwaW5uZXItYW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDEwMGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHNwaW5uZXItYW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4uaWNvbiwgLmljb24gc3ZnIHtcbiAgZmlsbDogIzQzNDU0NztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmljb24sIC5pY29uIHN2ZyB7XG4gICAgICB3aWR0aDogMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5pY29uLCAuaWNvbiBzdmcge1xuICAgICAgaGVpZ2h0OiAxLjg3NXJlbTsgfSB9XG5cbi50b2dnbGVJY29uIC5pY29uU2hvdyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmljb25IaWRlLCAuaWNvbiAuaWNvbkhpZGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50b2dnbGVJY29uIC5pY29uSGlkZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubG9hZGluZyB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDJweCBzb2xpZCAjZjM2NzE3O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci10b3AtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gIHdpZHRoOiAxLjM3NXJlbTtcbiAgaGVpZ2h0OiAxLjM3NXJlbTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW8tYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBzcGlubmVyLWFuaW1hdGlvbiAwLjY1cyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1tb3otYW5pbWF0aW9uOiBzcGlubmVyLWFuaW1hdGlvbiAwLjY1cyBpbmZpbml0ZSBsaW5lYXI7XG4gIC1vLWFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gMC42NXMgaW5maW5pdGUgbGluZWFyO1xuICAtbXMtYW5pbWF0aW9uOiBzcGlubmVyLWFuaW1hdGlvbiAwLjY1cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gMC42NXMgaW5maW5pdGUgbGluZWFyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICAubG9hZGluZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmxvYWRpbmcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLmxvYWRpbmcuc2Vjb25kYXJ5IHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzQzNDU0NztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDM0NTQ3OyB9XG4gIC5sb2FkaW5nLmJsYWNrIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogIzQzNDU0NztcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjNDM0NTQ3OyB9XG4gIC5sb2FkaW5nLndoaXRlIHtcbiAgICBib3JkZXItbGVmdC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmZmOyB9XG4gIC5sb2FkaW5nLmxhcmdlIHtcbiAgICB3aWR0aDogMS42MjVyZW07XG4gICAgaGVpZ2h0OiAxLjYyNXJlbTsgfVxuICAubG9hZGluZy5zbWFsbCB7XG4gICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgIGhlaWdodDogMS4xMjVyZW07IH1cbiAgLmxvYWRpbmcudGlueSB7XG4gICAgd2lkdGg6IDAuODc1cmVtO1xuICAgIGhlaWdodDogMC44NzVyZW07IH1cbiAgLmJ1dHRvbiAubG9hZGluZyB7XG4gICAgbWFyZ2luOiAwIDAuNDM3NXJlbSAwIDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB3aWR0aDogMC44NzVyZW07XG4gICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1vLWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLW1zLWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gMC42NXMgaW5maW5pdGUgbGluZWFyO1xuICAgIC1tb3otYW5pbWF0aW9uOiBzcGlubmVyLWFuaW1hdGlvbiAwLjY1cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgLW8tYW5pbWF0aW9uOiBzcGlubmVyLWFuaW1hdGlvbiAwLjY1cyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgLW1zLWFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gMC42NXMgaW5maW5pdGUgbGluZWFyO1xuICAgIGFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gMC42NXMgaW5maW5pdGUgbGluZWFyOyB9XG4gIC5idXR0b24uaG9sbG93IC5sb2FkaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjM2NzE3O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgd2lkdGg6IDAuODc1cmVtO1xuICAgIGhlaWdodDogMC44NzVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAtby1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIC1tcy1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW5uZXItYW5pbWF0aW9uIDAuNjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICAtbW96LWFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gMC42NXMgaW5maW5pdGUgbGluZWFyO1xuICAgIC1vLWFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gMC42NXMgaW5maW5pdGUgbGluZWFyO1xuICAgIC1tcy1hbmltYXRpb246IHNwaW5uZXItYW5pbWF0aW9uIDAuNjVzIGluZmluaXRlIGxpbmVhcjtcbiAgICBhbmltYXRpb246IHNwaW5uZXItYW5pbWF0aW9uIDAuNjVzIGluZmluaXRlIGxpbmVhcjsgfVxuXG4ubG9hZGluZ1BsYWNlaG9sZGVyV3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubG9hZGluZ1BsYWNlaG9sZGVyV3JhcHBlciAubG9hZGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC42ODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjY4NzVyZW07IH1cbiAgICAubG9hZGluZ1BsYWNlaG9sZGVyV3JhcHBlciAubG9hZGluZy5sYXJnZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuODEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjgxMjVyZW07IH1cbiAgICAubG9hZGluZ1BsYWNlaG9sZGVyV3JhcHBlciAubG9hZGluZy5zbWFsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTAuNTYyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjU2MjVyZW07IH1cbiAgLmxvYWRpbmdQbGFjZWhvbGRlcldyYXBwZXIgLmJ1dHRvbiB7XG4gICAgei1pbmRleDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAubG9hZGluZ1BsYWNlaG9sZGVyV3JhcHBlciAuYnV0dG9uICsgLmxvYWRpbmcge1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLmxvYWRpbmdQbGFjZWhvbGRlcldyYXBwZXIgLmJ1dHRvbi5pbnZpc2libGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmxvYWRpbmdQbGFjZWhvbGRlcldyYXBwZXIgLmJ1dHRvbi5pbnZpc2libGUgKyAubG9hZGluZyB7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuW3R5cGU9J3RleHQnXSxcblt0eXBlPSdwYXNzd29yZCddLFxuW3R5cGU9J2RhdGUnXSxcblt0eXBlPSdkYXRldGltZSddLFxuW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG5bdHlwZT0nbW9udGgnXSxcblt0eXBlPSd3ZWVrJ10sXG5bdHlwZT0nZW1haWwnXSxcblt0eXBlPSdudW1iZXInXSxcblt0eXBlPSdzZWFyY2gnXSxcblt0eXBlPSd0ZWwnXSxcblt0eXBlPSd0aW1lJ10sXG5bdHlwZT0ndXJsJ10sXG5bdHlwZT0nY29sb3InXSxcbnNlbGVjdCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgaGVpZ2h0OiAyLjE4NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgW3R5cGU9J3RleHQnXSxcbiAgICBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgICBbdHlwZT0nZGF0ZSddLFxuICAgIFt0eXBlPSdkYXRldGltZSddLFxuICAgIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAgIFt0eXBlPSdtb250aCddLFxuICAgIFt0eXBlPSd3ZWVrJ10sXG4gICAgW3R5cGU9J2VtYWlsJ10sXG4gICAgW3R5cGU9J251bWJlciddLFxuICAgIFt0eXBlPSdzZWFyY2gnXSxcbiAgICBbdHlwZT0ndGVsJ10sXG4gICAgW3R5cGU9J3RpbWUnXSxcbiAgICBbdHlwZT0ndXJsJ10sXG4gICAgW3R5cGU9J2NvbG9yJ10sXG4gICAgc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgW3R5cGU9J3RleHQnXSxcbiAgICBbdHlwZT0ncGFzc3dvcmQnXSxcbiAgICBbdHlwZT0nZGF0ZSddLFxuICAgIFt0eXBlPSdkYXRldGltZSddLFxuICAgIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLFxuICAgIFt0eXBlPSdtb250aCddLFxuICAgIFt0eXBlPSd3ZWVrJ10sXG4gICAgW3R5cGU9J2VtYWlsJ10sXG4gICAgW3R5cGU9J251bWJlciddLFxuICAgIFt0eXBlPSdzZWFyY2gnXSxcbiAgICBbdHlwZT0ndGVsJ10sXG4gICAgW3R5cGU9J3RpbWUnXSxcbiAgICBbdHlwZT0ndXJsJ10sXG4gICAgW3R5cGU9J2NvbG9yJ10sXG4gICAgc2VsZWN0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICBbdHlwZT0ndGV4dCddLFxuICAgIFt0eXBlPSdwYXNzd29yZCddLFxuICAgIFt0eXBlPSdkYXRlJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgW3R5cGU9J21vbnRoJ10sXG4gICAgW3R5cGU9J3dlZWsnXSxcbiAgICBbdHlwZT0nZW1haWwnXSxcbiAgICBbdHlwZT0nbnVtYmVyJ10sXG4gICAgW3R5cGU9J3NlYXJjaCddLFxuICAgIFt0eXBlPSd0ZWwnXSxcbiAgICBbdHlwZT0ndGltZSddLFxuICAgIFt0eXBlPSd1cmwnXSxcbiAgICBbdHlwZT0nY29sb3InXSxcbiAgICBzZWxlY3Qge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICBbdHlwZT0ndGV4dCddLFxuICAgIFt0eXBlPSdwYXNzd29yZCddLFxuICAgIFt0eXBlPSdkYXRlJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgW3R5cGU9J21vbnRoJ10sXG4gICAgW3R5cGU9J3dlZWsnXSxcbiAgICBbdHlwZT0nZW1haWwnXSxcbiAgICBbdHlwZT0nbnVtYmVyJ10sXG4gICAgW3R5cGU9J3NlYXJjaCddLFxuICAgIFt0eXBlPSd0ZWwnXSxcbiAgICBbdHlwZT0ndGltZSddLFxuICAgIFt0eXBlPSd1cmwnXSxcbiAgICBbdHlwZT0nY29sb3InXSxcbiAgICBzZWxlY3Qge1xuICAgICAgaGVpZ2h0OiAyLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBbdHlwZT0ndGV4dCddLFxuICAgIFt0eXBlPSdwYXNzd29yZCddLFxuICAgIFt0eXBlPSdkYXRlJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgW3R5cGU9J21vbnRoJ10sXG4gICAgW3R5cGU9J3dlZWsnXSxcbiAgICBbdHlwZT0nZW1haWwnXSxcbiAgICBbdHlwZT0nbnVtYmVyJ10sXG4gICAgW3R5cGU9J3NlYXJjaCddLFxuICAgIFt0eXBlPSd0ZWwnXSxcbiAgICBbdHlwZT0ndGltZSddLFxuICAgIFt0eXBlPSd1cmwnXSxcbiAgICBbdHlwZT0nY29sb3InXSxcbiAgICBzZWxlY3Qge1xuICAgICAgaGVpZ2h0OiAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICBbdHlwZT0ndGV4dCddLFxuICAgIFt0eXBlPSdwYXNzd29yZCddLFxuICAgIFt0eXBlPSdkYXRlJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgW3R5cGU9J21vbnRoJ10sXG4gICAgW3R5cGU9J3dlZWsnXSxcbiAgICBbdHlwZT0nZW1haWwnXSxcbiAgICBbdHlwZT0nbnVtYmVyJ10sXG4gICAgW3R5cGU9J3NlYXJjaCddLFxuICAgIFt0eXBlPSd0ZWwnXSxcbiAgICBbdHlwZT0ndGltZSddLFxuICAgIFt0eXBlPSd1cmwnXSxcbiAgICBbdHlwZT0nY29sb3InXSxcbiAgICBzZWxlY3Qge1xuICAgICAgaGVpZ2h0OiAyLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICBbdHlwZT0ndGV4dCddLFxuICAgIFt0eXBlPSdwYXNzd29yZCddLFxuICAgIFt0eXBlPSdkYXRlJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lJ10sXG4gICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG4gICAgW3R5cGU9J21vbnRoJ10sXG4gICAgW3R5cGU9J3dlZWsnXSxcbiAgICBbdHlwZT0nZW1haWwnXSxcbiAgICBbdHlwZT0nbnVtYmVyJ10sXG4gICAgW3R5cGU9J3NlYXJjaCddLFxuICAgIFt0eXBlPSd0ZWwnXSxcbiAgICBbdHlwZT0ndGltZSddLFxuICAgIFt0eXBlPSd1cmwnXSxcbiAgICBbdHlwZT0nY29sb3InXSxcbiAgICBzZWxlY3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIFt0eXBlPSd0ZXh0J10sXG4gICAgW3R5cGU9J3Bhc3N3b3JkJ10sXG4gICAgW3R5cGU9J2RhdGUnXSxcbiAgICBbdHlwZT0nZGF0ZXRpbWUnXSxcbiAgICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSxcbiAgICBbdHlwZT0nbW9udGgnXSxcbiAgICBbdHlwZT0nd2VlayddLFxuICAgIFt0eXBlPSdlbWFpbCddLFxuICAgIFt0eXBlPSdudW1iZXInXSxcbiAgICBbdHlwZT0nc2VhcmNoJ10sXG4gICAgW3R5cGU9J3RlbCddLFxuICAgIFt0eXBlPSd0aW1lJ10sXG4gICAgW3R5cGU9J3VybCddLFxuICAgIFt0eXBlPSdjb2xvciddLFxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICBbdHlwZT0ndGV4dCddOmRpc2FibGVkLCBbdHlwZT0ndGV4dCddW3JlYWRvbmx5XSxcbiAgW3R5cGU9J3Bhc3N3b3JkJ106ZGlzYWJsZWQsXG4gIFt0eXBlPSdwYXNzd29yZCddW3JlYWRvbmx5XSxcbiAgW3R5cGU9J2RhdGUnXTpkaXNhYmxlZCxcbiAgW3R5cGU9J2RhdGUnXVtyZWFkb25seV0sXG4gIFt0eXBlPSdkYXRldGltZSddOmRpc2FibGVkLFxuICBbdHlwZT0nZGF0ZXRpbWUnXVtyZWFkb25seV0sXG4gIFt0eXBlPSdkYXRldGltZS1sb2NhbCddOmRpc2FibGVkLFxuICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXVtyZWFkb25seV0sXG4gIFt0eXBlPSdtb250aCddOmRpc2FibGVkLFxuICBbdHlwZT0nbW9udGgnXVtyZWFkb25seV0sXG4gIFt0eXBlPSd3ZWVrJ106ZGlzYWJsZWQsXG4gIFt0eXBlPSd3ZWVrJ11bcmVhZG9ubHldLFxuICBbdHlwZT0nZW1haWwnXTpkaXNhYmxlZCxcbiAgW3R5cGU9J2VtYWlsJ11bcmVhZG9ubHldLFxuICBbdHlwZT0nbnVtYmVyJ106ZGlzYWJsZWQsXG4gIFt0eXBlPSdudW1iZXInXVtyZWFkb25seV0sXG4gIFt0eXBlPSdzZWFyY2gnXTpkaXNhYmxlZCxcbiAgW3R5cGU9J3NlYXJjaCddW3JlYWRvbmx5XSxcbiAgW3R5cGU9J3RlbCddOmRpc2FibGVkLFxuICBbdHlwZT0ndGVsJ11bcmVhZG9ubHldLFxuICBbdHlwZT0ndGltZSddOmRpc2FibGVkLFxuICBbdHlwZT0ndGltZSddW3JlYWRvbmx5XSxcbiAgW3R5cGU9J3VybCddOmRpc2FibGVkLFxuICBbdHlwZT0ndXJsJ11bcmVhZG9ubHldLFxuICBbdHlwZT0nY29sb3InXTpkaXNhYmxlZCxcbiAgW3R5cGU9J2NvbG9yJ11bcmVhZG9ubHldLFxuICBzZWxlY3Q6ZGlzYWJsZWQsXG4gIHNlbGVjdFtyZWFkb25seV0ge1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cbiAgICBbdHlwZT0ndGV4dCddOmRpc2FibGVkOjpwbGFjZWhvbGRlciwgW3R5cGU9J3RleHQnXVtyZWFkb25seV06OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSdwYXNzd29yZCddOmRpc2FibGVkOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0ncGFzc3dvcmQnXVtyZWFkb25seV06OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSdkYXRlJ106ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSdkYXRlJ11bcmVhZG9ubHldOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0nZGF0ZXRpbWUnXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J2RhdGV0aW1lJ11bcmVhZG9ubHldOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ11bcmVhZG9ubHldOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0nbW9udGgnXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J21vbnRoJ11bcmVhZG9ubHldOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0nd2VlayddOmRpc2FibGVkOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0nd2VlayddW3JlYWRvbmx5XTo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J2VtYWlsJ106ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSdlbWFpbCddW3JlYWRvbmx5XTo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J251bWJlciddOmRpc2FibGVkOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0nbnVtYmVyJ11bcmVhZG9ubHldOjpwbGFjZWhvbGRlcixcbiAgICBbdHlwZT0nc2VhcmNoJ106ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSdzZWFyY2gnXVtyZWFkb25seV06OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSd0ZWwnXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J3RlbCddW3JlYWRvbmx5XTo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J3RpbWUnXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J3RpbWUnXVtyZWFkb25seV06OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSd1cmwnXTpkaXNhYmxlZDo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J3VybCddW3JlYWRvbmx5XTo6cGxhY2Vob2xkZXIsXG4gICAgW3R5cGU9J2NvbG9yJ106ZGlzYWJsZWQ6OnBsYWNlaG9sZGVyLFxuICAgIFt0eXBlPSdjb2xvciddW3JlYWRvbmx5XTo6cGxhY2Vob2xkZXIsXG4gICAgc2VsZWN0OmRpc2FibGVkOjpwbGFjZWhvbGRlcixcbiAgICBzZWxlY3RbcmVhZG9ubHldOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG50ZXh0YXJlYSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAgIHRleHRhcmVhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgdGV4dGFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxubGFiZWwge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBsYWJlbCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICBsYWJlbC5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiKlwiO1xuICAgIGNvbG9yOiAjNDM0NTQ3O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjE4NzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICBsYWJlbC5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgICBsYWJlbC5yZXF1aXJlZDo6YWZ0ZXIge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAgIGxhYmVsLnJlcXVpcmVkOjphZnRlciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uYnV0dG9uIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAgIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICAgICAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICAgIC5idXR0b24sIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAuc3dpdGNoIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zd2l0Y2gge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi53cmFwcGVyLXJhZGlvLCAud3JhcHBlci1jaGVja2JveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLndyYXBwZXItcmFkaW8gW3R5cGU9J3JhZGlvJ10sIC53cmFwcGVyLXJhZGlvIFt0eXBlPSdjaGVja2JveCddLCAud3JhcHBlci1jaGVja2JveCBbdHlwZT0ncmFkaW8nXSwgLndyYXBwZXItY2hlY2tib3ggW3R5cGU9J2NoZWNrYm94J10ge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgLndyYXBwZXItcmFkaW8sIC53cmFwcGVyLWNoZWNrYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAud3JhcHBlci1yYWRpbywgLndyYXBwZXItY2hlY2tib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmZpZWxkc2V0SGVhZGluZywgLmZpZWxkc2V0SGVhZCwgbGVnZW5kIHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM0MzQ1NDc7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogamUgbWVkaXVtKSB7XG4gICAgLmZpZWxkc2V0SGVhZGluZywgLmZpZWxkc2V0SGVhZCwgbGVnZW5kIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuZmllbGRzZXRIZWFkaW5nLCAuZmllbGRzZXRIZWFkLCBsZWdlbmQge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIC5maWVsZHNldEhlYWRpbmcsIC5maWVsZHNldEhlYWQsIGxlZ2VuZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5maWVsZHNldEhlYWRpbmcsIC5maWVsZHNldEhlYWQsIGxlZ2VuZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjQ2ODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBwcmUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgcHJlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5wIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIHAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBociB7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBociB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBociB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBociB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBoci54c21hbGwtY29sbGFwc2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBoci54c21hbGwtY29sbGFwc2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBoci54c21hbGwtdW5jb2xsYXBzZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBoci54c21hbGwtdW5jb2xsYXBzZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICBoci54c21hbGwtY29sbGFwc2Uge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgaHIueHNtYWxsLXVuY29sbGFwc2Uge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgaHIuc21hbGwtY29sbGFwc2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgaHIuc21hbGwtY29sbGFwc2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgaHIuc21hbGwtdW5jb2xsYXBzZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgaHIuc21hbGwtdW5jb2xsYXBzZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDgwcHgpIHtcbiAgaHIuc21hbGwtY29sbGFwc2Uge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gIGhyLnNtYWxsLXVuY29sbGFwc2Uge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaHIubWVkaXVtLWNvbGxhcHNlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGhyLm1lZGl1bS1jb2xsYXBzZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBoci5tZWRpdW0tdW5jb2xsYXBzZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGhyLm1lZGl1bS11bmNvbGxhcHNlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaHIubWVkaXVtLWNvbGxhcHNlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICBoci5tZWRpdW0tdW5jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBoci5sYXJnZS1jb2xsYXBzZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgaHIubGFyZ2UtY29sbGFwc2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIGhyLmxhcmdlLXVuY29sbGFwc2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgaHIubGFyZ2UtdW5jb2xsYXBzZS1ib3R0b20ge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICBoci5sYXJnZS1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gIGhyLmxhcmdlLXVuY29sbGFwc2Uge1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgaHIueGxhcmdlLWNvbGxhcHNlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBoci54bGFyZ2UtY29sbGFwc2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGhyLnhsYXJnZS11bmNvbGxhcHNlLXRvcCB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGhyLnhsYXJnZS11bmNvbGxhcHNlLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGhyLnhsYXJnZS1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIGhyLnhsYXJnZS11bmNvbGxhcHNlIHtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIGhyLnh4bGFyZ2UtY29sbGFwc2UtdG9wIHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIGhyLnh4bGFyZ2UtY29sbGFwc2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIGhyLnh4bGFyZ2UtdW5jb2xsYXBzZS10b3Age1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MDBweCkge1xuICBoci54eGxhcmdlLXVuY29sbGFwc2UtYm90dG9tIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgaHIueHhsYXJnZS1jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gIGhyLnh4bGFyZ2UtdW5jb2xsYXBzZSB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG5cbi5icmVha1dvcmQsIC50YWJsZVNjcm9sbCAudGFibGVEZXNjcmlwdGlvbiwgLmRhc2hib2FyZFdpZGdldCBoMiB7XG4gIC8qIFRoZXNlIGFyZSB0ZWNobmljYWxseSB0aGUgc2FtZSwgYnV0IHVzZSBib3RoICovXG4gIG92ZXJmbG93LXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgLW1zLXdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgLyogVGhpcyBpcyB0aGUgZGFuZ2Vyb3VzIG9uZSBpbiBXZWJLaXQsIGFzIGl0IGJyZWFrcyB0aGluZ3Mgd2hlcmV2ZXIgKi9cbiAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAvKiBJbnN0ZWFkIHVzZSB0aGlzIG5vbi1zdGFuZGFyZCBvbmU6ICovXG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIC8qIEFkZHMgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzLCBpZiBzdXBwb3J0ZWQgKE5vIEJsaW5rKSAqL1xuICAtbXMtaHlwaGVuczogYXV0bztcbiAgLW1vei1oeXBoZW5zOiBhdXRvO1xuICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gIGh5cGhlbnM6IGF1dG87IH1cblxuY29kZSwga2JkLCBwcmUsIHNhbXAge1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgY29kZSwga2JkLCBwcmUsIHNhbXAge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICBjb2RlLCBrYmQsIHByZSwgc2FtcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgY29kZSwga2JkLCBwcmUsIHNhbXAge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG4uZHJvcGRvd24ubWVudSBzcGFuIHtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG4uZHJvcGRvd24ubWVudSBzbWFsbCB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDc1JTtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmRyb3Bkb3duLm1lbnUgc3Ryb25nIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgY29sb3I6ICNmMzY3MTc7IH1cblxuLmRyb3Bkb3duLm1lbnUgbGkgYSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjNDM0NTQ3OyB9XG5cbi5kcm9wZG93bi5tZW51IGxpIGxpIHN2ZyB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIGZpbGw6ICM0MzQ1NDc7IH1cblxuLmRyb3Bkb3duLm1lbnUgbGkgbGk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1OyB9XG5cbi5kcm9wZG93bi5tZW51IC5tZW51IHtcbiAgYm94LXNoYWRvdzogMCAzcHggNXB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7IH1cbiAgLmRyb3Bkb3duLm1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgb3BhY2l0eTogMTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbSAwO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDAgMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmNhbGxvdXQge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDsgfSB9XG5cbi5tYWluQ29udGVudFdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLm1haW5Db250ZW50V3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9IH1cblxuLndvcmQtYnJlYWsge1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7IH1cblxuLmxpc3RUYWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3gtc2hhZG93OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICAubGlzdFRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubGlzdFRhYmxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5saXN0VGFibGUgdGgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICM0MzQ1NDc7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2UyZTJlMjsgfVxuICAgIC5saXN0VGFibGUgdGggYSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiAjNDM0NTQ3O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAubGlzdFRhYmxlIHRoIHN2ZyB7XG4gICAgICBmaWxsOiAjNDM0NTQ3O1xuICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjU2MjVyZW07IH1cbiAgLmxpc3RUYWJsZSB0aDpmaXJzdC1vZi10eXBlIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlMmUyZTI7IH1cbiAgLmxpc3RUYWJsZSB0ZC5maWVsZC1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5saXN0VGFibGUgdGJvZHkge1xuICAgIGNvbG9yOiAjNDM0NTQ3OyB9XG4gICAgLmxpc3RUYWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoMm4pIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAubGlzdFRhYmxlIHRib2R5IHRyOm50aC1jaGlsZCgybiArMSkge1xuICAgICAgYmFja2dyb3VuZDogI2Y1ZjVmNTsgfVxuICAubGlzdFRhYmxlIHRkLCAubGlzdFRhYmxlIHRoLCAubGlzdFRhYmxlIC5sYWJlbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAubGlzdFRhYmxlIHRkLCAubGlzdFRhYmxlIHRoLCAubGlzdFRhYmxlIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgIC5saXN0VGFibGUgdGQsIC5saXN0VGFibGUgdGgsIC5saXN0VGFibGUgLmxhYmVsIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgICAubGlzdFRhYmxlIHRkLCAubGlzdFRhYmxlIHRoLCAubGlzdFRhYmxlIC5sYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgLmxpc3RUYWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gIC5saXN0VGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2UyZTJlMjsgfVxuICAubGlzdFRhYmxlIHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gIC5saXN0VGFibGUgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjsgfVxuICAubGlzdFRhYmxlIC5jb250cm9scyB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubGlzdFRhYmxlIC5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmxpc3RUYWJsZSAuY29udHJvbHNXcmFwcGVyIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmxpc3RUYWJsZSAuY29udHJvbHNXcmFwcGVyIC5idXR0b24taWNvbiB7XG4gICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDsgfVxuICAubGlzdFRhYmxlIHRyOmhvdmVyIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWJlYmViOyB9XG5cbnVsLnBhZ2luYXRpb24gbGkge1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICB1bC5wYWdpbmF0aW9uIGxpIGEge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICB1bC5wYWdpbmF0aW9uIGxpIGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2YzNjcxNztcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5jb250cm9sQnV0dG9ucyB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5jb250cm9sQnV0dG9ucyAuYWN0aW9uQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGhlaWdodDogMi4xODc1cmVtO1xuICAgIHdpZHRoOiAyLjE4NzVyZW07XG4gICAgZmlsbDogIzQzNDU0NzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29udHJvbEJ1dHRvbnMgLmFjdGlvbkJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMi42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuY29udHJvbEJ1dHRvbnMgLmFjdGlvbkJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyLjYyNXJlbTsgfSB9XG4gICAgLmNvbnRyb2xCdXR0b25zIC5hY3Rpb25CdXR0b24gc3ZnIHtcbiAgICAgIGhlaWdodDogMS4zMTI1cmVtO1xuICAgICAgd2lkdGg6IDEuMzEyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmNvbnRyb2xCdXR0b25zIC5hY3Rpb25CdXR0b24gc3ZnIHtcbiAgICAgICAgICBoZWlnaHQ6IDEuNTc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAgIC5jb250cm9sQnV0dG9ucyAuYWN0aW9uQnV0dG9uIHN2ZyB7XG4gICAgICAgICAgd2lkdGg6IDEuNTc1cmVtOyB9IH1cblxuLnJlY3RhbmdsZVJhdGlvV2lkdGgge1xuICB3aWR0aDogMy4yODEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5yZWN0YW5nbGVSYXRpb1dpZHRoIHtcbiAgICAgIHdpZHRoOiAzLjkzNzVyZW07IH0gfVxuICAucmVjdGFuZ2xlUmF0aW9XaWR0aCBzdmcge1xuICAgIHdpZHRoOiAxLjk2ODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5yZWN0YW5nbGVSYXRpb1dpZHRoIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAyLjM2MjVyZW07IH0gfVxuXG4ucmVjdGFuZ2xlUmF0aW9IZWlnaHQge1xuICBoZWlnaHQ6IDMuMjgxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAucmVjdGFuZ2xlUmF0aW9IZWlnaHQge1xuICAgICAgaGVpZ2h0OiAzLjkzNzVyZW07IH0gfVxuICAucmVjdGFuZ2xlUmF0aW9IZWlnaHQgc3ZnIHtcbiAgICBoZWlnaHQ6IDEuOTY4NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnJlY3RhbmdsZVJhdGlvSGVpZ2h0IHN2ZyB7XG4gICAgICAgIGhlaWdodDogMi4zNjI1cmVtOyB9IH1cblxuLmxvZ2luU2NyZWVuIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMCAwIDEwMCU7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmxvZ2luU2NyZWVuID4gLnJvdyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgLmxvZ2luU2NyZWVuIC5sb2dpbkNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm94LXNoYWRvdzogMHB4IDJweCA0cHggLTFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMyk7IH1cbiAgLmxvZ2luU2NyZWVuIC5sb2dpbkxvZ29CbG9jayB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmNWY1ZjU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgICAubG9naW5TY3JlZW4gLmxvZ2luTG9nb0Jsb2NrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAubG9naW5TY3JlZW4gLmxvZ2luTG9nb0Jsb2NrIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICAubG9naW5TY3JlZW4gLmxvZ2luTG9nb0Jsb2NrIC5sb2dvIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgICAubG9naW5TY3JlZW4gLmxvZ2luTG9nb0Jsb2NrIC5sb2dvIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubG9naW5TY3JlZW4gLmxvZ2luTG9nb0Jsb2NrIC5sb2dvIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgICAubG9naW5TY3JlZW4gLmxvZ2luTG9nb0Jsb2NrIC5sb2dvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAubG9naW5TY3JlZW4gLmxvZ2luTG9nb0Jsb2NrIC5sb2dvIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH0gfVxuICAgICAgLmxvZ2luU2NyZWVuIC5sb2dpbkxvZ29CbG9jayAubG9nbyBzdmcge1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIC5sb2dpblNjcmVlbiAubG9naW5Gb3JtQmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5sb2dpblNjcmVlbiAubG9naW5Gb3JtQmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLnRhYmxlTmF0aXZlU2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC5yZXNwb25zaXZlLXRhYmxlLWdyaWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAudGFibGVOYXRpdmVTY3JvbGwgdHIge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoOyB9XG4gIC50YWJsZU5hdGl2ZVNjcm9sbCB0ZCwgLnRhYmxlTmF0aXZlU2Nyb2xsIHRoIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50YWJsZU5hdGl2ZVNjcm9sbCAuY29udHJvbEJ1dHRvbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnJlc3BvbnNpdmUtdGFibGUtZ3JpZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC5yZXNwb25zaXZlLXRhYmxlLWdyaWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnJlc3BvbnNpdmUtdGFibGUtZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAucmVzcG9uc2l2ZS10YWJsZS1ncmlkIHtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIHRyIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgZGlzcGxheTogdGFibGUtcm93OyB9XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgdGQsIC50YWJsZU5hdGl2ZVNjcm9sbCB0aCB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xIHtcbiAgICB3aWR0aDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMSB7XG4gICAgICAgIHdpZHRoOiAycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEge1xuICAgICAgICB3aWR0aDogMi42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xIHtcbiAgICAgICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEge1xuICAgICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEge1xuICAgICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTIge1xuICAgIHdpZHRoOiAyLjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTIge1xuICAgICAgICB3aWR0aDogNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yIHtcbiAgICAgICAgd2lkdGg6IDUuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMiB7XG4gICAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yIHtcbiAgICAgICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yIHtcbiAgICAgICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0zIHtcbiAgICB3aWR0aDogMy43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMyB7XG4gICAgICAgIHdpZHRoOiA2cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTMge1xuICAgICAgICB3aWR0aDogOHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0zIHtcbiAgICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTMge1xuICAgICAgICB3aWR0aDogMTIuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTMge1xuICAgICAgICB3aWR0aDogMTIuNSU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTQge1xuICAgIHdpZHRoOiA1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC00IHtcbiAgICAgICAgd2lkdGg6IDhyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtNCB7XG4gICAgICAgIHdpZHRoOiAxMC42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC00IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC00IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtNCB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTUge1xuICAgIHdpZHRoOiA2LjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC01IHtcbiAgICAgICAgd2lkdGg6IDEwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTUge1xuICAgICAgICB3aWR0aDogMTMuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtNSB7XG4gICAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtNSB7XG4gICAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTUge1xuICAgICAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC02IHtcbiAgICB3aWR0aDogNy41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC02IHtcbiAgICAgICAgd2lkdGg6IDEycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTYge1xuICAgICAgICB3aWR0aDogMTZyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtNiB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtNiB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTYge1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC03IHtcbiAgICB3aWR0aDogOC43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtNyB7XG4gICAgICAgIHdpZHRoOiAxNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC03IHtcbiAgICAgICAgd2lkdGg6IDE4LjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTcge1xuICAgICAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTcge1xuICAgICAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC03IHtcbiAgICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtOCB7XG4gICAgd2lkdGg6IDEwcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC04IHtcbiAgICAgICAgd2lkdGg6IDE2cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTgge1xuICAgICAgICB3aWR0aDogMjEuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtOCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtOCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTgge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC05IHtcbiAgICB3aWR0aDogMTEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTkge1xuICAgICAgICB3aWR0aDogMThyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtOSB7XG4gICAgICAgIHdpZHRoOiAyNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC05IHtcbiAgICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTkge1xuICAgICAgICB3aWR0aDogMzcuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTkge1xuICAgICAgICB3aWR0aDogMzcuNSU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEwIHtcbiAgICB3aWR0aDogMTIuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTAge1xuICAgICAgICB3aWR0aDogMjByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTAge1xuICAgICAgICB3aWR0aDogMjYuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEwIHtcbiAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xMSB7XG4gICAgd2lkdGg6IDEzLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xMSB7XG4gICAgICAgIHdpZHRoOiAyMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xMSB7XG4gICAgICAgIHdpZHRoOiAyOS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xMSB7XG4gICAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTEge1xuICAgICAgICB3aWR0aDogNDUuODMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xMSB7XG4gICAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEyIHtcbiAgICB3aWR0aDogMTVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEyIHtcbiAgICAgICAgd2lkdGg6IDI0cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEyIHtcbiAgICAgICAgd2lkdGg6IDMycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTMge1xuICAgIHdpZHRoOiAxNi4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTMge1xuICAgICAgICB3aWR0aDogMjZyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTMge1xuICAgICAgICB3aWR0aDogMzQuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTMge1xuICAgICAgICB3aWR0aDogNTQuMTY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTEzIHtcbiAgICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTMge1xuICAgICAgICB3aWR0aDogNTQuMTY2NjclOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNCB7XG4gICAgd2lkdGg6IDE3LjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgd2lkdGg6IDI4cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgd2lkdGg6IDM3LjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNCB7XG4gICAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTUge1xuICAgIHdpZHRoOiAxOC43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTUge1xuICAgICAgICB3aWR0aDogMzByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTUge1xuICAgICAgICB3aWR0aDogNDByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTUge1xuICAgICAgICB3aWR0aDogNjIuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTUge1xuICAgICAgICB3aWR0aDogNjIuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE1IHtcbiAgICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgd2lkdGg6IDIwcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgIHdpZHRoOiAzMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgIHdpZHRoOiA0Mi42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTYge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE3IHtcbiAgICB3aWR0aDogMjEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE3IHtcbiAgICAgICAgd2lkdGg6IDM0cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE3IHtcbiAgICAgICAgd2lkdGg6IDQ1LjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE3IHtcbiAgICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xNyB7XG4gICAgICAgIHdpZHRoOiA3MC44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE3IHtcbiAgICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTgge1xuICAgIHdpZHRoOiAyMi41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xOCB7XG4gICAgICAgIHdpZHRoOiAzNnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xOCB7XG4gICAgICAgIHdpZHRoOiA0OHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xOCB7XG4gICAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMTgge1xuICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xOCB7XG4gICAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE5IHtcbiAgICB3aWR0aDogMjMuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE5IHtcbiAgICAgICAgd2lkdGg6IDM4cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE5IHtcbiAgICAgICAgd2lkdGg6IDUwLjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE5IHtcbiAgICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0xOSB7XG4gICAgICAgIHdpZHRoOiA3OS4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTE5IHtcbiAgICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjAge1xuICAgIHdpZHRoOiAyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjAge1xuICAgICAgICB3aWR0aDogNDByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjAge1xuICAgICAgICB3aWR0aDogNTMuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjAge1xuICAgICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTIwIHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjAge1xuICAgICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMSB7XG4gICAgd2lkdGg6IDI2LjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMSB7XG4gICAgICAgIHdpZHRoOiA0MnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMSB7XG4gICAgICAgIHdpZHRoOiA1NnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMSB7XG4gICAgICAgIHdpZHRoOiA4Ny41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMSB7XG4gICAgICAgIHdpZHRoOiA4Ny41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjEge1xuICAgICAgICB3aWR0aDogODcuNSU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTIyIHtcbiAgICB3aWR0aDogMjcuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjIge1xuICAgICAgICB3aWR0aDogNDRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjIge1xuICAgICAgICB3aWR0aDogNTguNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTIyIHtcbiAgICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMyB7XG4gICAgd2lkdGg6IDI4Ljc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMyB7XG4gICAgICAgIHdpZHRoOiA0NnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMyB7XG4gICAgICAgIHdpZHRoOiA2MS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMyB7XG4gICAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjMge1xuICAgICAgICB3aWR0aDogOTUuODMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhzbWFsbC0yMyB7XG4gICAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTI0IHtcbiAgICB3aWR0aDogMzByZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTI0IHtcbiAgICAgICAgd2lkdGg6IDQ4cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTI0IHtcbiAgICAgICAgd2lkdGg6IDY0cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHNtYWxsLTI0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14c21hbGwtMjQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMSB7XG4gICAgICB3aWR0aDogMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMSB7XG4gICAgICB3aWR0aDogMi42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMSB7XG4gICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTEge1xuICAgICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMSB7XG4gICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIge1xuICAgICAgd2lkdGg6IDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIge1xuICAgICAgd2lkdGg6IDUuMzMzMzNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiA2cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiA4cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMyB7XG4gICAgICB3aWR0aDogMTIuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNCB7XG4gICAgICB3aWR0aDogOHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNCB7XG4gICAgICB3aWR0aDogMTAuNjY2NjdyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTQge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNCB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNCB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC01IHtcbiAgICAgIHdpZHRoOiAxMHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNSB7XG4gICAgICB3aWR0aDogMTMuMzMzMzNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTUge1xuICAgICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNSB7XG4gICAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNSB7XG4gICAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC02IHtcbiAgICAgIHdpZHRoOiAxMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNiB7XG4gICAgICB3aWR0aDogMTZyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTYge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNiB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNiB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC03IHtcbiAgICAgIHdpZHRoOiAxNHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNyB7XG4gICAgICB3aWR0aDogMTguNjY2NjdyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTcge1xuICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNyB7XG4gICAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtNyB7XG4gICAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC04IHtcbiAgICAgIHdpZHRoOiAxNnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtOCB7XG4gICAgICB3aWR0aDogMjEuMzMzMzNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTgge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtOCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtOCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC05IHtcbiAgICAgIHdpZHRoOiAxOHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtOSB7XG4gICAgICB3aWR0aDogMjRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTkge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC05IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTkge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xMCB7XG4gICAgICB3aWR0aDogMjByZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiAyNi42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTAge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTAge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiAyMnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTEge1xuICAgICAgd2lkdGg6IDI5LjMzMzMzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogNDUuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xMSB7XG4gICAgICB3aWR0aDogNDUuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTEge1xuICAgICAgd2lkdGg6IDQ1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTIge1xuICAgICAgd2lkdGg6IDI0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogMzJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTEyIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xMiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xMyB7XG4gICAgICB3aWR0aDogMjZyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTEzIHtcbiAgICAgIHdpZHRoOiAzNC42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTMge1xuICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTMge1xuICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTEzIHtcbiAgICAgIHdpZHRoOiA1NC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE0IHtcbiAgICAgIHdpZHRoOiAyOHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTQge1xuICAgICAgd2lkdGg6IDM3LjMzMzMzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xNCB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xNCB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTQge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTUge1xuICAgICAgd2lkdGg6IDMwcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xNSB7XG4gICAgICB3aWR0aDogNDByZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE1IHtcbiAgICAgIHdpZHRoOiA2Mi41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTUge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTUge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xNiB7XG4gICAgICB3aWR0aDogMzJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE2IHtcbiAgICAgIHdpZHRoOiA0Mi42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTYge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTYge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE2IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE3IHtcbiAgICAgIHdpZHRoOiAzNHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTcge1xuICAgICAgd2lkdGg6IDQ1LjMzMzMzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xNyB7XG4gICAgICB3aWR0aDogNzAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xNyB7XG4gICAgICB3aWR0aDogNzAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTcge1xuICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTgge1xuICAgICAgd2lkdGg6IDM2cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xOCB7XG4gICAgICB3aWR0aDogNDhyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE4IHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE4IHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xOCB7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0xOSB7XG4gICAgICB3aWR0aDogMzhyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE5IHtcbiAgICAgIHdpZHRoOiA1MC42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTkge1xuICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMTkge1xuICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTE5IHtcbiAgICAgIHdpZHRoOiA3OS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIwIHtcbiAgICAgIHdpZHRoOiA0MHJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjAge1xuICAgICAgd2lkdGg6IDUzLjMzMzMzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjEge1xuICAgICAgd2lkdGg6IDQycmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yMSB7XG4gICAgICB3aWR0aDogNTZyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIxIHtcbiAgICAgIHdpZHRoOiA4Ny41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjEge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjEge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yMiB7XG4gICAgICB3aWR0aDogNDRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIyIHtcbiAgICAgIHdpZHRoOiA1OC42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjIge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjIge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIyIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTIzIHtcbiAgICAgIHdpZHRoOiA0NnJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjMge1xuICAgICAgd2lkdGg6IDYxLjMzMzMzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yMyB7XG4gICAgICB3aWR0aDogOTUuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yMyB7XG4gICAgICB3aWR0aDogOTUuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjMge1xuICAgICAgd2lkdGg6IDk1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtc21hbGwtMjQge1xuICAgICAgd2lkdGg6IDQ4cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yNCB7XG4gICAgICB3aWR0aDogNjRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTI0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1zbWFsbC0yNCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXNtYWxsLTI0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogMi42NjY2N3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTEge1xuICAgICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMSB7XG4gICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiA1LjMzMzMzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMiB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDhyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0zIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTMge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMTAuNjY2NjdyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS00IHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNCB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogMTMuMzMzMzNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS01IHtcbiAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNSB7XG4gICAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogMTZyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS02IHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNiB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogMTguNjY2NjdyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS03IHtcbiAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tNyB7XG4gICAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogMjEuMzMzMzNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS04IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tOCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tOSB7XG4gICAgICB3aWR0aDogMjRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS05IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTkge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDI2LjY2NjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTEwIHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTAge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiAyOS4zMzMzM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xMSB7XG4gICAgICB3aWR0aDogNDUuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTExIHtcbiAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogMzJyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xMiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTMge1xuICAgICAgd2lkdGg6IDM0LjY2NjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTMge1xuICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTEzIHtcbiAgICAgIHdpZHRoOiA1NC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTMge1xuICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE0IHtcbiAgICAgIHdpZHRoOiAzNy4zMzMzM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE0IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xNCB7XG4gICAgICB3aWR0aDogNTguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE0IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xNSB7XG4gICAgICB3aWR0aDogNDByZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xNSB7XG4gICAgICB3aWR0aDogNjIuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xNSB7XG4gICAgICB3aWR0aDogNjIuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTUge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTYge1xuICAgICAgd2lkdGg6IDQyLjY2NjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTYge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE2IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTYge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE3IHtcbiAgICAgIHdpZHRoOiA0NS4zMzMzM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE3IHtcbiAgICAgIHdpZHRoOiA3MC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xNyB7XG4gICAgICB3aWR0aDogNzAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE3IHtcbiAgICAgIHdpZHRoOiA3MC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xOCB7XG4gICAgICB3aWR0aDogNDhyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xOCB7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTgge1xuICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0xOCB7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTkge1xuICAgICAgd2lkdGg6IDUwLjY2NjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTkge1xuICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTE5IHtcbiAgICAgIHdpZHRoOiA3OS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMTkge1xuICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTIwIHtcbiAgICAgIHdpZHRoOiA1My4zMzMzM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTIwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTIwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yMSB7XG4gICAgICB3aWR0aDogNTZyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yMSB7XG4gICAgICB3aWR0aDogODcuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yMSB7XG4gICAgICB3aWR0aDogODcuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMjEge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMjIge1xuICAgICAgd2lkdGg6IDU4LjY2NjY3cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMjIge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTIyIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1tZWRpdW0tMjIge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTIzIHtcbiAgICAgIHdpZHRoOiA2MS4zMzMzM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTIzIHtcbiAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yMyB7XG4gICAgICB3aWR0aDogOTUuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTIzIHtcbiAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yNCB7XG4gICAgICB3aWR0aDogNjRyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLW1lZGl1bS0yNCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTI0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbWVkaXVtLTI0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMSB7XG4gICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xIHtcbiAgICAgIHdpZHRoOiA0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMiB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTIge1xuICAgICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMiB7XG4gICAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTMge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0zIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTMge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS00IHtcbiAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTQge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTQge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtNSB7XG4gICAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS01IHtcbiAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS01IHtcbiAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTYge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtNiB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtNiB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS03IHtcbiAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTcge1xuICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTcge1xuICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtOCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS04IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS04IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTkge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS05IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTkge1xuICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xMCB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDQ1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDQ1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xMiB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xMyB7XG4gICAgICB3aWR0aDogNTQuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xMyB7XG4gICAgICB3aWR0aDogNTQuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiA2Mi41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xNiB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xNiB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTYge1xuICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTcge1xuICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTcge1xuICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTE3IHtcbiAgICAgIHdpZHRoOiA3MC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTE4IHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTE4IHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xOCB7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xOSB7XG4gICAgICB3aWR0aDogNzkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0xOSB7XG4gICAgICB3aWR0aDogNzkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMTkge1xuICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMjAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMjAge1xuICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTIwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTIxIHtcbiAgICAgIHdpZHRoOiA4Ny41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMjEge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMjEge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0yMiB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0yMiB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMjIge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMjMge1xuICAgICAgd2lkdGg6IDk1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wtbGFyZ2UtMjMge1xuICAgICAgd2lkdGg6IDk1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTIzIHtcbiAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTI0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC1sYXJnZS0yNCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLWxhcmdlLTI0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMSB7XG4gICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTMge1xuICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtNCB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTUge1xuICAgICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS01IHtcbiAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtNiB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtNyB7XG4gICAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTgge1xuICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS04IHtcbiAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTEwIHtcbiAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTExIHtcbiAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDQ1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTEyIHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTEzIHtcbiAgICAgIHdpZHRoOiA1NC4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTE0IHtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTE1IHtcbiAgICAgIHdpZHRoOiA2Mi41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0xNSB7XG4gICAgICB3aWR0aDogNjIuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0xNiB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTE2IHtcbiAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0xNyB7XG4gICAgICB3aWR0aDogNzAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTE3IHtcbiAgICAgIHdpZHRoOiA3MC44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0xOCB7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTE4IHtcbiAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0xOSB7XG4gICAgICB3aWR0aDogNzkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTE5IHtcbiAgICAgIHdpZHRoOiA3OS4xNjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0yMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteGxhcmdlLTIwIHtcbiAgICAgIHdpZHRoOiA4My4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0yMSB7XG4gICAgICB3aWR0aDogODcuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMjEge1xuICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMjIge1xuICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0yMiB7XG4gICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMjMge1xuICAgICAgd2lkdGg6IDk1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXhsYXJnZS0yMyB7XG4gICAgICB3aWR0aDogOTUuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMjQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14bGFyZ2UtMjQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14eGxhcmdlLTEge1xuICAgICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS0yIHtcbiAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtMyB7XG4gICAgICB3aWR0aDogMTIuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14eGxhcmdlLTQge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtNSB7XG4gICAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS02IHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14eGxhcmdlLTcge1xuICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtOCB7XG4gICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS05IHtcbiAgICAgIHdpZHRoOiAzNy41JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtMTAge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtMTEge1xuICAgICAgd2lkdGg6IDQ1LjgzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtMTIge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtMTMge1xuICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtMTQge1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlTmF0aXZlU2Nyb2xsIC50Y29sLXh4bGFyZ2UtMTUge1xuICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS0xNiB7XG4gICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS0xNyB7XG4gICAgICB3aWR0aDogNzAuODMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS0xOCB7XG4gICAgICB3aWR0aDogNzUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS0xOSB7XG4gICAgICB3aWR0aDogNzkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS0yMCB7XG4gICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVOYXRpdmVTY3JvbGwgLnRjb2wteHhsYXJnZS0yMSB7XG4gICAgICB3aWR0aDogODcuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14eGxhcmdlLTIyIHtcbiAgICAgIHdpZHRoOiA5MS42NjY2NyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14eGxhcmdlLTIzIHtcbiAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZU5hdGl2ZVNjcm9sbCAudGNvbC14eGxhcmdlLTI0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnRhYmxlU2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgYm94LXNoYWRvdzogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgLnRhYmxlU2Nyb2xsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAudGFibGVTY3JvbGwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgLnRhYmxlU2Nyb2xsIC5yZXNwb25zaXZlLXRhYmxlLWdyaWQge1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAudGFibGVTY3JvbGwgdHIge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoOyB9XG4gIC50YWJsZVNjcm9sbCB0ZCwgLnRhYmxlU2Nyb2xsIHRoIHtcbiAgICB3aWR0aDogMjUwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50YWJsZVNjcm9sbCAuY29udHJvbEJ1dHRvbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4LjEyNWVtKSB7XG4gICAgLnRhYmxlU2Nyb2xsIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgLnRhYmxlU2Nyb2xsIC5yZXNwb25zaXZlLXRhYmxlLWdyaWQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzguMTI1ZW0pIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgICAudGFibGVTY3JvbGwgLnJlc3BvbnNpdmUtdGFibGUtZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3OC4xMjVlbSkgYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAudGFibGVTY3JvbGwgLnJlc3BvbnNpdmUtdGFibGUtZ3JpZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc4LjEyNWVtKSB7XG4gICAgICAudGFibGVTY3JvbGwgLnJlc3BvbnNpdmUtdGFibGUtZ3JpZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC50YWJsZVNjcm9sbCB0ciB7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLXJvdzsgfVxuICAgICAgLnRhYmxlU2Nyb2xsIHRkLCAudGFibGVTY3JvbGwgdGgge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5idXR0b24taWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDFyZW07XG4gIGhlaWdodDogMXJlbTtcbiAgZmlsbDogI2YzNjcxNzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5idXR0b24taWNvbiB7XG4gICAgICB3aWR0aDogMS4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAuYnV0dG9uLWljb24ge1xuICAgICAgd2lkdGg6IDEuMzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAuYnV0dG9uLWljb24ge1xuICAgICAgaGVpZ2h0OiAxLjEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkge1xuICAgIC5idXR0b24taWNvbiB7XG4gICAgICBoZWlnaHQ6IDEuMzc1cmVtOyB9IH1cbiAgLmJ1dHRvbi1pY29uIHN2ZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG5cbi50YWdMaXN0IHtcbiAgbWFyZ2luOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudGFnTGlzdCB7XG4gICAgICBtYXJnaW46IDAuOTM3NXJlbTsgfSB9XG4gIC50YWdMaXN0IGEudGFnIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGNvbG9yOiAjNDM0NTQ3O1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAxLjg3NXJlbSAwLjMxMjVyZW0gMC4zMTI1cmVtO1xuICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMC4zMTI1cmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLnRhZ0xpc3QgYS50YWcge1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMS44NzVyZW0gMC4zMTI1cmVtIDAuMzEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAudGFnTGlzdCBhLnRhZyB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwLjYyNXJlbSAwOyB9IH1cbiAgICAudGFnTGlzdCBhLnRhZyBzdmcge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDAuODc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICAgIGZpbGw6ICNmMzY3MTc7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjQzNzVyZW07XG4gICAgICByaWdodDogMC40Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAudGFnTGlzdCBhLnRhZyBzdmcge1xuICAgICAgICAgIHJpZ2h0OiAwLjQzNzVyZW07IH0gfVxuICAgIC50YWdMaXN0IGEudGFnOmhvdmVyLCAudGFnTGlzdCBhLnRhZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZjM2NzE3OyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IGF1dG87IH1cbiAgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtaGVhZGVyXCJdIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIHRhYmxlIHRoW2NsYXNzKj1cInNvbmF0YS1iYS1saXN0LWZpZWxkLWhlYWRlclwiXSBhLCB0YWJsZSB0aFtjbGFzcyo9XCJzb25hdGEtYmEtbGlzdC1maWVsZC1oZWFkZXJcIl0gPiBzcGFuIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIGNvbG9yOiAjNDM0NTQ3O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgICAgICAgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtaGVhZGVyXCJdIGEsIHRhYmxlIHRoW2NsYXNzKj1cInNvbmF0YS1iYS1saXN0LWZpZWxkLWhlYWRlclwiXSA+IHNwYW4ge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgICAgIHRhYmxlIHRoW2NsYXNzKj1cInNvbmF0YS1iYS1saXN0LWZpZWxkLWhlYWRlclwiXSBhLCB0YWJsZSB0aFtjbGFzcyo9XCJzb25hdGEtYmEtbGlzdC1maWVsZC1oZWFkZXJcIl0gPiBzcGFuIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgICB0YWJsZSB0aFtjbGFzcyo9XCJzb25hdGEtYmEtbGlzdC1maWVsZC1oZWFkZXJcIl0gYSwgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtaGVhZGVyXCJdID4gc3BhbiB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gICAgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtaGVhZGVyXCJdIHN2ZyB7XG4gICAgICBmaWxsOiAjNDM0NTQ3O1xuICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjU2MjVyZW07IH1cbiAgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtb3JkZXItYWN0aXZlXCJdIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmFmYWZhOyB9XG4gICAgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtb3JkZXItYWN0aXZlXCJdIGEge1xuICAgICAgY29sb3I6ICNmMzY3MTc7IH1cbiAgICB0YWJsZSB0aFtjbGFzcyo9XCJzb25hdGEtYmEtbGlzdC1maWVsZC1vcmRlci1hY3RpdmVcIl06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgaGVpZ2h0OiAwLjEyNXJlbTtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICAgIGxlZnQ6IC0xcHg7XG4gICAgICByaWdodDogLTFweDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMzY3MTc7IH1cbiAgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtaGVhZGVyLWJhdGNoXCJdLCB0YWJsZSB0ZFtjbGFzcyo9XCJzb25hdGEtYmEtbGlzdC1maWVsZC1iYXRjaFwiXSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgdGFibGUgdGhbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtaGVhZGVyLWJhdGNoXCJdIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgdGFibGUgdGRbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtYmF0Y2hcIl0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgdGFibGUgdGRbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtYWN0aW9uc1wiXSB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCItYmF0Y2hcIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cIi1iYXRjaFwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCItYmF0Y2hcIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCItYmF0Y2hcIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwiLWJhdGNoXCJdIHtcbiAgICB3aWR0aDogMzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwiLWJhdGNoXCJdIHtcbiAgICB3aWR0aDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cIi1iYXRjaFwiXSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cIi1iYXRjaFwiXSB7XG4gICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cImFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cImFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJhY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJhY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cImFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJhY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cImFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJhY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG4udGFibGVTY3JvbGwgdHIgdGRbbmFtZSo9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZFwiXSwgLnRhYmxlU2Nyb2xsIHRyIHRkW25hbWUqPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmRcIl06Zmlyc3QtY2hpbGQsIC50YWJsZVNjcm9sbCB0ciB0ZFtuYW1lKj1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkXCJdOmxhc3QtY2hpbGQsIC50YWJsZVNjcm9sbCB0ciB0aFtuYW1lKj1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkXCJdLCAudGFibGVTY3JvbGwgdHIgdGhbbmFtZSo9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZFwiXTpmaXJzdC1jaGlsZCwgLnRhYmxlU2Nyb2xsIHRyIHRoW25hbWUqPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmRcIl06bGFzdC1jaGlsZCwgLnRhYmxlU2Nyb2xsIHRyOmxhc3QtY2hpbGQgdGRbbmFtZSo9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZFwiXSwgLnRhYmxlU2Nyb2xsIHRyOmxhc3QtY2hpbGQgdGRbbmFtZSo9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZFwiXTpmaXJzdC1jaGlsZCwgLnRhYmxlU2Nyb2xsIHRyOmxhc3QtY2hpbGQgdGRbbmFtZSo9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZFwiXTpsYXN0LWNoaWxkLCAudGFibGVTY3JvbGwgdHI6bGFzdC1jaGlsZCB0aFtuYW1lKj1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkXCJdLCAudGFibGVTY3JvbGwgdHI6bGFzdC1jaGlsZCB0aFtuYW1lKj1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkXCJdOmZpcnN0LWNoaWxkLCAudGFibGVTY3JvbGwgdHI6bGFzdC1jaGlsZCB0aFtuYW1lKj1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkXCJdOmxhc3QtY2hpbGQge1xuICBib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIzhhOGE4YTtcbiAgYm9yZGVyLWNvbG9yOiAjOGE4YThhOyB9XG5cbi50YWJsZVNjcm9sbCBbbmFtZSo9XCJiYXRjaFwiXSB7XG4gIG1heC13aWR0aDogNTBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwicGFydGljaXBhbnQ6bm90KGJhdGNoKVwiXSB7XG4gICAgd2lkdGg6IDE5MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInBhcnRpY2lwYW50Om5vdChiYXRjaClcIl0ge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwicGFydGljaXBhbnQ6bm90KGJhdGNoKVwiXSB7XG4gICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInBhcnRpY2lwYW50Om5vdChiYXRjaClcIl0ge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidXNlcm5hbWVcIl0ge1xuICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ1c2VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ1c2VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInVzZXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICB3aWR0aDogMjU2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiA1MzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ0aXRsZVwiXSB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ1c2VyLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ1c2VyLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWwtYWN0aXZlXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWFjdGl2ZVwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWFjdGl2ZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWwtYWN0aXZlXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJza2lsbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInNraWxsLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJza2lsbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJza2lsbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJjZXJ0aWZpY2F0ZS10ZXJyaXRvcmlhbHZhbGlkaXR5XCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJjZXJ0aWZpY2F0ZS10ZXJyaXRvcmlhbHZhbGlkaXR5XCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY2VydGlmaWNhdGUtdGVycml0b3JpYWx2YWxpZGl0eVwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY2VydGlmaWNhdGUtdGVycml0b3JpYWx2YWxpZGl0eVwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY2VydGlmaWNhdGUtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNhdGVnb3J5LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY2F0ZWdvcnktX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNhdGVnb3J5LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNhdGVnb3J5LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3R0eXBlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdHR5cGUtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3R0eXBlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3R0eXBlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2xjYXRlZ29yeS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2xjYXRlZ29yeS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbGNhdGVnb3J5LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2xjYXRlZ29yeS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgLndlZWtEYXkge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIC53ZWVrRGF5IHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIC53ZWVrRGF5IHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgLndlZWtEYXkge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbi50YWJsZVNjcm9sbCAudGFibGVEZXNjcmlwdGlvbiB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRhYmxlU2Nyb2xsIC50YWJsZURlc2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiA3NjhweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLnRhYmxlU2Nyb2xsIC50YWJsZURlc2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMjAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAudGFibGVTY3JvbGwgLnRhYmxlRGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IDE2MDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlU2Nyb2xsIC50YWJsZURlc2NyaXB0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ0aXRsZVwiXSB7XG4gICAgd2lkdGg6IDI4OHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ0aXRsZVwiXSB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiA2MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiAzNy41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwicGFydGljaXBhbnQ6bm90KGJhdGNoKVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJwYXJ0aWNpcGFudDpub3QoYmF0Y2gpXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJwYXJ0aWNpcGFudDpub3QoYmF0Y2gpXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInBhcnRpY2lwYW50Om5vdChiYXRjaClcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInVzZXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInVzZXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ1c2VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ1c2VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiAyMjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiAzNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICB3aWR0aDogNDY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidXNlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWFjdGl2ZVwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWwtYWN0aXZlXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWFjdGl2ZVwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWFjdGl2ZVwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cInNraWxsLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNhdGVnb3J5LV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3R0eXBlLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2xjYXRlZ29yeS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbC1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJza2lsbC1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjZXJ0aWZpY2F0ZS1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjYXRlZ29yeS1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0dHlwZS1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sY2F0ZWdvcnktX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cInNraWxsLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNhdGVnb3J5LV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3R0eXBlLV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2xjYXRlZ29yeS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbC1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJza2lsbC1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjZXJ0aWZpY2F0ZS1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjYXRlZ29yeS1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0dHlwZS1fYWN0aW9uXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sY2F0ZWdvcnktX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLXRlcnJpdG9yaWFsdmFsaWRpdHlcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLXRlcnJpdG9yaWFsdmFsaWRpdHlcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY2VydGlmaWNhdGUtdGVycml0b3JpYWx2YWxpZGl0eVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNlcnRpZmljYXRlLXRlcnJpdG9yaWFsdmFsaWRpdHlcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgLndlZWtEYXkge1xuICAgIHdpZHRoOiAzMnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCAud2Vla0RheSB7XG4gICAgd2lkdGg6IDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCAud2Vla0RheSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIC53ZWVrRGF5IHtcbiAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInVzZXJuYW1lXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidXNlcm5hbWVcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInVzZXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInVzZXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICB3aWR0aDogMTkycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICB3aWR0aDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ0aXRsZVwiXSB7XG4gICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ0aXRsZVwiXSB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwid29ya3BsYWNlXCJdIHtcbiAgICB3aWR0aDogMTkycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cIndvcmtwbGFjZVwiXSB7XG4gICAgd2lkdGg6IDMwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwid29ya3BsYWNlXCJdIHtcbiAgICB3aWR0aDogNDAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cIndvcmtwbGFjZVwiXSB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ1c2VyLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA0OHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDc1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDYuMjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwidGl0bGVcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWUqPVwid29ya3BsYWNlXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ3b3JrcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZSo9XCJ3b3JrcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lKj1cIndvcmtwbGFjZVwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCAudGFibGVEZXNjcmlwdGlvbiB7XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gIC5lZGl0b3Ige1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5lZGl0b3Ige1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuXG4uY2xvc2VCdXR0b24ge1xuICBmb250LXNpemU6IDJyZW07IH1cblxuLmNhbGxvdXRBcnJvdyAuY2FsbG91dENvbnRlbnQge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxcmVtIDFyZW0gMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZmZmM2Q5OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNhbGxvdXRBcnJvdzpiZWZvcmUsIC5jYWxsb3V0QXJyb3c6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYWxsb3V0QXJyb3c6YmVmb3JlLCAuY2FsbG91dEFycm93OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9IH1cblxuLmNhbGxvdXRBcnJvdzphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAxcmVtO1xuICBib3JkZXItY29sb3I6ICNmZmYzZDkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwOyB9XG5cbltkYXRhLWNsb3NhYmxlXSBwIHtcbiAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9XG5cbi5wYXJ0aWNpcGFudHMtcnVsZSB7XG4gIG1hcmdpbjogMCAwIDAuOTM3NXJlbSAwOyB9XG5cbi5wYXJ0aWNpcGFudCAuYmxvY2tBY3Rpb25zIC5iYWRnZSwgLnBhcnRpY2lwYW50IC5ibG9ja0FjdGlvbnMgLmNsb3NlQnV0dG9uLCAucGFydGljaXBhbnQgLmJsb2NrQWN0aW9ucyAubG9hZGluZywgLmNvc3RQYXJ0aWNpcGFudCAuYmFkZ2UsIC5jb3N0UGFydGljaXBhbnQgLmNsb3NlQnV0dG9uLCAuY29zdFBhcnRpY2lwYW50IC5sb2FkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZG9jdW1lbnRzIC5oZWFkZXIuZG9jdW1lbnRzLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmRvY3VtZW50cyAuaGVhZGVyLmRvY3VtZW50cy10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5kb2N1bWVudHMgLmhlYWRlci5kb2N1bWVudHMtY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIC5oZWFkZXIuZG9jdW1lbnRzLWNhdGVnb3J5IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmRvY3VtZW50cyAuaGVhZGVyLmRvY3VtZW50cy1kZXNjcmlwdGlvbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5kb2N1bWVudHMgLmhlYWRlci5kb2N1bWVudHMtZGVzY3JpcHRpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZG9jdW1lbnRzIC5oZWFkZXIuZG9jdW1lbnRzLWZpbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIC5oZWFkZXIuZG9jdW1lbnRzLWZpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZG9jdW1lbnRzIC5oZWFkZXIuZG9jdW1lbnRzLV9kZWxldGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIC5oZWFkZXIuZG9jdW1lbnRzLV9kZWxldGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZG9jdW1lbnRzIFtjbGFzcyo9XCItX2RlbGV0ZVwiXSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cIi1fZGVsZXRlXCJdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cIi1fZGVsZXRlXCJdIHtcbiAgICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMTIuNSU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cIi1fZGVsZXRlXCJdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cIi1fZGVsZXRlXCJdIHtcbiAgICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cIi1fZGVsZXRlXCJdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLXRpdGxlXCJdIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cImRvY3VtZW50cy10aXRsZVwiXSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIFtjbGFzcyo9XCJkb2N1bWVudHMtdGl0bGVcIl0ge1xuICAgICAgZmxleDogMCAwIDI5LjE2NjY3JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIFtjbGFzcyo9XCJkb2N1bWVudHMtdGl0bGVcIl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLXRpdGxlXCJdIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLXRpdGxlXCJdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLWNhdGVnb3J5XCJdIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cImRvY3VtZW50cy1jYXRlZ29yeVwiXSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIFtjbGFzcyo9XCJkb2N1bWVudHMtY2F0ZWdvcnlcIl0ge1xuICAgICAgZmxleDogMCAwIDI5LjE2NjY3JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMjkuMTY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIFtjbGFzcyo9XCJkb2N1bWVudHMtY2F0ZWdvcnlcIl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLWNhdGVnb3J5XCJdIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLWNhdGVnb3J5XCJdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLWRlc2NyaXB0aW9uXCJdIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIFtjbGFzcyo9XCJkb2N1bWVudHMtZGVzY3JpcHRpb25cIl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuXG4uZG9jdW1lbnRzIFtjbGFzcyo9XCJkb2N1bWVudHMtZmlsZVwiXSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cImRvY3VtZW50cy1maWxlXCJdIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kb2N1bWVudHMgW2NsYXNzKj1cImRvY3VtZW50cy1maWxlXCJdIHtcbiAgICAgIGZsZXg6IDAgMCAyOS4xNjY2NyU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICBtYXgtd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLWZpbGVcIl0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgLmRvY3VtZW50cyBbY2xhc3MqPVwiZG9jdW1lbnRzLWZpbGVcIl0ge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZG9jdW1lbnRzIFtjbGFzcyo9XCJkb2N1bWVudHMtZmlsZVwiXSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLnN0cmlwZWQgPiAqIHtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuc3RyaXBlZCA+ICoge1xuICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH0gfVxuXG4uc3RyaXBlZCA+ICo6bnRoLWNoaWxkKDJuKSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAuY2FsbG91dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYWxsb3V0IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmNhbGxvdXQge1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jYWxsb3V0IHtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAuY2FsbG91dCB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2FsbG91dCB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9IH1cblxuLnR5cG9ncmFwaHktdGV4dCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIHtcbiAgICAudHlwb2dyYXBoeS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gICAgLnR5cG9ncmFwaHktdGV4dCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwMHB4KSB7XG4gICAgLnR5cG9ncmFwaHktdGV4dCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbi5pbnNlcnQtYXR0ZW5kYW5jZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIC5pbnNlcnQtYXR0ZW5kYW5jZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmluc2VydC1hdHRlbmRhbmNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC5pbnNlcnQtYXR0ZW5kYW5jZSBzdmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgICAuaW5zZXJ0LWF0dGVuZGFuY2Ugc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaW5zZXJ0LWF0dGVuZGFuY2Ugc3ZnIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjQ2ODc1cmVtOyB9IH1cblxuLmhpZ2hsaWdodC1yb3cge1xuICBiYWNrZ3JvdW5kOiAjZmZmM2Q5ICFpbXBvcnRhbnQ7IH1cblxuLmhlYWRlckJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9XG4gIC5oZWFkZXJCdXR0b24gc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmlsbDogI2ZmZjtcbiAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41NjI1cmVtO1xuICAgIGxlZnQ6IDAuMzEyNXJlbTsgfVxuXG4uaHlwZXJsaW5rQnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH1cbiAgLmh5cGVybGlua0J1dHRvbiBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBmaWxsOiAjZjM2NzE3O1xuICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0wLjU2MjVyZW07XG4gICAgbGVmdDogMC4zMTI1cmVtOyB9XG5cbi5saXN0SWNvbkJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgLmxpc3RJY29uQnV0dG9uIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubGlzdEljb25CdXR0b24ge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIC5saXN0SWNvbkJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC5saXN0SWNvbkJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIC5saXN0SWNvbkJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAubGlzdEljb25CdXR0b24ge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNDY4NzVyZW07IH0gfVxuICAubGlzdEljb25CdXR0b24gc3ZnIHtcbiAgICBmaWxsOiAjZjM2NzE3O1xuICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgIGhlaWdodDogMC43NXJlbTsgfVxuXG4ucGF5bWVudERldGFpbCAuY29udHJvbEJ1dHRvbnMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAucGF5bWVudERldGFpbCAucGF5bWVudFN1bW1hcnkge1xuICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnBheW1lbnREZXRhaWwgLnBheW1lbnRTdW1tYXJ5IHtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH0gfVxuXG4ucGF5bWVudERldGFpbCAubG9hZGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4udGV4dC1hbGVydCB7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG5cbi5mbGV4LXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbGV4LXdyYXBwZXIgLmNhbGxvdXQge1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uaWNvbkJ1dHRvbnMgLmljb25CdXR0b25GaWxsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmljb25CdXR0b25zIC5pY29uQnV0dG9uRmlsbCBzdmcge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIHdpZHRoOiAxLjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgLmljb25CdXR0b25zIC5pY29uQnV0dG9uRmlsbCBzdmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmljb25CdXR0b25zIC5pY29uQnV0dG9uRmlsbCBzdmcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gIC5pY29uQnV0dG9ucyAuaWNvbkJ1dHRvbkZpbGwgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAuaWNvbkJ1dHRvbnMgLmljb25CdXR0b25GaWxsIC5idXR0b24ge1xuICAgIGZsZXg6IDAgMSBhdXRvOyB9IH1cblxuLmhvdXJSYXRlIC5zdHJpcGVkID4gKjpudGgtY2hpbGQoMm4pIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTsgfVxuXG4uaG91clJhdGUgLmNvbnRyb2xCdXR0b25zIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ob3VyUmF0ZSAuY29udHJvbEJ1dHRvbnMgZm9ybSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5ob3VyUmF0ZSAuY29udHJvbEJ1dHRvbnMgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgLmhvdXJSYXRlIC5jb250cm9sQnV0dG9ucyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5sYWJlbC5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogc21hbGw7XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuXG4ucm93LmhpZ2hsaWdodFJvd1llbGxvdyB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMTUsIDU2LCAwLjE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yb3cuaGlnaGxpZ2h0Um93WWVsbG93OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmQ3Mzg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHRvcDogMDsgfVxuXG4ubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dZZWxsb3cgdGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjE1LCA1NiwgMC4xNSk7IH1cbiAgLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93WWVsbG93IHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZmQ3Mzg7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLlllbGxvdyB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyMTUsIDU2LCAwLjE1KTsgfVxuXG4udGFibGVTdGF0ZUNsYXNzZXMgdGQuWWVsbG93LCAudGFibGVTdGF0ZUNsYXNzZXMgdGguWWVsbG93IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDIxNSwgNTYsIDAuMTUpICFpbXBvcnRhbnQ7IH1cblxuLnJvdy5oaWdobGlnaHRSb3dHcmVlbiB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMTI4LCAwLCAwLjE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yb3cuaGlnaGxpZ2h0Um93R3JlZW46YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzAwODAwMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAwOyB9XG5cbi5saXN0VGFibGUgLmhpZ2hsaWdodFJvd0dyZWVuIHRkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAxMjgsIDAsIDAuMTUpOyB9XG4gIC5saXN0VGFibGUgLmhpZ2hsaWdodFJvd0dyZWVuIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwMDgwMDA7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLkdyZWVuIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuMTUpOyB9XG5cbi50YWJsZVN0YXRlQ2xhc3NlcyB0ZC5HcmVlbiwgLnRhYmxlU3RhdGVDbGFzc2VzIHRoLkdyZWVuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAxMjgsIDAsIDAuMTUpICFpbXBvcnRhbnQ7IH1cblxuLnJvdy5oaWdobGlnaHRSb3dSZWQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMCwgMCwgMC4xNSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucm93LmhpZ2hsaWdodFJvd1JlZDpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmYwMDAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTFweDtcbiAgICB0b3A6IDA7IH1cblxuLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93UmVkIHRkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMTUpOyB9XG4gIC5saXN0VGFibGUgLmhpZ2hsaWdodFJvd1JlZCB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmYwMDAwOyB9XG5cbi50YWJsZVN0YXRlQ2xhc3NlcyB0ci5SZWQgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMCwgMCwgMC4xNSk7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRkLlJlZCwgLnRhYmxlU3RhdGVDbGFzc2VzIHRoLlJlZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAwLCAwLCAwLjE1KSAhaW1wb3J0YW50OyB9XG5cbi5yb3cuaGlnaGxpZ2h0Um93QmxhY2sge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy5oaWdobGlnaHRSb3dCbGFjazpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjMDAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTFweDtcbiAgICB0b3A6IDA7IH1cblxuLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93QmxhY2sgdGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMTUpOyB9XG4gIC5saXN0VGFibGUgLmhpZ2hsaWdodFJvd0JsYWNrIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMwMDA7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLkJsYWNrIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjE1KTsgfVxuXG4udGFibGVTdGF0ZUNsYXNzZXMgdGQuQmxhY2ssIC50YWJsZVN0YXRlQ2xhc3NlcyB0aC5CbGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xNSkgIWltcG9ydGFudDsgfVxuXG4ucm93LmhpZ2hsaWdodFJvd1B1cnBsZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMTM5LCA3MSwgMTM3LCAwLjE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yb3cuaGlnaGxpZ2h0Um93UHVycGxlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM4QjQ3ODk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHRvcDogMDsgfVxuXG4ubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dQdXJwbGUgdGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOSwgNzEsIDEzNywgMC4xNSk7IH1cbiAgLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93UHVycGxlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM4QjQ3ODk7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLlB1cnBsZSB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTM5LCA3MSwgMTM3LCAwLjE1KTsgfVxuXG4udGFibGVTdGF0ZUNsYXNzZXMgdGQuUHVycGxlLCAudGFibGVTdGF0ZUNsYXNzZXMgdGguUHVycGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzksIDcxLCAxMzcsIDAuMTUpICFpbXBvcnRhbnQ7IH1cblxuLnJvdy5oaWdobGlnaHRSb3dEYXJrYmx1ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoOTgsIDE2MywgMjA3LCAwLjE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yb3cuaGlnaGxpZ2h0Um93RGFya2JsdWU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzYyQTNDRjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAwOyB9XG5cbi5saXN0VGFibGUgLmhpZ2hsaWdodFJvd0RhcmtibHVlIHRkIHtcbiAgYmFja2dyb3VuZDogcmdiYSg5OCwgMTYzLCAyMDcsIDAuMTUpOyB9XG4gIC5saXN0VGFibGUgLmhpZ2hsaWdodFJvd0RhcmtibHVlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM2MkEzQ0Y7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLkRhcmtibHVlIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5OCwgMTYzLCAyMDcsIDAuMTUpOyB9XG5cbi50YWJsZVN0YXRlQ2xhc3NlcyB0ZC5EYXJrYmx1ZSwgLnRhYmxlU3RhdGVDbGFzc2VzIHRoLkRhcmtibHVlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg5OCwgMTYzLCAyMDcsIDAuMTUpICFpbXBvcnRhbnQ7IH1cblxuLnJvdy5oaWdobGlnaHRSb3dMaWdodGJsdWUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDIwMiwgMjMwLCAyMzAsIDAuMTUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy5oaWdobGlnaHRSb3dMaWdodGJsdWU6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI0NBRTZFNjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IC0xcHg7XG4gICAgdG9wOiAwOyB9XG5cbi5saXN0VGFibGUgLmhpZ2hsaWdodFJvd0xpZ2h0Ymx1ZSB0ZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjAyLCAyMzAsIDIzMCwgMC4xNSk7IH1cbiAgLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93TGlnaHRibHVlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNDQUU2RTY7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLkxpZ2h0Ymx1ZSB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAyLCAyMzAsIDIzMCwgMC4xNSk7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRkLkxpZ2h0Ymx1ZSwgLnRhYmxlU3RhdGVDbGFzc2VzIHRoLkxpZ2h0Ymx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjAyLCAyMzAsIDIzMCwgMC4xNSkgIWltcG9ydGFudDsgfVxuXG4ucm93LmhpZ2hsaWdodFJvd09yYW5nZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQzLCAxMDMsIDIzLCAwLjE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yb3cuaGlnaGxpZ2h0Um93T3JhbmdlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmMzY3MTc7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHRvcDogMDsgfVxuXG4ubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dPcmFuZ2UgdGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI0MywgMTAzLCAyMywgMC4xNSk7IH1cbiAgLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93T3JhbmdlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmMzY3MTc7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLk9yYW5nZSB0ZCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjQzLCAxMDMsIDIzLCAwLjE1KTsgfVxuXG4udGFibGVTdGF0ZUNsYXNzZXMgdGQuT3JhbmdlLCAudGFibGVTdGF0ZUNsYXNzZXMgdGguT3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNDMsIDEwMywgMjMsIDAuMTUpICFpbXBvcnRhbnQ7IH1cblxuLnJvdy5oaWdobGlnaHRSb3dPcmUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOCwgMjksIDI5LCAwLjE1KTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5yb3cuaGlnaGxpZ2h0Um93T3JlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM4QTFEMUQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHRvcDogMDsgfVxuXG4ubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dPcmUgdGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDEzOCwgMjksIDI5LCAwLjE1KTsgfVxuICAubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dPcmUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgIzhBMUQxRDsgfVxuXG4udGFibGVTdGF0ZUNsYXNzZXMgdHIuT3JlIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMzgsIDI5LCAyOSwgMC4xNSk7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRkLk9yZSwgLnRhYmxlU3RhdGVDbGFzc2VzIHRoLk9yZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTM4LCAyOSwgMjksIDAuMTUpICFpbXBvcnRhbnQ7IH1cblxuLnJvdy5oaWdobGlnaHRSb3dXaGl0ZSB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucm93LmhpZ2hsaWdodFJvd1doaXRlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNGRkZGRkY7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHRvcDogMDsgfVxuXG4ubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dXaGl0ZSB0ZCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xNSk7IH1cbiAgLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93V2hpdGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI0ZGRkZGRjsgfVxuXG4udGFibGVTdGF0ZUNsYXNzZXMgdHIuV2hpdGUgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTUpOyB9XG5cbi50YWJsZVN0YXRlQ2xhc3NlcyB0ZC5XaGl0ZSwgLnRhYmxlU3RhdGVDbGFzc2VzIHRoLldoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE1KSAhaW1wb3J0YW50OyB9XG5cbi5yb3cuaGlnaGxpZ2h0Um93QnJvd24ge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU4LCA0NiwgMTYsIDAuMTUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy5oaWdobGlnaHRSb3dCcm93bjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjM0EyRTEwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogLTFweDtcbiAgICB0b3A6IDA7IH1cblxuLmxpc3RUYWJsZSAuaGlnaGxpZ2h0Um93QnJvd24gdGQge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDU4LCA0NiwgMTYsIDAuMTUpOyB9XG4gIC5saXN0VGFibGUgLmhpZ2hsaWdodFJvd0Jyb3duIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICMzQTJFMTA7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLkJyb3duIHRkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1OCwgNDYsIDE2LCAwLjE1KTsgfVxuXG4udGFibGVTdGF0ZUNsYXNzZXMgdGQuQnJvd24sIC50YWJsZVN0YXRlQ2xhc3NlcyB0aC5Ccm93biB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTgsIDQ2LCAxNiwgMC4xNSkgIWltcG9ydGFudDsgfVxuXG4ucm93LmhpZ2hsaWdodFJvd0JsdWUge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDExNiwgMTkxLCAyMjEsIDAuMTUpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnJvdy5oaWdobGlnaHRSb3dCbHVlOmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM3NGJmZGQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAtMXB4O1xuICAgIHRvcDogMDsgfVxuXG4ubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dCbHVlIHRkIHtcbiAgYmFja2dyb3VuZDogcmdiYSgxMTYsIDE5MSwgMjIxLCAwLjE1KTsgfVxuICAubGlzdFRhYmxlIC5oaWdobGlnaHRSb3dCbHVlIHRkOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICM3NGJmZGQ7IH1cblxuLnRhYmxlU3RhdGVDbGFzc2VzIHRyLkJsdWUgdGQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDExNiwgMTkxLCAyMjEsIDAuMTUpOyB9XG5cbi50YWJsZVN0YXRlQ2xhc3NlcyB0ZC5CbHVlLCAudGFibGVTdGF0ZUNsYXNzZXMgdGguQmx1ZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTE2LCAxOTEsIDIyMSwgMC4xNSkgIWltcG9ydGFudDsgfVxuXG4jc3RpY2tlci5pc1N0aWNrZWQge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMTIxcHg7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW46IDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1cHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4MHB4KSB7XG4gICAgI3N0aWNrZXIuaXNTdGlja2VkIHtcbiAgICAgIGxlZnQ6IDEyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAjc3RpY2tlci5pc1N0aWNrZWQge1xuICAgICAgbGVmdDogMTMuNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjAwcHgpIHtcbiAgICAjc3RpY2tlci5pc1N0aWNrZWQge1xuICAgICAgbGVmdDogMTVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgI3N0aWNrZXIuaXNTdGlja2VkIHtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAjc3RpY2tlci5pc1N0aWNrZWQge1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtOyB9IH1cbiAgI3N0aWNrZXIuaXNTdGlja2VkIGhyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5tb250aGx5QXR0ZW5kYW5jZSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gIC5tb250aGx5QXR0ZW5kYW5jZSB0ciB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IH1cbiAgICAubW9udGhseUF0dGVuZGFuY2UgdHI6bGFzdC1jaGlsZCB0ZCB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG4gIC5tb250aGx5QXR0ZW5kYW5jZSB0aCwgLm1vbnRobHlBdHRlbmRhbmNlIHRkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlMmUyZTI7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gICAgLm1vbnRobHlBdHRlbmRhbmNlIHRoIGEsIC5tb250aGx5QXR0ZW5kYW5jZSB0ZCBhIHtcbiAgICAgIGNvbG9yOiAjZjM2NzE3OyB9XG4gIC5tb250aGx5QXR0ZW5kYW5jZSAubW9udGhDZWxsIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gIC5tb250aGx5QXR0ZW5kYW5jZSAud2Vla0RheSB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLm1vbnRobHlBdHRlbmRhbmNlIC50YWJsZURlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm1vbnRobHlBdHRlbmRhbmNlIC50YWJsZURlc2NyaXB0aW9uIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI21vbnRobHlBdHRlbmRhbmNlVGFibGVXcmFwcGVyIC5sb2FkaW5nLCAjYnVpbGRpbmdKb3VybmFsVGFibGVXcmFwcGVyIC5sb2FkaW5nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaXNMb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pc0xvYWRpbmc6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB0b3A6IDA7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBjb250ZW50OiBcIlwiOyB9XG4gIC5pc0xvYWRpbmcgLmxvYWRpbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwMDtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuODEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuODEyNXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAgaW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24ge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwIDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIGJvcmRlci1sZWZ0OiBub25lO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpOyB9XG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYWRkb24gaSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMjsgfVxuXG4uY29sb3JwaWNrZXItY29tcG9uZW50LmlucHV0LWdyb3VwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5jb2xvcnBpY2tlci1jb21wb25lbnQgLmlucHV0LWdyb3VwLWFkZG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwOyB9XG5cbi5jb2xvcnBpY2tlci1kcm9wZG93bi1tZW51IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDtcbiAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgd2lkdGg6IGF1dG87IH1cbiAgLmNvbG9ycGlja2VyLWRyb3Bkb3duLW1lbnUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4ubXVsdGlwbGVSb3dDZWxsIHRkIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgLm11bHRpcGxlUm93Q2VsbCB0ZCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG50ZXh0YXJlYTpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5kYXRlUGlja2VyIGlucHV0IHtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbi5ib3JkZXJMZWZ0IHtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTJlMmUyOyB9XG5cbi53eXNpd3lnRXJyb3Igc3BhbiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTsgfVxuXG4uY29sb3JXcmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmNvbG9ycGljayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAyLjVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBtYXJnaW46IDAuMzEyNXJlbSAwLjMxMjVyZW0gMCAwLjMxMjVyZW07XG4gIGJhY2tncm91bmQ6ICNmNWY1ZjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlMmUyZTI7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDEwLCAxMCwgMTAsIDAuMSk7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBvcGFjaXR5OiAuNjtcbiAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlOyB9XG4gIC5jb2xvcnBpY2sgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTsgfVxuICAuY29sb3JwaWNrOmhvdmVyIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb2xvcnBpY2suWWVsbG93IHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmQ3Mzg7IH1cbiAgLmNvbG9ycGljay5HcmVlbiBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDA4MDAwOyB9XG4gIC5jb2xvcnBpY2suUmVkIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7IH1cbiAgLmNvbG9ycGljay5CbGFjayBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5jb2xvcnBpY2suUHVycGxlIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4QjQ3ODk7IH1cbiAgLmNvbG9ycGljay5EYXJrYmx1ZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjJBM0NGOyB9XG4gIC5jb2xvcnBpY2suTGlnaHRibHVlIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNDQUU2RTY7IH1cbiAgLmNvbG9ycGljay5PcmFuZ2Ugc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzNjcxNzsgfVxuICAuY29sb3JwaWNrLk9yZSBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOEExRDFEOyB9XG4gIC5jb2xvcnBpY2suV2hpdGUgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyOyB9XG4gIC5jb2xvcnBpY2suQnJvd24gc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNBMkUxMDsgfVxuICAuY29sb3JwaWNrLkJsdWUgc3BhbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc0YmZkZDsgfVxuXG5pbnB1dFtyZWFkb25seV06bm90KFtkaXNhYmxlZF0pLmZkYXRlcGlja2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBjb2xvcjogIzQzNDU0NztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuXG4uZXhjZWxFeHBvcnRXcmFwcGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZXhjZWxFeHBvcnRXcmFwcGVyIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmludm9pY2VUZW1wbGF0ZVZpc3VhbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaW52b2ljZVRlbXBsYXRlVmlzdWFsIGltZywgLmludm9pY2VUZW1wbGF0ZVZpc3VhbCBsYWJlbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmludm9pY2VUZW1wbGF0ZVZpc3VhbCBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICNlMmUyZTI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAzMDBtcyBlYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgLmludm9pY2VUZW1wbGF0ZVZpc3VhbCBsYWJlbCB7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgIC5pbnZvaWNlVGVtcGxhdGVWaXN1YWwgbGFiZWwge1xuICAgICAgICBwYWRkaW5nOiAwLjQ2ODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgICAuaW52b2ljZVRlbXBsYXRlVmlzdWFsIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuaW52b2ljZVRlbXBsYXRlVmlzdWFsIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cbiAgICAuaW52b2ljZVRlbXBsYXRlVmlzdWFsIGxhYmVsOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2YzNjcxNzsgfVxuICAuaW52b2ljZVRlbXBsYXRlVmlzdWFsIGlucHV0IHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLmludm9pY2VUZW1wbGF0ZVZpc3VhbCBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJvcmRlci1jb2xvcjogI2YzNjcxNzsgfVxuXG4udGFnTGlzdCB7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgLnRhZ0xpc3Qge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIC50YWdMaXN0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfSB9XG4gIC50YWdMaXN0IGEudGFnIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gIC5taWRkbGVSaWdodFdyYXBwZXIgYXJ0aWNsZSB7XG4gICAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm1pZGRsZVJpZ2h0V3JhcHBlciBhcnRpY2xlIHtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9IH1cblxuYXNpZGUgLmJsb2NrRmllbGRzIHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbmFzaWRlIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIGFzaWRlIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGFzaWRlIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIGFzaWRlIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBhc2lkZSAuYmxvY2tCdXR0b25Db250cm9sIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgYXNpZGUgLmJsb2NrQnV0dG9uQ29udHJvbCAuY29sdW1uLCBhc2lkZSAuYmxvY2tCdXR0b25Db250cm9sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICBhc2lkZSAuYmxvY2tCdXR0b25Db250cm9sIC5jb2x1bW4sIGFzaWRlIC5ibG9ja0J1dHRvbkNvbnRyb2wgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjQ2ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgIGFzaWRlIC5ibG9ja0J1dHRvbkNvbnRyb2wgLmNvbHVtbiwgYXNpZGUgLmJsb2NrQnV0dG9uQ29udHJvbCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgIGFzaWRlIC5ibG9ja0J1dHRvbkNvbnRyb2wgLmNvbHVtbiwgYXNpZGUgLmJsb2NrQnV0dG9uQ29udHJvbCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAuY2FsbG91dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuY2FsbG91dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9IH1cblxuLmNvbnN0cnVjdGlvblJldmVhbExpbmsge1xuICBjb2xvcjogIzQzNDU0NztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gIC5kaXZpc2lvbkRhc2hib2FyZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGl2aXNpb25EYXNoYm9hcmQge1xuICAgIHBhZGRpbmctbGVmdDogMC40Njg3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDApIHtcbiAgLmRpdmlzaW9uRGFzaGJvYXJkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZGl2aXNpb25EYXNoYm9hcmQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07IH0gfVxuXG4uZGl2aXNpb25EYXNoYm9hcmQgLnVpLXN0YXRlLWhpZ2hsaWdodCB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZGl2aXNpb25EYXNoYm9hcmQgLnVpLXN0YXRlLWhpZ2hsaWdodDphZnRlciwgLmRpdmlzaW9uRGFzaGJvYXJkIC51aS1zdGF0ZS1oaWdobGlnaHQ6YmVmb3JlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgIGxlZnQ6IDAuNjI1cmVtO1xuICAgIGJvdHRvbTogMS44NzVyZW07IH1cbiAgLmRpdmlzaW9uRGFzaGJvYXJkIC51aS1zdGF0ZS1oaWdobGlnaHQ6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYW5pbWF0aW9uOiBzY2FsZUJhY2tncm91bmQgLjVzIGVhc2Utb3V0O1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7XG4gICAgei1pbmRleDogMTA7IH1cbiAgLmRpdmlzaW9uRGFzaGJvYXJkIC51aS1zdGF0ZS1oaWdobGlnaHQ6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE0NiwgMTQ2LCAxNDYsIDAuOCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSg1OCwgNDYsIDE2LCAwLjE1KTtcbiAgICBhbmltYXRpb246IHB1bHNhdGUgMnMgZWFzZS1vdXQ7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgb3BhY2l0eTogMC4wOyB9XG5cbkBrZXlmcmFtZXMgcHVsc2F0ZSB7XG4gIDAlIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4IDAgcmdiYSg1OCwgNDYsIDE2LCAwLjE1KTtcbiAgICBvcGFjaXR5OiAwLjA7IH1cbiAgNTAlIHtcbiAgICBvcGFjaXR5OiAxLjA7IH1cbiAgMTAwJSB7XG4gICAgYm94LXNoYWRvdzogMCAwIDIwcHggMCByZ2JhKDU4LCA0NiwgMTYsIDAuMTUpO1xuICAgIG9wYWNpdHk6IDAuMDsgfSB9XG5cbkBrZXlmcmFtZXMgc2NhbGVCYWNrZ3JvdW5kIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OSk7XG4gICAgb3BhY2l0eTogMC42OyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5kaXZpc2lvbkRhc2hib2FyZCAuY2FsbG91dC5pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2UzZjJmODsgfVxuICAuZGl2aXNpb25EYXNoYm9hcmQgLmNhbGxvdXQuaW5mbyBhIHtcbiAgICBjb2xvcjogIzc0YmZkZDsgfVxuXG4uZGl2aXNpb25EYXNoYm9hcmQgLmNhbGxvdXQuZW1wdHkge1xuICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cblxuLmRpdmlzaW9uRGFzaGJvYXJkLnByZWxvYWRlcldyYXBwZXI6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDE3MSwgMTcxLCAxNzEsIDAuNik7IH1cblxuLmRpdmlzaW9uRGFzaGJvYXJkIC5yb3cge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7IH1cblxuLmRpdmlzaW9uRGFzaGJvYXJkIC5jb2x1bW4ueHNtYWxsLTI0LCAuZGl2aXNpb25EYXNoYm9hcmQgLnhzbWFsbC0yNC5jb2x1bW5zLCAuZGl2aXNpb25EYXNoYm9hcmQgLmNvbHVtbnMueHNtYWxsLTI0IHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmRpdmlzaW9uRGFzaGJvYXJkIC5jb2x1bW4ueHNtYWxsLTI0LCAuZGl2aXNpb25EYXNoYm9hcmQgLnhzbWFsbC0yNC5jb2x1bW5zLCAuZGl2aXNpb25EYXNoYm9hcmQgLmNvbHVtbnMueHNtYWxsLTI0IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC40Njg3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNDY4NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kaXZpc2lvbkRhc2hib2FyZCAuY29sdW1uLm1lZGl1bS0xMiwgLmRpdmlzaW9uRGFzaGJvYXJkIC5tZWRpdW0tMTIuY29sdW1ucywgLmRpdmlzaW9uRGFzaGJvYXJkIC5jb2x1bW5zLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgbWF4LXdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5kaXZpc2lvbkRhc2hib2FyZCAuY29sdW1uLm1lZGl1bS0xMiwgLmRpdmlzaW9uRGFzaGJvYXJkIC5tZWRpdW0tMTIuY29sdW1ucywgLmRpdmlzaW9uRGFzaGJvYXJkIC5jb2x1bW5zLm1lZGl1bS0xMiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNDY4NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjQ2ODc1cmVtOyB9IH1cblxuLmRhc2hib2FyZFdpZGdldCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYSg1OCwgNDYsIDE2LCAwLjE1KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwKSB7XG4gICAgLmRhc2hib2FyZFdpZGdldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmRhc2hib2FyZFdpZGdldCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAuZGFzaGJvYXJkV2lkZ2V0OmFmdGVyLCAuZGFzaGJvYXJkV2lkZ2V0OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmRhc2hib2FyZFdpZGdldDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzNiM2IzYjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTAwOyB9XG4gIC5kYXNoYm9hcmRXaWRnZXQ6YmVmb3JlIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuODEyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuODEyNXJlbTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDAuMTI1cmVtIHNvbGlkICNmMzY3MTc7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICAgIHdpZHRoOiAxLjYyNXJlbTtcbiAgICBoZWlnaHQ6IDEuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICB6LWluZGV4OiAxMDE7XG4gICAgYW5pbWF0aW9uOiBzcGlubmVyLWFuaW1hdGlvbiAuNjVzIGluZmluaXRlIGxpbmVhcjsgfVxuICAuZGFzaGJvYXJkV2lkZ2V0IGhlYWRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5MjkyOTI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgLmRhc2hib2FyZFdpZGdldCBoZWFkZXIgaDIge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICM0MzQ1NDc7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCBoZWFkZXIgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgaGVhZGVyIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IGhlYWRlciAuY29udHJvbHMge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IGhlYWRlcjpob3ZlciAuY29udHJvbHMge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZGFzaGJvYXJkV2lkZ2V0IGZvb3RlciB7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW0gMCAwLjkzNzVyZW07IH1cbiAgLmRhc2hib2FyZFdpZGdldCAuY29udGVudCB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAuOTM3NXJlbSAwIDAuOTM3NXJlbTtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLmNvbnRlbnQ6OmJlZm9yZSwgLmRhc2hib2FyZFdpZGdldCAuY29udGVudDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICBmbGV4LWJhc2lzOiAwO1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC5jb250ZW50OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAuZGFzaGJvYXJkV2lkZ2V0IC5saXN0VGFibGUge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICAuZGFzaGJvYXJkV2lkZ2V0LmlzRWRpdGVkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLmRhc2hib2FyZFdpZGdldC5pc0VkaXRlZCBpbnB1dFt0eXBlPVwidGV4dFwiXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gICAgLmRhc2hib2FyZFdpZGdldC5pc0VkaXRlZCBoZWFkZXIgLmNvbnRyb2xzIHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuZGFzaGJvYXJkV2lkZ2V0LnByZWxvYWRlcldyYXBwZXI6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC5kYXNoYm9hcmRXaWRnZXQgW25hbWU9XCJ3aWRnZXQtYWN0aW9uXCJdIHtcbiAgICAgIHdpZHRoOiA5NnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgICB3aWR0aDogMTUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgICB3aWR0aDogMjAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC5kYXNoYm9hcmRXaWRnZXQgW25hbWU9XCJ3aWRnZXQtYWN0aW9uXCJdIHtcbiAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAucmVzcG9uc2l2ZS10YWJsZS1ncmlkIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIHRyIHtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzdHJldGNoOyB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIHRkLCAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgdGgge1xuICAgICAgd2lkdGg6IDI1MHB4O1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAuY29udHJvbEJ1dHRvbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnJlc3BvbnNpdmUtdGFibGUtZ3JpZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMCkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC5yZXNwb25zaXZlLXRhYmxlLWdyaWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC5yZXNwb25zaXZlLXRhYmxlLWdyaWQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAucmVzcG9uc2l2ZS10YWJsZS1ncmlkIHtcbiAgICAgICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiB0ciB7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7IH1cbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIHRkLCAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgdGgge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMSB7XG4gICAgICB3aWR0aDogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTEge1xuICAgICAgICAgIHdpZHRoOiAycmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xIHtcbiAgICAgICAgICB3aWR0aDogMi42NjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMSB7XG4gICAgICAgICAgd2lkdGg6IDMuMTI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xIHtcbiAgICAgICAgICB3aWR0aDogNC4xNjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTEge1xuICAgICAgICAgIHdpZHRoOiA0LjE2NjY3JTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0yIHtcbiAgICAgIHdpZHRoOiAyLjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0yIHtcbiAgICAgICAgICB3aWR0aDogNHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMiB7XG4gICAgICAgICAgd2lkdGg6IDUuMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIge1xuICAgICAgICAgIHdpZHRoOiA2LjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0yIHtcbiAgICAgICAgICB3aWR0aDogOC4zMzMzM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIge1xuICAgICAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0zIHtcbiAgICAgIHdpZHRoOiAzLjc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMyB7XG4gICAgICAgICAgd2lkdGg6IDZyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTMge1xuICAgICAgICAgIHdpZHRoOiA4cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0zIHtcbiAgICAgICAgICB3aWR0aDogOS4zNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTMge1xuICAgICAgICAgIHdpZHRoOiAxMi41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMyB7XG4gICAgICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTQge1xuICAgICAgd2lkdGg6IDVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC00IHtcbiAgICAgICAgICB3aWR0aDogOHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNCB7XG4gICAgICAgICAgd2lkdGg6IDEwLjY2NjY3cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC00IHtcbiAgICAgICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNCB7XG4gICAgICAgICAgd2lkdGg6IDE2LjY2NjY3cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNCB7XG4gICAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC01IHtcbiAgICAgIHdpZHRoOiA2LjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNSB7XG4gICAgICAgICAgd2lkdGg6IDEwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC01IHtcbiAgICAgICAgICB3aWR0aDogMTMuMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTUge1xuICAgICAgICAgIHdpZHRoOiAxNS42MjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTUge1xuICAgICAgICAgIHdpZHRoOiAyMC44MzMzM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTUge1xuICAgICAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNiB7XG4gICAgICB3aWR0aDogNy41cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNiB7XG4gICAgICAgICAgd2lkdGg6IDEycmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC02IHtcbiAgICAgICAgICB3aWR0aDogMTZyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTYge1xuICAgICAgICAgIHdpZHRoOiAxOC43NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNiB7XG4gICAgICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNiB7XG4gICAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC03IHtcbiAgICAgIHdpZHRoOiA4Ljc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtNyB7XG4gICAgICAgICAgd2lkdGg6IDE0cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC03IHtcbiAgICAgICAgICB3aWR0aDogMTguNjY2NjdyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTcge1xuICAgICAgICAgIHdpZHRoOiAyMS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTcge1xuICAgICAgICAgIHdpZHRoOiAyOS4xNjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTcge1xuICAgICAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtOCB7XG4gICAgICB3aWR0aDogMTByZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC04IHtcbiAgICAgICAgICB3aWR0aDogMTZyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTgge1xuICAgICAgICAgIHdpZHRoOiAyMS4zMzMzM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtOCB7XG4gICAgICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC04IHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC04IHtcbiAgICAgICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTkge1xuICAgICAgd2lkdGg6IDExLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtOSB7XG4gICAgICAgICAgd2lkdGg6IDE4cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC05IHtcbiAgICAgICAgICB3aWR0aDogMjRyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTkge1xuICAgICAgICAgIHdpZHRoOiAyOC4xMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTkge1xuICAgICAgICAgIHdpZHRoOiAzNy41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtOSB7XG4gICAgICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTEwIHtcbiAgICAgIHdpZHRoOiAxMi41cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTAge1xuICAgICAgICAgIHdpZHRoOiAyMHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTAge1xuICAgICAgICAgIHdpZHRoOiAyNi42NjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTAge1xuICAgICAgICAgIHdpZHRoOiAzMS4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTAge1xuICAgICAgICAgIHdpZHRoOiA0MS42NjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTEwIHtcbiAgICAgICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTExIHtcbiAgICAgIHdpZHRoOiAxMy43NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTExIHtcbiAgICAgICAgICB3aWR0aDogMjJyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTExIHtcbiAgICAgICAgICB3aWR0aDogMjkuMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTExIHtcbiAgICAgICAgICB3aWR0aDogMzQuMzc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xMSB7XG4gICAgICAgICAgd2lkdGg6IDQ1LjgzMzMzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTEge1xuICAgICAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTIge1xuICAgICAgd2lkdGg6IDE1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTIge1xuICAgICAgICAgIHdpZHRoOiAyNHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTIge1xuICAgICAgICAgIHdpZHRoOiAzMnJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTIge1xuICAgICAgICAgIHdpZHRoOiAzNy41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xMiB7XG4gICAgICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTIge1xuICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTMge1xuICAgICAgd2lkdGg6IDE2LjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTMge1xuICAgICAgICAgIHdpZHRoOiAyNnJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTMge1xuICAgICAgICAgIHdpZHRoOiAzNC42NjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTMge1xuICAgICAgICAgIHdpZHRoOiA0MC42MjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTEzIHtcbiAgICAgICAgICB3aWR0aDogNTQuMTY2NjdyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xMyB7XG4gICAgICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNCB7XG4gICAgICB3aWR0aDogMTcuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgICB3aWR0aDogMjhyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgICB3aWR0aDogMzcuMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgICB3aWR0aDogNDMuNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE0IHtcbiAgICAgICAgICB3aWR0aDogNTguMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNCB7XG4gICAgICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNSB7XG4gICAgICB3aWR0aDogMTguNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNSB7XG4gICAgICAgICAgd2lkdGg6IDMwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNSB7XG4gICAgICAgICAgd2lkdGg6IDQwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNSB7XG4gICAgICAgICAgd2lkdGg6IDQ2Ljg3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTUge1xuICAgICAgICAgIHdpZHRoOiA2Mi41cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTUge1xuICAgICAgICAgIHdpZHRoOiA2Mi41JTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICB3aWR0aDogMjByZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgICAgd2lkdGg6IDMycmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgICAgd2lkdGg6IDQyLjY2NjY3cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNiB7XG4gICAgICAgICAgd2lkdGg6IDY2LjY2NjY3cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTYge1xuICAgICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTcge1xuICAgICAgd2lkdGg6IDIxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTcge1xuICAgICAgICAgIHdpZHRoOiAzNHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTcge1xuICAgICAgICAgIHdpZHRoOiA0NS4zMzMzM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTcge1xuICAgICAgICAgIHdpZHRoOiA1My4xMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE3IHtcbiAgICAgICAgICB3aWR0aDogNzAuODMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xNyB7XG4gICAgICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xOCB7XG4gICAgICB3aWR0aDogMjIuNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE4IHtcbiAgICAgICAgICB3aWR0aDogMzZyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE4IHtcbiAgICAgICAgICB3aWR0aDogNDhyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE4IHtcbiAgICAgICAgICB3aWR0aDogNTYuMjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE4IHtcbiAgICAgICAgICB3aWR0aDogNzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xOCB7XG4gICAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xOSB7XG4gICAgICB3aWR0aDogMjMuNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xOSB7XG4gICAgICAgICAgd2lkdGg6IDM4cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xOSB7XG4gICAgICAgICAgd2lkdGg6IDUwLjY2NjY3cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0xOSB7XG4gICAgICAgICAgd2lkdGg6IDU5LjM3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMTkge1xuICAgICAgICAgIHdpZHRoOiA3OS4xNjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTE5IHtcbiAgICAgICAgICB3aWR0aDogNzkuMTY2NjclOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIwIHtcbiAgICAgIHdpZHRoOiAyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIwIHtcbiAgICAgICAgICB3aWR0aDogNDByZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIwIHtcbiAgICAgICAgICB3aWR0aDogNTMuMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIwIHtcbiAgICAgICAgICB3aWR0aDogNjIuNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjAge1xuICAgICAgICAgIHdpZHRoOiA4My4zMzMzM3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIwIHtcbiAgICAgICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIxIHtcbiAgICAgIHdpZHRoOiAyNi4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIxIHtcbiAgICAgICAgICB3aWR0aDogNDJyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIxIHtcbiAgICAgICAgICB3aWR0aDogNTZyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIxIHtcbiAgICAgICAgICB3aWR0aDogNjUuNjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0yMSB7XG4gICAgICAgICAgd2lkdGg6IDg3LjVyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0yMSB7XG4gICAgICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIyIHtcbiAgICAgIHdpZHRoOiAyNy41cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjIge1xuICAgICAgICAgIHdpZHRoOiA0NHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjIge1xuICAgICAgICAgIHdpZHRoOiA1OC42NjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjIge1xuICAgICAgICAgIHdpZHRoOiA2OC43NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjIge1xuICAgICAgICAgIHdpZHRoOiA5MS42NjY2N3JlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIyIHtcbiAgICAgICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIzIHtcbiAgICAgIHdpZHRoOiAyOC43NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIzIHtcbiAgICAgICAgICB3aWR0aDogNDZyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIzIHtcbiAgICAgICAgICB3aWR0aDogNjEuMzMzMzNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHNtYWxsLTIzIHtcbiAgICAgICAgICB3aWR0aDogNzEuODc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0yMyB7XG4gICAgICAgICAgd2lkdGg6IDk1LjgzMzMzcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjMge1xuICAgICAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjQge1xuICAgICAgd2lkdGg6IDMwcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjQge1xuICAgICAgICAgIHdpZHRoOiA0OHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjQge1xuICAgICAgICAgIHdpZHRoOiA2NHJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjQge1xuICAgICAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14c21hbGwtMjQge1xuICAgICAgICAgIHdpZHRoOiAxMDByZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhzbWFsbC0yNCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xIHtcbiAgICAgICAgd2lkdGg6IDJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xIHtcbiAgICAgICAgd2lkdGg6IDIuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xIHtcbiAgICAgICAgd2lkdGg6IDMuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMSB7XG4gICAgICAgIHdpZHRoOiA0LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTEge1xuICAgICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yIHtcbiAgICAgICAgd2lkdGg6IDRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yIHtcbiAgICAgICAgd2lkdGg6IDUuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yIHtcbiAgICAgICAgd2lkdGg6IDYuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yIHtcbiAgICAgICAgd2lkdGg6IDguMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMiB7XG4gICAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTMge1xuICAgICAgICB3aWR0aDogNnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTMge1xuICAgICAgICB3aWR0aDogOHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTMge1xuICAgICAgICB3aWR0aDogOS4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0zIHtcbiAgICAgICAgd2lkdGg6IDEyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMyB7XG4gICAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTQge1xuICAgICAgICB3aWR0aDogOHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTQge1xuICAgICAgICB3aWR0aDogMTAuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC00IHtcbiAgICAgICAgd2lkdGg6IDEyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC00IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTQge1xuICAgICAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtNSB7XG4gICAgICAgIHdpZHRoOiAxMHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTUge1xuICAgICAgICB3aWR0aDogMTMuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC01IHtcbiAgICAgICAgd2lkdGg6IDE1LjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTUge1xuICAgICAgICB3aWR0aDogMjAuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtNSB7XG4gICAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC02IHtcbiAgICAgICAgd2lkdGg6IDEycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtNiB7XG4gICAgICAgIHdpZHRoOiAxNnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTYge1xuICAgICAgICB3aWR0aDogMTguNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC02IHtcbiAgICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTYge1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtNyB7XG4gICAgICAgIHdpZHRoOiAxNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTcge1xuICAgICAgICB3aWR0aDogMTguNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC03IHtcbiAgICAgICAgd2lkdGg6IDIxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTcge1xuICAgICAgICB3aWR0aDogMjkuMTY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtNyB7XG4gICAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC04IHtcbiAgICAgICAgd2lkdGg6IDE2cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtOCB7XG4gICAgICAgIHdpZHRoOiAyMS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTgge1xuICAgICAgICB3aWR0aDogMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC04IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTgge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtOSB7XG4gICAgICAgIHdpZHRoOiAxOHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTkge1xuICAgICAgICB3aWR0aDogMjRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC05IHtcbiAgICAgICAgd2lkdGg6IDI4LjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTkge1xuICAgICAgICB3aWR0aDogMzcuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC05IHtcbiAgICAgICAgd2lkdGg6IDM3LjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTAge1xuICAgICAgICB3aWR0aDogMjByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xMCB7XG4gICAgICAgIHdpZHRoOiAyNi42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTEwIHtcbiAgICAgICAgd2lkdGg6IDMxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTEge1xuICAgICAgICB3aWR0aDogMjJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xMSB7XG4gICAgICAgIHdpZHRoOiAyOS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTExIHtcbiAgICAgICAgd2lkdGg6IDM0LjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTExIHtcbiAgICAgICAgd2lkdGg6IDQ1LjgzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTExIHtcbiAgICAgICAgd2lkdGg6IDQ1LjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTEyIHtcbiAgICAgICAgd2lkdGg6IDI0cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTIge1xuICAgICAgICB3aWR0aDogMzJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xMiB7XG4gICAgICAgIHdpZHRoOiAzNy41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTIge1xuICAgICAgICB3aWR0aDogNTByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTIge1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTMge1xuICAgICAgICB3aWR0aDogMjZyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xMyB7XG4gICAgICAgIHdpZHRoOiAzNC42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTEzIHtcbiAgICAgICAgd2lkdGg6IDQwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTEzIHtcbiAgICAgICAgd2lkdGg6IDU0LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTEzIHtcbiAgICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE0IHtcbiAgICAgICAgd2lkdGg6IDI4cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTQge1xuICAgICAgICB3aWR0aDogMzcuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xNCB7XG4gICAgICAgIHdpZHRoOiA0My43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE0IHtcbiAgICAgICAgd2lkdGg6IDU4LjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE0IHtcbiAgICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE1IHtcbiAgICAgICAgd2lkdGg6IDMwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTUge1xuICAgICAgICB3aWR0aDogNDByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xNSB7XG4gICAgICAgIHdpZHRoOiA0Ni44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xNSB7XG4gICAgICAgIHdpZHRoOiA2Mi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE1IHtcbiAgICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTYge1xuICAgICAgICB3aWR0aDogMzJyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xNiB7XG4gICAgICAgIHdpZHRoOiA0Mi42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE2IHtcbiAgICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTYge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTYge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTcge1xuICAgICAgICB3aWR0aDogMzRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xNyB7XG4gICAgICAgIHdpZHRoOiA0NS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE3IHtcbiAgICAgICAgd2lkdGg6IDUzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE3IHtcbiAgICAgICAgd2lkdGg6IDcwLjgzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE3IHtcbiAgICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE4IHtcbiAgICAgICAgd2lkdGg6IDM2cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTgge1xuICAgICAgICB3aWR0aDogNDhyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xOCB7XG4gICAgICAgIHdpZHRoOiA1Ni4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE4IHtcbiAgICAgICAgd2lkdGg6IDc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE4IHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTE5IHtcbiAgICAgICAgd2lkdGg6IDM4cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMTkge1xuICAgICAgICB3aWR0aDogNTAuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xOSB7XG4gICAgICAgIHdpZHRoOiA1OS4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xOSB7XG4gICAgICAgIHdpZHRoOiA3OS4xNjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0xOSB7XG4gICAgICAgIHdpZHRoOiA3OS4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yMCB7XG4gICAgICAgIHdpZHRoOiA0MHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIwIHtcbiAgICAgICAgd2lkdGg6IDUzLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMjAge1xuICAgICAgICB3aWR0aDogNjIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIwIHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIwIHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIxIHtcbiAgICAgICAgd2lkdGg6IDQycmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMjEge1xuICAgICAgICB3aWR0aDogNTZyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yMSB7XG4gICAgICAgIHdpZHRoOiA2NS42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yMSB7XG4gICAgICAgIHdpZHRoOiA4Ny41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIxIHtcbiAgICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMjIge1xuICAgICAgICB3aWR0aDogNDRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yMiB7XG4gICAgICAgIHdpZHRoOiA1OC42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIyIHtcbiAgICAgICAgd2lkdGg6IDY4Ljc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMjMge1xuICAgICAgICB3aWR0aDogNDZyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yMyB7XG4gICAgICAgIHdpZHRoOiA2MS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIzIHtcbiAgICAgICAgd2lkdGg6IDcxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIzIHtcbiAgICAgICAgd2lkdGg6IDk1LjgzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTIzIHtcbiAgICAgICAgd2lkdGg6IDk1LjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTI0IHtcbiAgICAgICAgd2lkdGg6IDQ4cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtc21hbGwtMjQge1xuICAgICAgICB3aWR0aDogNjRyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yNCB7XG4gICAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXNtYWxsLTI0IHtcbiAgICAgICAgd2lkdGg6IDEwMHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1zbWFsbC0yNCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTEge1xuICAgICAgICB3aWR0aDogMi42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xIHtcbiAgICAgICAgd2lkdGg6IDMuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTEge1xuICAgICAgICB3aWR0aDogNC4xNjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMSB7XG4gICAgICAgIHdpZHRoOiA0LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yIHtcbiAgICAgICAgd2lkdGg6IDUuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMiB7XG4gICAgICAgIHdpZHRoOiA2LjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTIge1xuICAgICAgICB3aWR0aDogOC4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMiB7XG4gICAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0zIHtcbiAgICAgICAgd2lkdGg6IDhyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMyB7XG4gICAgICAgIHdpZHRoOiA5LjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0zIHtcbiAgICAgICAgd2lkdGg6IDEyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTMge1xuICAgICAgICB3aWR0aDogMTIuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tNCB7XG4gICAgICAgIHdpZHRoOiAxMC42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS00IHtcbiAgICAgICAgd2lkdGg6IDEyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tNCB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tNCB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tNSB7XG4gICAgICAgIHdpZHRoOiAxMy4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS01IHtcbiAgICAgICAgd2lkdGg6IDE1LjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS01IHtcbiAgICAgICAgd2lkdGg6IDIwLjgzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS01IHtcbiAgICAgICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS02IHtcbiAgICAgICAgd2lkdGg6IDE2cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTYge1xuICAgICAgICB3aWR0aDogMTguNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tNiB7XG4gICAgICAgIHdpZHRoOiAyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tNiB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tNyB7XG4gICAgICAgIHdpZHRoOiAxOC42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS03IHtcbiAgICAgICAgd2lkdGg6IDIxLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS03IHtcbiAgICAgICAgd2lkdGg6IDI5LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS03IHtcbiAgICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS04IHtcbiAgICAgICAgd2lkdGg6IDIxLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTgge1xuICAgICAgICB3aWR0aDogMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tOCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tOCB7XG4gICAgICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tOSB7XG4gICAgICAgIHdpZHRoOiAyNHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS05IHtcbiAgICAgICAgd2lkdGg6IDI4LjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS05IHtcbiAgICAgICAgd2lkdGg6IDM3LjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTkge1xuICAgICAgICB3aWR0aDogMzcuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTAge1xuICAgICAgICB3aWR0aDogMjYuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTAge1xuICAgICAgICB3aWR0aDogMzEuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTEwIHtcbiAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xMSB7XG4gICAgICAgIHdpZHRoOiAyOS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xMSB7XG4gICAgICAgIHdpZHRoOiAzNC4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTEge1xuICAgICAgICB3aWR0aDogNDUuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTExIHtcbiAgICAgICAgd2lkdGg6IDQ1LjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xMiB7XG4gICAgICAgIHdpZHRoOiAzMnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xMiB7XG4gICAgICAgIHdpZHRoOiAzNy41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTEyIHtcbiAgICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTMge1xuICAgICAgICB3aWR0aDogMzQuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTMge1xuICAgICAgICB3aWR0aDogNDAuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTEzIHtcbiAgICAgICAgd2lkdGg6IDU0LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xMyB7XG4gICAgICAgIHdpZHRoOiA1NC4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTQge1xuICAgICAgICB3aWR0aDogMzcuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTQge1xuICAgICAgICB3aWR0aDogNDMuNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTQge1xuICAgICAgICB3aWR0aDogNTguMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTE0IHtcbiAgICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xNSB7XG4gICAgICAgIHdpZHRoOiA0MHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xNSB7XG4gICAgICAgIHdpZHRoOiA0Ni44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTUge1xuICAgICAgICB3aWR0aDogNjIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTUge1xuICAgICAgICB3aWR0aDogNjIuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTYge1xuICAgICAgICB3aWR0aDogNDIuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTYge1xuICAgICAgICB3aWR0aDogNTByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTYge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTE2IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xNyB7XG4gICAgICAgIHdpZHRoOiA0NS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xNyB7XG4gICAgICAgIHdpZHRoOiA1My4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTcge1xuICAgICAgICB3aWR0aDogNzAuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTE3IHtcbiAgICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xOCB7XG4gICAgICAgIHdpZHRoOiA0OHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xOCB7XG4gICAgICAgIHdpZHRoOiA1Ni4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xOCB7XG4gICAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTgge1xuICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTE5IHtcbiAgICAgICAgd2lkdGg6IDUwLjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTE5IHtcbiAgICAgICAgd2lkdGg6IDU5LjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0xOSB7XG4gICAgICAgIHdpZHRoOiA3OS4xNjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMTkge1xuICAgICAgICB3aWR0aDogNzkuMTY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTIwIHtcbiAgICAgICAgd2lkdGg6IDUzLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTIwIHtcbiAgICAgICAgd2lkdGg6IDYyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMjAge1xuICAgICAgICB3aWR0aDogODMuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTIwIHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yMSB7XG4gICAgICAgIHdpZHRoOiA1NnJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yMSB7XG4gICAgICAgIHdpZHRoOiA2NS42MjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMjEge1xuICAgICAgICB3aWR0aDogODcuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMjEge1xuICAgICAgICB3aWR0aDogODcuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMjIge1xuICAgICAgICB3aWR0aDogNTguNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMjIge1xuICAgICAgICB3aWR0aDogNjguNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTIyIHtcbiAgICAgICAgd2lkdGg6IDkxLjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yMyB7XG4gICAgICAgIHdpZHRoOiA2MS4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yMyB7XG4gICAgICAgIHdpZHRoOiA3MS44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1tZWRpdW0tMjMge1xuICAgICAgICB3aWR0aDogOTUuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTIzIHtcbiAgICAgICAgd2lkdGg6IDk1LjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yNCB7XG4gICAgICAgIHdpZHRoOiA2NHJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yNCB7XG4gICAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLW1lZGl1bS0yNCB7XG4gICAgICAgIHdpZHRoOiAxMDByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbWVkaXVtLTI0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0xIHtcbiAgICAgICAgd2lkdGg6IDMuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMSB7XG4gICAgICAgIHdpZHRoOiA0LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTEge1xuICAgICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0yIHtcbiAgICAgICAgd2lkdGg6IDYuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0yIHtcbiAgICAgICAgd2lkdGg6IDguMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMiB7XG4gICAgICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTMge1xuICAgICAgICB3aWR0aDogOS4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0zIHtcbiAgICAgICAgd2lkdGg6IDEyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMyB7XG4gICAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTQge1xuICAgICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTQge1xuICAgICAgICB3aWR0aDogMTYuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtNCB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS01IHtcbiAgICAgICAgd2lkdGg6IDE1LjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTUge1xuICAgICAgICB3aWR0aDogMjAuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtNSB7XG4gICAgICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS02IHtcbiAgICAgICAgd2lkdGg6IDE4Ljc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtNiB7XG4gICAgICAgIHdpZHRoOiAyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS02IHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTcge1xuICAgICAgICB3aWR0aDogMjEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtNyB7XG4gICAgICAgIHdpZHRoOiAyOS4xNjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS03IHtcbiAgICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTgge1xuICAgICAgICB3aWR0aDogMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS04IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTgge1xuICAgICAgICB3aWR0aDogMzMuMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtOSB7XG4gICAgICAgIHdpZHRoOiAyOC4xMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS05IHtcbiAgICAgICAgd2lkdGg6IDM3LjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtOSB7XG4gICAgICAgIHdpZHRoOiAzNy41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTEwIHtcbiAgICAgICAgd2lkdGg6IDMxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTEge1xuICAgICAgICB3aWR0aDogMzQuMzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTEge1xuICAgICAgICB3aWR0aDogNDUuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTEge1xuICAgICAgICB3aWR0aDogNDUuODMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTIge1xuICAgICAgICB3aWR0aDogMzcuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTEyIHtcbiAgICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTEyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTEzIHtcbiAgICAgICAgd2lkdGg6IDQwLjYyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTEzIHtcbiAgICAgICAgd2lkdGg6IDU0LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTEzIHtcbiAgICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTE0IHtcbiAgICAgICAgd2lkdGg6IDQzLjc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTQge1xuICAgICAgICB3aWR0aDogNTguMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTQge1xuICAgICAgICB3aWR0aDogNTguMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTUge1xuICAgICAgICB3aWR0aDogNDYuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTUge1xuICAgICAgICB3aWR0aDogNjIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0xNSB7XG4gICAgICAgIHdpZHRoOiA2Mi41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTE2IHtcbiAgICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTYge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTYge1xuICAgICAgICB3aWR0aDogNjYuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTcge1xuICAgICAgICB3aWR0aDogNTMuMTI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTcge1xuICAgICAgICB3aWR0aDogNzAuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTcge1xuICAgICAgICB3aWR0aDogNzAuODMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMTgge1xuICAgICAgICB3aWR0aDogNTYuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0xOCB7XG4gICAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0xOCB7XG4gICAgICAgIHdpZHRoOiA3NSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0xOSB7XG4gICAgICAgIHdpZHRoOiA1OS4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0xOSB7XG4gICAgICAgIHdpZHRoOiA3OS4xNjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0xOSB7XG4gICAgICAgIHdpZHRoOiA3OS4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0yMCB7XG4gICAgICAgIHdpZHRoOiA2Mi41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjAge1xuICAgICAgICB3aWR0aDogODMuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjAge1xuICAgICAgICB3aWR0aDogODMuMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjEge1xuICAgICAgICB3aWR0aDogNjUuNjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjEge1xuICAgICAgICB3aWR0aDogODcuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0yMSB7XG4gICAgICAgIHdpZHRoOiA4Ny41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLWxhcmdlLTIyIHtcbiAgICAgICAgd2lkdGg6IDY4Ljc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjMge1xuICAgICAgICB3aWR0aDogNzEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjMge1xuICAgICAgICB3aWR0aDogOTUuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjMge1xuICAgICAgICB3aWR0aDogOTUuODMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjQge1xuICAgICAgICB3aWR0aDogNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC1sYXJnZS0yNCB7XG4gICAgICAgIHdpZHRoOiAxMDByZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wtbGFyZ2UtMjQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0xIHtcbiAgICAgICAgd2lkdGg6IDQuMTY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTEge1xuICAgICAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMiB7XG4gICAgICAgIHdpZHRoOiA4LjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0yIHtcbiAgICAgICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTMge1xuICAgICAgICB3aWR0aDogMTIuNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMyB7XG4gICAgICAgIHdpZHRoOiAxMi41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS00IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS00IHtcbiAgICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS01IHtcbiAgICAgICAgd2lkdGg6IDIwLjgzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS01IHtcbiAgICAgICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS02IHtcbiAgICAgICAgd2lkdGg6IDI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS02IHtcbiAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS03IHtcbiAgICAgICAgd2lkdGg6IDI5LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS03IHtcbiAgICAgICAgd2lkdGg6IDI5LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS04IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS04IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS05IHtcbiAgICAgICAgd2lkdGg6IDM3LjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTkge1xuICAgICAgICB3aWR0aDogMzcuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMTAge1xuICAgICAgICB3aWR0aDogNDEuNjY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTEwIHtcbiAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0xMSB7XG4gICAgICAgIHdpZHRoOiA0NS44MzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMTEge1xuICAgICAgICB3aWR0aDogNDUuODMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTEyIHtcbiAgICAgICAgd2lkdGg6IDUwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0xMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMTMge1xuICAgICAgICB3aWR0aDogNTQuMTY2NjdyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTEzIHtcbiAgICAgICAgd2lkdGg6IDU0LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0xNCB7XG4gICAgICAgIHdpZHRoOiA1OC4zMzMzM3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMTQge1xuICAgICAgICB3aWR0aDogNTguMzMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTE1IHtcbiAgICAgICAgd2lkdGg6IDYyLjVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTE1IHtcbiAgICAgICAgd2lkdGg6IDYyLjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTE2IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0xNiB7XG4gICAgICAgIHdpZHRoOiA2Ni42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMTcge1xuICAgICAgICB3aWR0aDogNzAuODMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTE3IHtcbiAgICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0xOCB7XG4gICAgICAgIHdpZHRoOiA3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMTgge1xuICAgICAgICB3aWR0aDogNzUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTE5IHtcbiAgICAgICAgd2lkdGg6IDc5LjE2NjY3cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0xOSB7XG4gICAgICAgIHdpZHRoOiA3OS4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMjAge1xuICAgICAgICB3aWR0aDogODMuMzMzMzNyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTIwIHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0yMSB7XG4gICAgICAgIHdpZHRoOiA4Ny41cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0yMSB7XG4gICAgICAgIHdpZHRoOiA4Ny41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0yMiB7XG4gICAgICAgIHdpZHRoOiA5MS42NjY2N3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteGxhcmdlLTIzIHtcbiAgICAgICAgd2lkdGg6IDk1LjgzMzMzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0yMyB7XG4gICAgICAgIHdpZHRoOiA5NS44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14bGFyZ2UtMjQge1xuICAgICAgICB3aWR0aDogMTAwcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXhsYXJnZS0yNCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXh4bGFyZ2UtMSB7XG4gICAgICAgIHdpZHRoOiA0LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTIge1xuICAgICAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS0zIHtcbiAgICAgICAgd2lkdGg6IDEyLjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXh4bGFyZ2UtNCB7XG4gICAgICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS01IHtcbiAgICAgICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTYge1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXh4bGFyZ2UtNyB7XG4gICAgICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS04IHtcbiAgICAgICAgd2lkdGg6IDMzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTkge1xuICAgICAgICB3aWR0aDogMzcuNSU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS0xMCB7XG4gICAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS0xMSB7XG4gICAgICAgIHdpZHRoOiA0NS44MzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS0xMiB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS0xMyB7XG4gICAgICAgIHdpZHRoOiA1NC4xNjY2NyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS0xNCB7XG4gICAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgICAuZGFzaGJvYXJkV2lkZ2V0IC50YWJsZVNjcm9sbEhhbGYgLnRjb2wteHhsYXJnZS0xNSB7XG4gICAgICAgIHdpZHRoOiA2Mi41JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTE2IHtcbiAgICAgICAgd2lkdGg6IDY2LjY2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTE3IHtcbiAgICAgICAgd2lkdGg6IDcwLjgzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTE4IHtcbiAgICAgICAgd2lkdGg6IDc1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTE5IHtcbiAgICAgICAgd2lkdGg6IDc5LjE2NjY3JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTIwIHtcbiAgICAgICAgd2lkdGg6IDgzLjMzMzMzJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAgIC5kYXNoYm9hcmRXaWRnZXQgLnRhYmxlU2Nyb2xsSGFsZiAudGNvbC14eGxhcmdlLTIxIHtcbiAgICAgICAgd2lkdGg6IDg3LjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXh4bGFyZ2UtMjIge1xuICAgICAgICB3aWR0aDogOTEuNjY2NjclOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXh4bGFyZ2UtMjMge1xuICAgICAgICB3aWR0aDogOTUuODMzMzMlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgICAgLmRhc2hib2FyZFdpZGdldCAudGFibGVTY3JvbGxIYWxmIC50Y29sLXh4bGFyZ2UtMjQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5kYXNoYm9hcmRXaWRnZXQucHJlbG9hZGVySXNWaXNpYmxlOmFmdGVyLCAuZGFzaGJvYXJkV2lkZ2V0LnByZWxvYWRlcklzVmlzaWJsZTpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLmRhc2hib2FyZFdpZGdldCBbbmFtZT1cIndpZGdldC1hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmRhc2hib2FyZFdpZGdldCBbbmFtZT1cIndpZGdldC1hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5kYXNoYm9hcmRXaWRnZXQgW25hbWU9XCJ3aWRnZXQtYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC5kYXNoYm9hcmRXaWRnZXQgW25hbWU9XCJ3aWRnZXQtYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5kYXNoYm9hcmRXaWRnZXQgW25hbWU9XCJ3aWRnZXQtYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC5kYXNoYm9hcmRXaWRnZXQgW25hbWU9XCJ3aWRnZXQtYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAuZGFzaGJvYXJkV2lkZ2V0IFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbi51aS1zb3J0YWJsZS1oZWxwZXI6aG92ZXIgaGVhZGVyIC5jb250cm9scyB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnVpLXNvcnRhYmxlLWhlbHBlciBoZWFkZXIgLmNvbnRyb2xzIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZGFoc2JvYXJkRHJvcGRvd24ge1xuICB6LWluZGV4OiAxMDtcbiAgd2lkdGg6IDEyLjVyZW07XG4gIHJpZ2h0OiAwO1xuICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgcmdiYSgyMTUsIDIwNiwgMTg1LCAwLjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDFyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMS4xMjVyZW0pO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjNzIGVhc2UsIG9wYWNpdHkgLjNzIGVhc2U7IH1cbiAgLmRhaHNib2FyZERyb3Bkb3duOmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjc1cmVtO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgei1pbmRleDogODk7IH1cbiAgLmRhaHNib2FyZERyb3Bkb3duOmFmdGVyIHtcbiAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICB3aWR0aDogMDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHJnYmEoMjE1LCAyMDYsIDE4NSwgMC41KSB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC44NzVyZW07XG4gICAgbGVmdDogOXB4O1xuICAgIHotaW5kZXg6IDg4OyB9XG4gIC5kYWhzYm9hcmREcm9wZG93biBsaSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDMwMG1zIGVhc2U7IH1cbiAgICAuZGFoc2JvYXJkRHJvcGRvd24gbGk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODsgfVxuICAgIC5kYWhzYm9hcmREcm9wZG93biBsaSBhIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiAjNTU1OyB9XG4gIC5kYWhzYm9hcmREcm9wZG93bi5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3BhY2l0eTogMTsgfVxuICAgIC5kYWhzYm9hcmREcm9wZG93bi5pcy1vcGVuOmJlZm9yZSB7XG4gICAgICBsZWZ0OiAxMS4wNjI1cmVtOyB9XG4gICAgLmRhaHNib2FyZERyb3Bkb3duLmlzLW9wZW46YWZ0ZXIge1xuICAgICAgbGVmdDogMTFyZW07IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW5uZXItYW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC1tb3ota2V5ZnJhbWVzIHNwaW5uZXItYW5pbWF0aW9uIHtcbiAgMCUge1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC1tcy1rZXlmcmFtZXMgc3Bpbm5lci1hbmltYXRpb24ge1xuICAwJSB7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC1vLWtleWZyYW1lcyBzcGlubmVyLWFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgxMDBkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBzcGlubmVyLWFuaW1hdGlvbiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtZGF5XCJdIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gICAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtZGF5XCJdIHtcbiAgICAgIHdpZHRoOiAxMjhweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gICAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtZGF5XCJdIHtcbiAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAgIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtam9ib3JkZXJcIl0ge1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1qb2JvcmRlclwiXSB7XG4gICAgICB3aWR0aDogMTI4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICAgIHdpZHRoOiAyMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAgIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtam9ib3JkZXJcIl0ge1xuICAgICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbi50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLXJlY29yZFwiXSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDgwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtam9ib3JkZXJcIl0ge1xuICAgIHdpZHRoOiAxMjVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtam9ib3JkZXJcIl0ge1xuICAgIHdpZHRoOiAxNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDEwLjQxNjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1kYXlcIl0ge1xuICAgIHdpZHRoOiA3MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgd2lkdGg6IDExMi41cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgd2lkdGg6IDkuMzc1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1yZWNvcmRcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1yZWNvcmRcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtcmVjb3JkXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtcmVjb3JkXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1kYXlcIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1kYXlcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtam9ib3JkZXJcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLXJlY29yZFwiXSB7XG4gICAgd2lkdGg6IDQ0OHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1yZWNvcmRcIl0ge1xuICAgIHdpZHRoOiA3MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLXJlY29yZFwiXSB7XG4gICAgd2lkdGg6IDkzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1yZWNvcmRcIl0ge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuXG4uZGFpbHktY29uc3RydWN0aW9uLXJlY29yZCAubGlzdFRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmRhaWx5LWNvbnN0cnVjdGlvbi1yZWNvcmQgdGgsIC5kYWlseS1jb25zdHJ1Y3Rpb24tcmVjb3JkIHRkIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMC4zNzVyZW07XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmRhaWx5LWNvbnN0cnVjdGlvbi1yZWNvcmQgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1kYXlcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAuZGFpbHktY29uc3RydWN0aW9uLXJlY29yZCBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLmRhaWx5LWNvbnN0cnVjdGlvbi1yZWNvcmQgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1kYXlcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLmRhaWx5LWNvbnN0cnVjdGlvbi1yZWNvcmQgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1kYXlcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi5kYWlseS1jb25zdHJ1Y3Rpb24tcmVjb3JkLXdpZGdldCB0ZCB7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuMzc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcmZyb21cIl0ge1xuICAgIHdpZHRoOiAxOTJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcmZyb21cIl0ge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1oZWFkZXJmcm9tXCJdIHtcbiAgICB3aWR0aDogNDAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1oZWFkZXJmcm9tXCJdIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctaGVhZGVydG9cIl0ge1xuICAgIHdpZHRoOiAxOTJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcnRvXCJdIHtcbiAgICB3aWR0aDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctaGVhZGVydG9cIl0ge1xuICAgIHdpZHRoOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcnRvXCJdIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctbWVzc2FnZXN1YmplY3RcIl0ge1xuICAgIHdpZHRoOiAyMjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLW1lc3NhZ2VzdWJqZWN0XCJdIHtcbiAgICB3aWR0aDogMzUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctbWVzc2FnZXN1YmplY3RcIl0ge1xuICAgIHdpZHRoOiA0NjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLW1lc3NhZ2VzdWJqZWN0XCJdIHtcbiAgICB3aWR0aDogMjkuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctZGF0ZXNlbmRcIl0ge1xuICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWRhdGVzZW5kXCJdIHtcbiAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctZGF0ZXNlbmRcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWRhdGVzZW5kXCJdIHtcbiAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcmZyb21cIl0ge1xuICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1oZWFkZXJmcm9tXCJdIHtcbiAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcmZyb21cIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1oZWFkZXJmcm9tXCJdIHtcbiAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcnRvXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctaGVhZGVydG9cIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctaGVhZGVydG9cIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1oZWFkZXJ0b1wiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1tZXNzYWdlc3ViamVjdFwiXSB7XG4gICAgd2lkdGg6IDE5MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLW1lc3NhZ2VzdWJqZWN0XCJdIHtcbiAgICB3aWR0aDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLW1lc3NhZ2VzdWJqZWN0XCJdIHtcbiAgICB3aWR0aDogNDAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctbWVzc2FnZXN1YmplY3RcIl0ge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWxsb2ctZGF0ZXNlbmRcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1kYXRlc2VuZFwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbGxvZy1kYXRlc2VuZFwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsbG9nLWRhdGVzZW5kXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWRlc2NyaXB0aW9uXCJdIHtcbiAgICB3aWR0aDogMTkycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWwtZGVzY3JpcHRpb25cIl0ge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWwtZGVzY3JpcHRpb25cIl0ge1xuICAgIHdpZHRoOiA0MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbC1kZXNjcmlwdGlvblwiXSB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJlbWFpbC1kZXNjcmlwdGlvblwiXSB7XG4gICAgd2lkdGg6IDI1NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWRlc2NyaXB0aW9uXCJdIHtcbiAgICB3aWR0aDogNDAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImVtYWlsLWRlc2NyaXB0aW9uXCJdIHtcbiAgICB3aWR0aDogNTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiZW1haWwtZGVzY3JpcHRpb25cIl0ge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LWRhdGVcIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LWRhdGVcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAxOTJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDMwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXBsYWNlXCJdIHtcbiAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXRvdGFsY291bnRvZnBhcnRpY2lwYW50c1wiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXRvdGFsY291bnRvZnBhcnRpY2lwYW50c1wiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy10b3RhbGNvdW50b2ZwYXJ0aWNpcGFudHNcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy10b3RhbGNvdW50b2ZwYXJ0aWNpcGFudHNcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LWRhdGVcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1kYXRlXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXRvdGFsY291bnRvZnBhcnRpY2lwYW50c1wiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy10b3RhbGNvdW50b2ZwYXJ0aWNpcGFudHNcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXRvdGFsY291bnRvZnBhcnRpY2lwYW50c1wiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy10b3RhbGNvdW50b2ZwYXJ0aWNpcGFudHNcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDIyNHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDM1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgIHdpZHRoOiA0NjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAyOS4xNjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDE5MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9iaW50ZXJ2aWV3LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYmludGVydmlldy1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLWlkXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItdGl0bGVcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXRpdGxlXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItdGl0bGVcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXRpdGxlXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25zdGFydGRhdGVcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25zdGFydGRhdGVcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25lbmRkYXRlXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbmVuZGRhdGVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbmVuZGRhdGVcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uZW5kZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTkycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMzAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAzMGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItaWRcIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItaWRcIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXRpdGxlXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci10aXRsZVwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci10aXRsZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXRpdGxlXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25zdGFydGRhdGVcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25zdGFydGRhdGVcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbmVuZGRhdGVcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uZW5kZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbmVuZGRhdGVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbmVuZGRhdGVcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1zdGF0ZVwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1zdGF0ZVwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLWlkXCJdIHtcbiAgICB3aWR0aDogMzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgd2lkdGg6IDUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLWlkXCJdIHtcbiAgICB3aWR0aDogNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbnN0YXJ0ZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbnN0YXJ0ZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25lbmRkYXRlXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1yZWFsaXphdGlvbmVuZGRhdGVcIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25lbmRkYXRlXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25lbmRkYXRlXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItc3RhdGVcIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItc3RhdGVcIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1kYXlcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWRheVwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1kYXlcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1kYXlcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2Utam9ib3JkZXJcIl0gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgICB3aWR0aDogMTYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAgIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgICB3aWR0aDogMjUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2Utam9ib3JkZXJcIl0ge1xuICAgICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2Utam9ib3JkZXJcIl0ge1xuICAgICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wcmVzZW50cGVvcGxlY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbm90aGVyYnVpbGRpbmdjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9udmFjYXRpb25jb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXNpY2twZW9wbGVjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZWNvdW50XCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wcmVzZW50cGVvcGxlY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbm90aGVyYnVpbGRpbmdjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9udmFjYXRpb25jb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXNpY2twZW9wbGVjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZWNvdW50XCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXByZXNlbnRwZW9wbGVjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9ub3RoZXJidWlsZGluZ2NvdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcGVvcGxlb252YWNhdGlvbmNvdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2Utc2lja3Blb3BsZWNvdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcGVvcGxlY291bnRcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wcmVzZW50cGVvcGxlY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbm90aGVyYnVpbGRpbmdjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9udmFjYXRpb25jb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXNpY2twZW9wbGVjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZWNvdW50XCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2Utam9ib3JkZXJcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2Utam9ib3JkZXJcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWRheVwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWRheVwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtZGF5XCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWRheVwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wcmVzZW50cGVvcGxlY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbm90aGVyYnVpbGRpbmdjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9udmFjYXRpb25jb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXNpY2twZW9wbGVjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZWNvdW50XCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcHJlc2VudHBlb3BsZWNvdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcGVvcGxlb25vdGhlcmJ1aWxkaW5nY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbnZhY2F0aW9uY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1zaWNrcGVvcGxlY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVjb3VudFwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcHJlc2VudHBlb3BsZWNvdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcGVvcGxlb25vdGhlcmJ1aWxkaW5nY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbnZhY2F0aW9uY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1zaWNrcGVvcGxlY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVjb3VudFwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wcmVzZW50cGVvcGxlY291bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbm90aGVyYnVpbGRpbmdjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9udmFjYXRpb25jb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXNpY2twZW9wbGVjb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZWNvdW50XCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWpvYm9yZGVyXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuLnRlbkhvdXJzV2FybmluZyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmMzY3MTc7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1uYW1lXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLW5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLW5hbWVcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtbmFtZVwiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtaW50ZXJuYWxudW1iZXJcIl0ge1xuICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtaW50ZXJuYWxudW1iZXJcIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogMzMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1jYXRlZ29yeS50aXRsZVwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1jYXRlZ29yeS50aXRsZVwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtY2F0ZWdvcnkudGl0bGVcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtY2F0ZWdvcnkudGl0bGVcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1sb2NhdGlvblwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1sb2NhdGlvblwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtd2FycmFudHlleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC13YXJyYW50eWV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC13YXJyYW50eWV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXdhcnJhbnR5ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXBhdGV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXBhdGV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1wYXRleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1wYXRleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtc3RhdGVcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1zdGF0ZVwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1uYW1lXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLW5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLW5hbWVcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtbmFtZVwiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtbG9jYXRpb25cIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtbG9jYXRpb25cIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mdG9vbHNcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZnRvb2xzXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mdG9vbHNcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZnRvb2xzXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mYXZhaWxhYmxldG9vbHNcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmF2YWlsYWJsZXRvb2xzXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mYXZhaWxhYmxldG9vbHNcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmF2YWlsYWJsZXRvb2xzXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mYm9ycm93ZWR0b29sc1wiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mYm9ycm93ZWR0b29sc1wiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmJvcnJvd2VkdG9vbHNcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmJvcnJvd2VkdG9vbHNcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtbmFtZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtbmFtZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLW5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLW5hbWVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1pbnRlcm5hbG51bWJlclwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtaW50ZXJuYWxudW1iZXJcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1pbnRlcm5hbG51bWJlclwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtaW50ZXJuYWxudW1iZXJcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1jYXRlZ29yeS50aXRsZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtY2F0ZWdvcnkudGl0bGVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1jYXRlZ29yeS50aXRsZVwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtY2F0ZWdvcnkudGl0bGVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1sb2NhdGlvblwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1sb2NhdGlvblwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1sb2NhdGlvblwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtd2FycmFudHlleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC13YXJyYW50eWV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtd2FycmFudHlleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtd2FycmFudHlleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtcGF0ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtcGF0ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1wYXRleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtcGF0ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXN0YXRlXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1uYW1lXCJdIHtcbiAgICB3aWR0aDogMTI4cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1uYW1lXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtbmFtZVwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtbmFtZVwiXSB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtbG9jYXRpb25cIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mdG9vbHNcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZnRvb2xzXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZnRvb2xzXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mdG9vbHNcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWNvdW50b2ZhdmFpbGFibGV0b29sc1wiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mYXZhaWxhYmxldG9vbHNcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mYXZhaWxhYmxldG9vbHNcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWNvdW50b2ZhdmFpbGFibGV0b29sc1wiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmJvcnJvd2VkdG9vbHNcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmJvcnJvd2VkdG9vbHNcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbHdhcmVob3VzZS1jb3VudG9mYm9ycm93ZWR0b29sc1wiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmJvcnJvd2VkdG9vbHNcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2x3YXJlaG91c2UtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sd2FyZWhvdXNlLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1uYW1lXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1uYW1lXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLW5hbWVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1uYW1lXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtaW50ZXJuYWxudW1iZXJcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtaW50ZXJuYWxudW1iZXJcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1jYXRlZ29yeS50aXRsZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWNhdGVnb3J5LnRpdGxlXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWNhdGVnb3J5LnRpdGxlXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtY2F0ZWdvcnkudGl0bGVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtbG9jYXRpb25cIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLWxvY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtbG9jYXRpb25cIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC13YXJyYW50eWV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC13YXJyYW50eWV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXdhcnJhbnR5ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC13YXJyYW50eWV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtcGF0ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXBhdGV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLXBhdGV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtcGF0ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1zdGF0ZVwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtc3RhdGVcIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwidG9vbC1zdGF0ZVwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInRvb2wtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJ0b29sLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbi5wYWdpbmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOm50aC1jaGlsZCgtbisyKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpudGgtbGFzdC1jaGlsZCgtbisyKSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAucGFnaW5hdGlvbiBsaS5jdXJyZW50IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnBhZ2luYXRpb24gbGk6bnRoLWNoaWxkKC1uKzMpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAucGFnaW5hdGlvbiBsaTpudGgtbGFzdC1jaGlsZCgtbiszKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1tb250aFwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LW1vbnRoXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1tb250aFwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1tb250aFwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1wZXJzb25zdXJuYW1lYW5kZmlyc3RuYW1lXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LXBlcnNvbnN1cm5hbWVhbmRmaXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LXBlcnNvbnN1cm5hbWVhbmRmaXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtcGVyc29uc3VybmFtZWFuZGZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdHJlcXVpcmVkXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RyZXF1aXJlZFwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdHJlcXVpcmVkXCJdIHtcbiAgICB3aWR0aDogMzMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RyZXF1aXJlZFwiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdGNvc3RzXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3Rjb3N0c1wiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdGNvc3RzXCJdIHtcbiAgICB3aWR0aDogMzMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3Rjb3N0c1wiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdGFkdmFuY2VwYXltZW50c1wiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1saXN0YWR2YW5jZXBheW1lbnRzXCJdIHtcbiAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1saXN0YWR2YW5jZXBheW1lbnRzXCJdIHtcbiAgICB3aWR0aDogMzMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RhZHZhbmNlcGF5bWVudHNcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RwYXltZW50dG90YWxcIl0ge1xuICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdHBheW1lbnR0b3RhbFwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdHBheW1lbnR0b3RhbFwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1saXN0cGF5bWVudHRvdGFsXCJdIHtcbiAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1sb2NrZWRcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1sb2NrZWRcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxvY2tlZFwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1sb2NrZWRcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGF5bWVudC5tb250aFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1tb250aC5tb250aFwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGF5bWVudC5tb250aFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1tb250aC5tb250aFwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBheW1lbnQubW9udGhcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtbW9udGgubW9udGhcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBheW1lbnQubW9udGhcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtbW9udGgubW9udGhcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1wZXJzb24uc3VybmFtZVwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1wZXJzb24uc3VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDE5MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGVyc29uLnN1cm5hbWVcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtcGVyc29uLnN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAzMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1wZXJzb24uc3VybmFtZVwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1wZXJzb24uc3VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDQwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGVyc29uLnN1cm5hbWVcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtcGVyc29uLnN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1tZXRob2RcIl0ge1xuICAgIHdpZHRoOiAxNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LW1ldGhvZFwiXSB7XG4gICAgd2lkdGg6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LW1ldGhvZFwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtbWV0aG9kXCJdIHtcbiAgICB3aWR0aDogMjAuODMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtYW1vdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LWFtb3VudFwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtYW1vdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LWFtb3VudFwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LWFtb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1hbW91bnRcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LWFtb3VudFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1hbW91bnRcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgd2lkdGg6IDMzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbW9udGhcIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbW9udGhcIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1tb250aFwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbW9udGhcIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LXBlcnNvbnN1cm5hbWVhbmRmaXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LXBlcnNvbnN1cm5hbWVhbmRmaXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1wZXJzb25zdXJuYW1lYW5kZmlyc3RuYW1lXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1wZXJzb25zdXJuYW1lYW5kZmlyc3RuYW1lXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdHJlcXVpcmVkXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RyZXF1aXJlZFwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RyZXF1aXJlZFwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdHJlcXVpcmVkXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1saXN0Y29zdHNcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdGNvc3RzXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdGNvc3RzXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1saXN0Y29zdHNcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RhZHZhbmNlcGF5bWVudHNcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdGFkdmFuY2VwYXltZW50c1wiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RhZHZhbmNlcGF5bWVudHNcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RhZHZhbmNlcGF5bWVudHNcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RwYXltZW50dG90YWxcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbGlzdHBheW1lbnR0b3RhbFwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RwYXltZW50dG90YWxcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxpc3RwYXltZW50dG90YWxcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxvY2tlZFwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1sb2NrZWRcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1sb2NrZWRcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxvY2tlZFwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBheW1lbnQubW9udGhcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtbW9udGgubW9udGhcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBheW1lbnQubW9udGhcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtbW9udGgubW9udGhcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGF5bWVudC5tb250aFwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1tb250aC5tb250aFwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBheW1lbnQubW9udGhcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtbW9udGgubW9udGhcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1wZXJzb24uc3VybmFtZVwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1wZXJzb24uc3VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBlcnNvbi5zdXJuYW1lXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LXBlcnNvbi5zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBlcnNvbi5zdXJuYW1lXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LXBlcnNvbi5zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGVyc29uLnN1cm5hbWVcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtcGVyc29uLnN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtbWV0aG9kXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1tZXRob2RcIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtbWV0aG9kXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtbWV0aG9kXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtYW1vdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LWFtb3VudFwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtYW1vdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LWFtb3VudFwiXSB7XG4gICAgd2lkdGg6IDE1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1hbW91bnRcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtYW1vdW50XCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtYW1vdW50XCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LWFtb3VudFwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtX2FjdGlvblwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LV9hY3Rpb25cIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtcGVyc29uc3VybmFtZWFuZGZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDk2cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1wZXJzb25zdXJuYW1lYW5kZmlyc3RuYW1lXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtcGVyc29uc3VybmFtZWFuZGZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtcGVyc29uc3VybmFtZWFuZGZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbG9ja2VkXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxvY2tlZFwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LWxvY2tlZFwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtbG9ja2VkXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGF5bWVudC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwYXltZW50LV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBlcnNvbi5zdXJuYW1lXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJjb3N0LXBlcnNvbi5zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMTYwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGVyc29uLnN1cm5hbWVcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtcGVyc29uLnN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGVyc29uLnN1cm5hbWVcIl0sIC50YWJsZVNjcm9sbCBbbmFtZT1cImNvc3QtcGVyc29uLnN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAzMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1wZXJzb24uc3VybmFtZVwiXSwgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiY29zdC1wZXJzb24uc3VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDIwLjgzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMzJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDQuMTY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1pbnRlcm5hbG51bWJlclwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1pbnRlcm5hbG51bWJlclwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tZmlyc3RwYXJ0aWNpcGFudFwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tZmlyc3RwYXJ0aWNpcGFudFwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdHBhcnRpY2lwYW50XCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tZmlyc3RwYXJ0aWNpcGFudFwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLXN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAxMjhweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLXN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAyNjYuNjY2NjdweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG4udGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tc3RhdHVzLm5hbWVcIl0ge1xuICB3aWR0aDogNi44NzVyZW07IH1cblxuLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWRhdGVjcmVhdGVcIl0ge1xuICB3aWR0aDogOC4xMjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDIwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbi50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1ib251c2hvdXJzXCJdLCAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24taG91cnNzaW5jZWhvdXJseXJhdGVpbmNyZWFzZVwiXSB7XG4gIHdpZHRoOiA4LjEyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24taW50ZXJuYWxudW1iZXJcIl0ge1xuICAgIHdpZHRoOiAxMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWZpcnN0cGFydGljaXBhbnRcIl0ge1xuICAgIHdpZHRoOiAzMnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdHBhcnRpY2lwYW50XCJdIHtcbiAgICB3aWR0aDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWZpcnN0cGFydGljaXBhbnRcIl0ge1xuICAgIHdpZHRoOiA2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdHBhcnRpY2lwYW50XCJdIHtcbiAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLXN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLXN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tZmlyc3RuYW1lXCJdIHtcbiAgICB3aWR0aDogOTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tZmlyc3RuYW1lXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tZmlyc3RuYW1lXCJdIHtcbiAgICB3aWR0aDogMTIuNSU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwZXJzb24tc3VybmFtZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1zdXJuYW1lXCJdIHtcbiAgICB3aWR0aDogMjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLXN1cm5hbWVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDEyOHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAyMDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicGVyc29uLWZpcnN0bmFtZVwiXSB7XG4gICAgd2lkdGg6IDI2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInBlcnNvbi1maXJzdG5hbWVcIl0ge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItaWNcIl0ge1xuICAgIHdpZHRoOiA5NnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLWljXCJdIHtcbiAgICB3aWR0aDogMTUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLWljXCJdIHtcbiAgICB3aWR0aDogMjAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItaWNcIl0ge1xuICAgIHdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1jb21wYW55bmFtZVwiXSB7XG4gICAgd2lkdGg6IDE2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY3cHgpIGFuZCAobWF4LXdpZHRoOiAxMjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLWNvbXBhbnluYW1lXCJdIHtcbiAgICB3aWR0aDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLWNvbXBhbnluYW1lXCJdIHtcbiAgICB3aWR0aDogMzMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItY29tcGFueW5hbWVcIl0ge1xuICAgIHdpZHRoOiAyMC44MzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDY0cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE5OXB4KSBhbmQgKG1heC13aWR0aDogMTYwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogMTMzLjMzMzMzcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1jb21wYW55bmFtZVwiXSB7XG4gICAgd2lkdGg6IDI4OHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1jb21wYW55bmFtZVwiXSB7XG4gICAgd2lkdGg6IDQ1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMzBlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItY29tcGFueW5hbWVcIl0ge1xuICAgIHdpZHRoOiA2MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDMwZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItY29tcGFueW5hbWVcIl0ge1xuICAgIHdpZHRoOiAzNy41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItaWNcIl0ge1xuICAgIHdpZHRoOiA2NHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1pY1wiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItaWNcIl0ge1xuICAgIHdpZHRoOiAxMzMuMzMzMzNweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMDBlbSkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItaWNcIl0ge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItY29tcGFueW5hbWVcIl0ge1xuICAgIHdpZHRoOiAzMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItY29tcGFueW5hbWVcIl0ge1xuICAgIHdpZHRoOiA1MDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLWNvbXBhbnluYW1lXCJdIHtcbiAgICB3aWR0aDogNjY2LjY2NjY3cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMTAwZW0pIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLWNvbXBhbnluYW1lXCJdIHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNjRweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA3NjdweCkgYW5kIChtYXgtd2lkdGg6IDEyMDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEwMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDExOTlweCkgYW5kIChtYXgtd2lkdGg6IDE2MDBweCkge1xuICAudGFibGVTY3JvbGwgW25hbWU9XCJwdXJjaGFzZXItX2FjdGlvblwiXSB7XG4gICAgd2lkdGg6IDEzMy4zMzMzM3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NWVtKSBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiAzMnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDc2N3B4KSBhbmQgKG1heC13aWR0aDogMTIwMHB4KSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc1ZW0pIGFuZCAobWluLXdpZHRoOiAxMTk5cHgpIGFuZCAobWF4LXdpZHRoOiAxNjAwcHgpIHtcbiAgLnRhYmxlU2Nyb2xsIFtuYW1lPVwicHVyY2hhc2VyLV9hY3Rpb25cIl0ge1xuICAgIHdpZHRoOiA2Ni42NjY2N3B4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkgYW5kIChtaW4td2lkdGg6IDEwMGVtKSB7XG4gIC50YWJsZVNjcm9sbCBbbmFtZT1cInB1cmNoYXNlci1fYWN0aW9uXCJdIHtcbiAgICB3aWR0aDogNC4xNjY2NyU7IH0gfVxuXG4uc3dpdGNoIGxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLm5tYiB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLyohXG4gKiBCb290c3RyYXAgQ29sb3JwaWNrZXIgdjIuNS4xXG4gKiBodHRwczovL2l0c2phdmkuY29tL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9cbiAqXG4gKiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgKGMpIDIwMTIgU3RlZmFuIFBldHJlXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wLnR4dFxuICpcbiAqL1xuLmNvbG9ycGlja2VyLXNhdHVyYXRpb24ge1xuICB3aWR0aDogMTAwcHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ib290c3RyYXAtY29sb3JwaWNrZXIvc2F0dXJhdGlvbi5wbmdcIik7XG4gIGN1cnNvcjogY3Jvc3NoYWlyO1xuICBmbG9hdDogbGVmdDsgfVxuICAuY29sb3JwaWNrZXItc2F0dXJhdGlvbiBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDVweDtcbiAgICB3aWR0aDogNXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDA7XG4gICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgLW1vei1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IC00cHggMCAwIC00cHg7IH1cbiAgICAuY29sb3JwaWNrZXItc2F0dXJhdGlvbiBpIGIge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDVweDtcbiAgICAgIHdpZHRoOiA1cHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICAtbW96LWJvcmRlci1yYWRpdXM6IDVweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDVweDsgfVxuXG4uY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgd2lkdGg6IDE1cHg7XG4gIGhlaWdodDogMTAwcHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IHJvdy1yZXNpemU7XG4gIG1hcmdpbi1sZWZ0OiA0cHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDsgfVxuXG4uY29sb3JwaWNrZXItaHVlIGksXG4uY29sb3JwaWNrZXItYWxwaGEgaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLXRvcDogLTFweDsgfVxuXG4uY29sb3JwaWNrZXItaHVlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9odWUucG5nXCIpOyB9XG5cbi5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9ib290c3RyYXAtY29sb3JwaWNrZXIvYWxwaGEucG5nXCIpO1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLFxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjsgfVxuXG4uY29sb3JwaWNrZXIge1xuICBwYWRkaW5nOiA0cHg7XG4gIG1pbi13aWR0aDogMTMwcHg7XG4gIG1hcmdpbi10b3A6IDFweDtcbiAgLXdlYmtpdC1ib3JkZXItcmFkaXVzOiA0cHg7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIHotaW5kZXg6IDI1MDA7IH1cblxuLmNvbG9ycGlja2VyOmJlZm9yZSxcbi5jb2xvcnBpY2tlcjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG4uY29sb3JwaWNrZXI6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uY29sb3JwaWNrZXI6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAjY2NjO1xuICBib3JkZXItYm90dG9tLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtN3B4O1xuICBsZWZ0OiA2cHg7IH1cblxuLmNvbG9ycGlja2VyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTZweDtcbiAgbGVmdDogN3B4OyB9XG5cbi5jb2xvcnBpY2tlciBkaXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLXdpdGgtYWxwaGEge1xuICBtaW4td2lkdGg6IDE0MHB4OyB9XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci13aXRoLWFscGhhIC5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb2xvcnBpY2tlci1jb2xvciB7XG4gIGhlaWdodDogMTBweDtcbiAgbWFyZ2luLXRvcDogNXB4O1xuICBjbGVhcjogYm90aDtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9hbHBoYS5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgMTAwJTsgfVxuXG4uY29sb3JwaWNrZXItY29sb3IgZGl2IHtcbiAgaGVpZ2h0OiAxMHB4OyB9XG5cbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmNvbG9ycGlja2VyLXNlbGVjdG9ycyBpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgaGVpZ2h0OiAxMHB4O1xuICB3aWR0aDogMTBweDsgfVxuXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIGkgKyBpIHtcbiAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuXG4uY29sb3JwaWNrZXItZWxlbWVudCAuaW5wdXQtZ3JvdXAtYWRkb24gaSxcbi5jb2xvcnBpY2tlci1lbGVtZW50IC5hZGQtb24gaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDE2cHg7XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcbiAgd2lkdGg6IDE2cHg7IH1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWlubGluZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgei1pbmRleDogYXV0bzsgfVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCB7XG4gIHdpZHRoOiAxMTBweDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1zYXR1cmF0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogNHB4OyB9XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1jb2xvciB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDsgfVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItaHVlIGksXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItYWxwaGEgaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDE1cHg7XG4gIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMXB4O1xuICBib3JkZXI6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDBweDsgfVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItaHVlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9odWUtaG9yaXpvbnRhbC5wbmdcIik7IH1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9hbHBoYS1ob3Jpem9udGFsLnBuZ1wiKTsgfVxuXG4uY29sb3JwaWNrZXItcmlnaHQ6YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDZweDsgfVxuXG4uY29sb3JwaWNrZXItcmlnaHQ6YWZ0ZXIge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogN3B4OyB9XG5cbi5jb2xvcnBpY2tlci1uby1hcnJvdzpiZWZvcmUge1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5jb2xvcnBpY2tlci1uby1hcnJvdzphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLXZpc2libGUsXG4uY29sb3JwaWNrZXItYWxwaGEuY29sb3JwaWNrZXItdmlzaWJsZSxcbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLmNvbG9ycGlja2VyLXZpc2libGUsXG4uY29sb3JwaWNrZXItaHVlLmNvbG9ycGlja2VyLXZpc2libGUsXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzLmNvbG9ycGlja2VyLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaGlkZGVuLFxuLmNvbG9ycGlja2VyLWFscGhhLmNvbG9ycGlja2VyLWhpZGRlbixcbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLmNvbG9ycGlja2VyLWhpZGRlbixcbi5jb2xvcnBpY2tlci1odWUuY29sb3JwaWNrZXItaGlkZGVuLFxuLmNvbG9ycGlja2VyLXNlbGVjdG9ycy5jb2xvcnBpY2tlci1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb2xvcnBpY2tlci1pbmxpbmUuY29sb3JwaWNrZXItdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBPZmYtY2FudmFzXG4vLyAgMjQuIE9yYml0XG4vLyAgMjUuIFBhZ2luYXRpb25cbi8vICAyNi4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjcuIFJldmVhbFxuLy8gIDI4LiBTbGlkZXJcbi8vICAyOS4gU3dpdGNoXG4vLyAgMzAuIFRhYmxlXG4vLyAgMzEuIFRhYnNcbi8vICAzMi4gVGh1bWJuYWlsXG4vLyAgMzMuIFRpdGxlIEJhclxuLy8gIDM0LiBUb29sdGlwXG4vLyAgMzUuIFRvcCBCYXJcblxuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiAxMDAlO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICNmMzY3MTcsXG4gIHNlY29uZGFyeTogIzQzNDU0NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDBcbik7XG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG4kbGlnaHQtZ3JheTogI2Y1ZjVmNTtcbiRtZWRpdW0tZ3JheTogI2UyZTJlMjtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZmY7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4kYm9keS1mb250LWZhbWlseTogXCJNb250c2VycmF0XCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICB4c21hbGw6IDAsXG4gIHNtYWxsOiA0ODBweCxcbiAgbWVkaXVtOiA3NjhweCxcbiAgbGFyZ2U6IDEwMjRweCxcbiAgeGxhcmdlOiAxMjAwcHgsXG4gIHh4bGFyZ2U6IDE2MDBweCxcbik7XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoeHNtYWxsIHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDI0O1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICB4c21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXNpemVzOiAoXG4gICAgeHNtYWxsOiAoXG4gICAgICAgICdoMSc6IDI1LFxuICAgICAgICAnaDInOiAyMCxcbiAgICAgICAgJ2gzJzogMTcsXG4gICAgICAgICdoNCc6IDE4LFxuICAgICAgICAnaDUnOiAxNixcbiAgICAgICAgJ2g2JzogMTYsXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgICAgJ2gxJzogMzAsXG4gICAgICAgICdoMic6IDIzLFxuICAgICAgICAnaDMnOiAyMCxcbiAgICAgICAgJ2g0JzogMjUsXG4gICAgICAgICdoNSc6IDE2LFxuICAgICAgICAnaDYnOiAxNixcbiAgICApLFxuICAgIHhsYXJnZTogKFxuICAgICAgICAnaDEnOiAzMyxcbiAgICAgICAgJ2gyJzogMjYsXG4gICAgICAgICdoMyc6IDIyLFxuICAgICAgICAnaDQnOiAyMCxcbiAgICAgICAgJ2g1JzogMTgsXG4gICAgICAgICdoNic6IDE2LFxuICAgICksXG4pO1xuJGhlYWRlci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogJGFsZXJ0LWNvbG9yO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogJGFsZXJ0LWNvbG9yO1xuJGlucHV0LWVycm9yLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJGRhcmstZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW07XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnV0dG9uLWZpbGw6IHNvbGlkO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiRidXR0b24tY29sb3I6ICNmZmY7XG4kYnV0dG9uLWNvbG9yLWFsdDogIzAwMDtcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbik7XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG5cbi8vIDEyLiBCdXR0b24gR3JvdXBcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbTtcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJztcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiByZW0tY2FsYygxNiAxNiAwIDE2KTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IC41cmVtO1xuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICR3aGl0ZTtcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XG4kZHJvcGRvd24td2lkdGg6IDMwMHB4O1xuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKTtcblxuLy8gMTcuIERyb3Bkb3duIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiBmYWxzZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiBub25lO1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRkYXJrLWdyYXk7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaGVscHRleHQtZm9udC1zdHlsZTogbm9ybWFsO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAjMzMzO1xuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGlucHV0LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkIG1peCgkbWVkaXVtLWdyYXksICRibGFjaywgODAlKTtcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5O1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlO1xuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIwLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjEuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjIuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW07XG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuJG1lbnUtZXhwYW5kLW1heDogNjtcblxuLy8gMjMuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI0LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjUuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KTtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyNi4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1vZmZzZXQ6IHJlbS1jYWxjKDEwMCk7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpO1xuXG4vLyAyOC4gU2xpZGVyXG4vLyAtLS0tLS0tLS0tXG5cbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAkc2xpZGVyLWhlaWdodDtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuXG4vLyAyOS4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMwLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMS4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMi4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzMuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrO1xuJHRpdGxlYmFyLWNvbG9yOiAkd2hpdGU7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM0LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1waXAtb2Zmc2V0OiAxLjI1cmVtO1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzUuIFRvcCBCYXJcbi8vIC0tLS0tLS0tLS0tXG5cbiR0b3BiYXItcGFkZGluZzogMC41cmVtO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMXJlbTtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4OyIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGZsb29yKCgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSkpO1xuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cmVkKCRjb2xvcil9LCAje2dyZWVuKCRjb2xvcil9LCAje2JsdWUoJGNvbG9yKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBudWxsYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCkge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAkZmxleDogMSAxIDBweDtcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBudWxsLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBudWxsIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBncmlkIGNvbHVtbi4gQ29sdW1ucyB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1ncmlkLW9yZGVyKCRvcmRlcjogMCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LW9yZGVyKCkuIGZsZXgtZ3JpZC1vcmRlcigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRvcmRlcik7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGNvbHVtbnMgd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduKCkuIGZsZXgtZ3JpZC1yb3ctYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbigkeCwgJHkpO1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24tc2VsZigpLiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgJiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgICAucm93ICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcik7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICAvLyBSZW1vdmUgdGhlc2UgaW4gNi4zXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5jb2x1bW4uYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyB7XG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcbiAgfVxuICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkdmFsdWUpIC8gMiAqIC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcbiAgLy8gU3RvcmUgdGhlIHZhbHVlcyBvZiB0aGUgbWFwIGFzIGEgbGlzdCwgc28gd2UgY2FuIGFjY2VzcyB0aGVtIHdpdGggbnRoXG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG5cbiAgLy8gR2hldHRvIGZvciBsb29wXG4gICRpOiAxO1xuICAkZm91bmQ6IGZhbHNlO1xuICBAZWFjaCAkdmFsIGluIG1hcC1rZXlzKCRtYXApIHtcbiAgICBAaWYgJGZvdW5kID09IGZhbHNlIHtcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH1cbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgJGkgPiBsZW5ndGgoJG1hcCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRpKTtcbiAgfVxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwLiBJZiB0aGUgY29uZmlnIG1hcCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuIElmIHRoZSBjb25maWcgbWFwIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBJbnB1dCBjb25maWcgbWFwLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuM1xuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nXG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1iYXNlXG4vLy8vXG5cbi8vIEJhc2UgVHlwb2dyYXBoeVxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbi8vIFRoZXNlIGFyZSBzdHlsZXMgYXBwbGllZCB0byBiYXNpYyBIVE1MIHRhZ3MsIGluY2x1ZGluZzpcbi8vICAgLSBQYXJhZ3JhcGhzIDxwPlxuLy8gICAtIEJvbGQvaXRhbGljcyA8Yj4gPHN0cm9uZz4gPGk+IDxlbT5cbi8vICAgLSBTbWFsbCB0ZXh0IDxzbWFsbD5cbi8vICAgLSBIZWFkaW5ncyA8aDE+4oCUPGg2PlxuLy8gICAtIEFuY2hvcnMgPGE+XG4vLyAgIC0gRGl2aWRlcnMgPGhyPlxuLy8gICAtIExpc3RzIDx1bD4gPG9sPiA8ZGw+XG4vLyAgIC0gQmxvY2txdW90ZXMgPGJsb2NrcXVvdGU+XG4vLyAgIC0gQ29kZSBibG9ja3MgPGNvZGU+XG4vLyAgIC0gQWJicmV2aWF0aW9ucyA8YWJicj5cbi8vICAgLSBDaXRhdGlvbnMgPGNpdGU+XG4vLyAgIC0gS2V5c3Ryb2tlcyA8a2JkPlxuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGhlYWRlciBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0eWxlIChlLmcuIGl0YWxpY2l6ZWQpIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgdXNlZCBmb3IgZWxlbWVudHMgdGhhdCB1c2UgbW9ub3NwYWNlZCB0eXBlLCBzdWNoIGFzIGNvZGUgc2FtcGxlc1xuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgb2YgaGVhZGluZ3MgYXQgdmFyaW91cyBzY3JlZW4gc2l6ZXMuIEVhY2gga2V5IGlzIGEgYnJlYWtwb2ludCwgYW5kIGVhY2ggdmFsdWUgaXMgYSBtYXAgb2YgaGVhZGluZyBzaXplcy5cbi8vLyBAdHlwZSBNYXBcbiRoZWFkZXItc2l6ZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAyNCxcbiAgICAnaDInOiAyMCxcbiAgICAnaDMnOiAxOSxcbiAgICAnaDQnOiAxOCxcbiAgICAnaDUnOiAxNyxcbiAgICAnaDYnOiAxNixcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogNDgsXG4gICAgJ2gyJzogNDAsXG4gICAgJ2gzJzogMzEsXG4gICAgJ2g0JzogMjUsXG4gICAgJ2g1JzogMjAsXG4gICAgJ2g2JzogMTYsXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1jb2xvcjogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBib3JkZXIgc3R5bGUgZm9yIGA8YWJicj5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2sgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktYmFzZSB7XG4gIC8vIFR5cG9ncmFwaHkgcmVzZXRzXG4gIGRpdixcbiAgZGwsXG4gIGR0LFxuICBkZCxcbiAgdWwsXG4gIG9sLFxuICBsaSxcbiAgaDEsXG4gIGgyLFxuICBoMyxcbiAgaDQsXG4gIGg1LFxuICBoNixcbiAgcHJlLFxuICBmb3JtLFxuICBwLFxuICBibG9ja3F1b3RlLFxuICB0aCxcbiAgdGQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgLy8gUGFyYWdyYXBoc1xuICBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcblxuLy8vIFJlbW92ZXMgdGhlIHVuaXQgKGUuZy4gcHgsIGVtLCByZW0pIGZyb20gYSB2YWx1ZSwgcmV0dXJuaW5nIHRoZSBudW1iZXIgb25seS5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbnVtIC0gTnVtYmVyIHRvIHN0cmlwIHVuaXQgZnJvbS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBzYW1lIG51bWJlciwgc2FucyB1bml0LlxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8vIENvbnZlcnRzIG9uZSBvciBtb3JlIHBpeGVsIHZhbHVlcyBpbnRvIG1hdGNoaW5nIHJlbSB2YWx1ZXMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkdmFsdWVzIC0gT25lIG9yIG1vcmUgdmFsdWVzIHRvIGNvbnZlcnQuIEJlIHN1cmUgdG8gc2VwYXJhdGUgdGhlbSB3aXRoIHNwYWNlcyBhbmQgbm90IGNvbW1hcy4gSWYgeW91IG5lZWQgdG8gY29udmVydCBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0LCB3cmFwIHRoZSBsaXN0IGluIHBhcmVudGhlc2VzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBUaGUgYmFzZSB2YWx1ZSB0byB1c2Ugd2hlbiBjYWxjdWxhdGluZyB0aGUgYHJlbWAuIElmIHlvdSdyZSB1c2luZyBGb3VuZGF0aW9uIG91dCBvZiB0aGUgYm94LCB0aGlzIGlzIDE2cHguIElmIHRoaXMgcGFyYW1ldGVyIGlzIGBudWxsYCwgdGhlIGZ1bmN0aW9uIHdpbGwgcmVmZXJlbmNlIHRoZSBgJGJhc2UtZm9udC1zaXplYCB2YXJpYWJsZSBhcyB0aGUgYmFzZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtMaXN0fSBBIGxpc3Qgb2YgY29udmVydGVkIHZhbHVlcy5cbkBmdW5jdGlvbiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZTogbnVsbCkge1xuICAkcmVtLXZhbHVlczogKCk7XG4gICRjb3VudDogbGVuZ3RoKCR2YWx1ZXMpO1xuXG4gIC8vIElmIG5vIGJhc2UgaXMgZGVmaW5lZCwgZGVmZXIgdG8gdGhlIGdsb2JhbCBmb250IHNpemVcbiAgQGlmICRiYXNlID09IG51bGwge1xuICAgICRiYXNlOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIElmIHRoZSBiYXNlIGZvbnQgc2l6ZSBpcyBhICUsIHRoZW4gbXVsdGlwbHkgaXQgYnkgMTZweFxuICAvLyBUaGlzIGlzIGJlY2F1c2UgMTAwJSBmb250IHNpemUgPSAxNnB4IGluIG1vc3QgYWxsIGJyb3dzZXJzXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnJScge1xuICAgICRiYXNlOiAoJGJhc2UgLyAxMDAlKSAqIDE2cHg7XG4gIH1cblxuICBAaWYgJGNvdW50ID09IDEge1xuICAgIEByZXR1cm4gLXpmLXRvLXJlbSgkdmFsdWVzLCAkYmFzZSk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRjb3VudCB7XG4gICAgJHJlbS12YWx1ZXM6IGFwcGVuZCgkcmVtLXZhbHVlcywgLXpmLXRvLXJlbShudGgoJHZhbHVlcywgJGkpLCAkYmFzZSkpO1xuICB9XG5cbiAgQHJldHVybiAkcmVtLXZhbHVlcztcbn1cblxuLy8gQ29udmVydHMgYSB1bml0bGVzcywgcGl4ZWwsIG9yIHJlbSB2YWx1ZSB0byBlbSwgZm9yIHVzZSBpbiBicmVha3BvaW50cy5cbkBmdW5jdGlvbiAtemYtYnAtdG8tZW0oJHZhbHVlKSB7XG4gIC8vIFBpeGVsIGFuZCB1bml0bGVzcyB2YWx1ZXMgYXJlIGNvbnZlcnRlZCB0byByZW1zXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyBvciB1bml0bGVzcygkdmFsdWUpIHtcbiAgICAkdmFsdWU6IHJlbS1jYWxjKCR2YWx1ZSwgJGJhc2U6IDE2cHgpO1xuICB9XG5cbiAgLy8gVGhlbiB0aGUgdmFsdWUgaXMgY29udmVydGVkIHRvIGVtc1xuICBAcmV0dXJuIHN0cmlwLXVuaXQoJHZhbHVlKSAqIDFlbTtcbn1cblxuLy8vIENvbnZlcnRzIGEgcGl4ZWwgdmFsdWUgdG8gbWF0Y2hpbmcgcmVtIHZhbHVlLiAqQW55KiB2YWx1ZSBwYXNzZWQsIHJlZ2FyZGxlc3Mgb2YgdW5pdCwgaXMgYXNzdW1lZCB0byBiZSBhIHBpeGVsIHZhbHVlLiBCeSBkZWZhdWx0LCB0aGUgYmFzZSBwaXhlbCB2YWx1ZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgcmVtIHZhbHVlIGlzIHRha2VuIGZyb20gdGhlIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgdmFyaWFibGUuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gUGl4ZWwgdmFsdWUgdG8gY29udmVydC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gQmFzZSBmb3IgcGl4ZWwgY29udmVyc2lvbi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgbnVtYmVyIGluIHJlbXMsIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIGdpdmVuIHZhbHVlIGFuZCB0aGUgYmFzZSBwaXhlbCB2YWx1ZS4gcmVtIHZhbHVlcyBhcmUgcGFzc2VkIHRocm91Z2ggYXMgaXMuXG5AZnVuY3Rpb24gLXpmLXRvLXJlbSgkdmFsdWUsICRiYXNlOiBudWxsKSB7XG4gIC8vIENoZWNrIGlmIHRoZSB2YWx1ZSBpcyBhIG51bWJlclxuICBAaWYgdHlwZS1vZigkdmFsdWUpICE9ICdudW1iZXInIHtcbiAgICBAd2FybiBpbnNwZWN0KCR2YWx1ZSkgKyAnIHdhcyBwYXNzZWQgdG8gcmVtLWNhbGMoKSwgd2hpY2ggaXMgbm90IGEgbnVtYmVyLic7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDYWxjdWxhdGUgcmVtIGlmIHVuaXRzIGZvciAkdmFsdWUgaXMgbm90IHJlbVxuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdyZW0nIHtcbiAgICAkdmFsdWU6IHN0cmlwLXVuaXQoJHZhbHVlKSAvIHN0cmlwLXVuaXQoJGJhc2UpICogMXJlbTtcbiAgfVxuXG4gIC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQGlmICR2YWx1ZSA9PSAwcmVtIHtcbiAgICAkdmFsdWU6IDA7XG4gIH1cblxuICBAcmV0dXJuICR2YWx1ZTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMsIGlmIHRoZSBiYWNrZ3JvdW5kIGlzIGxpZ2h0LlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIG9wYWNpdHkgZm9yIGEgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvclxuKSB7XG4gIEBpZiAkY29sb3IgPT0gYXV0byB7XG4gICAgJGNvbG9yOiBmb3JlZ3JvdW5kKCRiYWNrZ3JvdW5kLCAkYnV0dG9uLWNvbG9yLWFsdCwgJGJ1dHRvbi1jb2xvcik7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMjAlKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG5cbiAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICB9XG5cbiAgLy8gRm9jdXMgc3RhdGVcbiAgJjpmb2N1cyB7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdy1mb2N1cztcblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICAgIHRyYW5zaXRpb246ICRpbnB1dC10cmFuc2l0aW9uO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXRleHQge1xuICAvLyBUZXh0IGlucHV0c1xuICAje3RleHQtaW5wdXRzKCl9LFxuICB0ZXh0YXJlYSB7XG4gICAgQGluY2x1ZGUgZm9ybS1lbGVtZW50O1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBUZXh0IGFyZWFzXG4gIHRleHRhcmVhIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAmW3Jvd3NdIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gIH1cblxuICBpbnB1dCxcbiAgdGV4dGFyZWEge1xuICAgIC8vIFBsYWNlaG9sZGVyIHRleHRcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yO1xuICAgIH1cblxuICAgIC8vIERpc2FibGVkL3JlYWRvbmx5IHN0YXRlXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW3JlYWRvbmx5XSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb24gYnV0dG9uLWxpa2UgaW5wdXRzXG4gIFt0eXBlPSdzdWJtaXQnXSxcbiAgW3R5cGU9J2J1dHRvbiddIHtcbiAgICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB9XG5cbiAgLy8gTnVtYmVyIGlucHV0IHN0eWxlc1xuICBbdHlwZT0nbnVtYmVyJ10ge1xuICAgIEBpZiBub3QgJGlucHV0LW51bWJlci1zcGlubmVycyB7XG4gICAgICAtbW96LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcblxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgW3R5cGU9J251bWJlciddOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcblxuICAgICZbZm9yXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dHMgaW5zaWRlIGxhYmVsc1xuICBsYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxuICBsYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC8vIE5vcm1hbGl6ZSBmaWxlIGlucHV0IHdpZHRoXG4gIFt0eXBlPSdmaWxlJ10ge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3IgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgZm9ybSBsYWJlbHMuIFRoZSBoaWdoZXIgdGhlIG51bWJlciwgdGhlIG1vcmUgc3BhY2UgYmV0d2VlbiB0aGUgbGFiZWwgYW5kIGl0cyBpbnB1dCBmaWVsZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMpO1xuICAgIH1cblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgPiAqIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cywgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIGJvcmRlcjogJGlucHV0LXByZWZpeC1ib3JkZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDElO1xuICAgIH1cblxuICAgIGEsXG4gICAgaW5wdXQsXG4gICAgYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ1NlbGVjdG9yXG4gIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcbiAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogKCRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB0byB1c2UgZm9yIGxhYmVscyBvZiBpbnZhbGlkIGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1hbHBoYSBbMC4xXSAtIFRyYW5zcGFyZW5jeSBsZXZlbCBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBmb3JtLWlucHV0LWVycm9yKFxuICAkYmFja2dyb3VuZDogJGlucHV0LWJhY2tncm91bmQtaW52YWxpZCxcbiAgJGJhY2tncm91bmQtYWxwaGE6IDAuMVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWFscGhhKTtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWVycm9yLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1lcnJvci1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1lcnJvciB7XG4gIEBpZiAkYWJpZGUtaW5wdXRzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgaW52YWxpZCBpbnB1dHNcbiAgICAuaXMtaW52YWxpZC1pbnB1dCB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWlucHV0LWVycm9yO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkYWJpZGUtbGFiZWxzIHtcbiAgICAvLyBFcnJvciBjbGFzcyBmb3IgbGFiZWxzIG9mIGludmFsaWQgb3V0cHV0c1xuICAgIC5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkO1xuICAgIH1cbiAgfVxuXG4gIC8vIEZvcm0gZXJyb3IgZWxlbWVudFxuICAuZm9ybS1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9ybS1lcnJvcjtcblxuICAgICYuaXMtdmlzaWJsZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjY29yZGlvbiBncm91cC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgcGx1cyBhbmQgbWludXMgaWNvbnMgdG8gdGhlIHNpZGUgb2YgZWFjaCBhY2NvcmRpb24gdGl0bGUuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhbiBhY2NvcmRpb24gaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLCAkYm9keS1mb250LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gYWNjb3JkaW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgc2FtZSBlbGVtZW50IHRoYXQgZ2V0cyBgZGF0YS1hY2NvcmRpb25gLlxuQG1peGluIGFjY29yZGlvbi1jb250YWluZXIge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpc3QgaXRlbSB3aXRoaW4gYW4gYWNjb3JkaW9uIHVsLlxuQG1peGluIGFjY29yZGlvbi1pdGVtIHtcbiAgJjpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB0aXRsZSBvZiBhbiBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGluayB3aXRoaW4gYW4gYWNjb3JkaW9uIGl0ZW0uXG5AbWl4aW4gYWNjb3JkaW9uLXRpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24taXRlbS1wYWRkaW5nO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tY29sb3I7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuXG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+ICYge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gIH1cblxuICBAaWYgJGFjY29yZGlvbi1wbHVzbWludXMge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnKyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIH1cblxuICAgIC5pcy1hY3RpdmUgPiAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ+KAkyc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYWNjb3JkaW9uIGNvbnRlbnQuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbnRlbnQgcGFuZSBiZWxvdyBhbiBhY2NvcmRpb24gaXRlbSdzIHRpdGxlLlxuQG1peGluIGFjY29yZGlvbi1jb250ZW50IHtcbiAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ7XG4gIGNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I7XG5cbiAgOmxhc3QtY2hpbGQgPiAmOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uIHtcbiAgLmFjY29yZGlvbiB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5hY2NvcmRpb24taXRlbSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWl0ZW07XG4gIH1cblxuICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tdGl0bGU7XG4gIH1cblxuICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250ZW50O1xuICB9XG59XG4iLCIvLy8vXG4vLy8gQGdyb3VwIGFjY29yZGlvbi1tZW51XG4vLy8vXG5cbi8vLyBTZXRzIGlmIGFjY29yZGlvbiBtZW51cyBoYXZlIHRoZSBkZWZhdWx0IGFycm93IHN0eWxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9ubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGFjY29yZGlvbiBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnUge1xuICBAaWYgJGFjY29yZGlvbm1lbnUtYXJyb3dzIHtcbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBiYWRnZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRiYWRnZS1wYWRkaW5nO1xuICBtaW4td2lkdGg6ICRiYWRnZS1taW53aWR0aDtcbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tYmFkZ2Uge1xuICAuYmFkZ2Uge1xuICAgIEBpbmNsdWRlIGJhZGdlO1xuXG4gICAgYmFja2dyb3VuZDogJGJhZGdlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRiYWRnZS1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVhZGNydW1ic1xuLy8vL1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBhY3RpdmUgYnJlYWRjcnVtYiBsaW5rLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBPcGFjaXR5IG9mIGRpc2FibGVkIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnJlYWRjcnVtYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgbWFrZXMgYnJlYWRjcnVtYiBsaW5rcyB1cHBlcmNhc2UuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIGEgc2xhc2ggYmV0d2VlbiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLCBhbG9uZyB3aXRoIHRoZSBzdHlsZXMgZm9yIHRoZSBgPGxpPmAgYW5kIGA8YT5gIGVsZW1lbnRzIGluc2lkZSBvZiBpdC5cbkBtaXhpbiBicmVhZGNydW1icy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAkYnJlYWRjcnVtYnMtbWFyZ2luO1xuXG4gIC8vIEl0ZW0gd3JhcHBlclxuICBsaSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzbGFzaDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJy8nLCAnXFxcXCcpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcbiAgICAgICAgY29udGVudDogJHNsYXNoO1xuICAgICAgICBtYXJnaW46IDAgJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwKFxuICAkY2hpbGQtc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtbWFyZ2luO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgfVxuXG4gICN7JGNoaWxkLXNlbGVjdG9yfSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcbiAgICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRidXR0b25ncm91cC1leHBhbmQtbWF4IHtcbiAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICAgICYsICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIH4gI3skc2VsZWN0b3J9IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKCN7cGVyY2VudGFnZSgxIC8gJGkpfSAtICN7JGJ1dHRvbmdyb3VwLXNwYWNpbmd9KTtcbiAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nICogLSRidXR0b25ncm91cC1leHBhbmQtbWF4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gU3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2FsbG91dFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgdmFsdWUgZm9yIGNhbGxvdXQgYmFja2dyb3VuZHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGU6IDg1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHN0eWxlIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBMaXN0XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBpbm5lciBwYWRkaW5nIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cywgaWYgdGhlIGNhbGxvdXQgaGFzIGEgZGFyayBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIHJhZGl1cyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBbW91bnQgdG8gdGludCBsaW5rcyB1c2VkIHdpdGhpbiBjb2xvcmVkIHBhbmVscy4gU2V0IHRvIGBmYWxzZWAgdG8gZGlzYWJsZSB0aGlzIGZlYXR1cmUuXG4vLy8gQHR5cGUgTnVtYmVyIHwgQm9vbGVhblxuJGNhbGxvdXQtbGluay10aW50OiAzMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYSBjYWxsb3V0LCBpbmNsdWRpbmcgcGFkZGluZyBhbmQgbWFyZ2luLlxuQG1peGluIGNhbGxvdXQtYmFzZSgpIHtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG4gIGJvcmRlcjogJGNhbGxvdXQtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkY2FsbG91dC1yYWRpdXM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICRjYWxsb3V0LWZvbnQtY29sb3I7XG5cbiAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBHZW5lcmF0ZSBxdWljayBzdHlsZXMgZm9yIGEgY2FsbG91dCB1c2luZyBhIHNpbmdsZSBjb2xvciBhcyBhIGJhc2VsaW5lLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dC1zdHlsZSgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgJGJhY2tncm91bmQ6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbn1cblxuQG1peGluIGNhbGxvdXQtc2l6ZSgkcGFkZGluZykge1xuICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICBwYWRkaW5nLWJvdHRvbTogJHBhZGRpbmc7XG4gIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG59XG5cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhbGxvdXQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0KCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICBAaW5jbHVkZSBjYWxsb3V0LWJhc2U7XG4gIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FsbG91dCB7XG4gIC5jYWxsb3V0IHtcbiAgICBAaW5jbHVkZSBjYWxsb3V0O1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoMC41cmVtKTtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgzcmVtKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNsb3NlLWJ1dHRvblxuLy8vL1xuXG4vLy8gRGVmYXVsdCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLiBUaGUgZmlyc3QgdmFsdWUgc2hvdWxkIGJlIGByaWdodGAgb3IgYGxlZnRgLCBhbmQgdGhlIHNlY29uZCB2YWx1ZSBzaG91bGQgYmUgYHRvcGAgb3IgYGJvdHRvbWAuXG4vLy8gQHR5cGUgTGlzdFxuJGNsb3NlYnV0dG9uLXBvc2l0aW9uOiByaWdodCB0b3AgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCAob3IgbGVmdCkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUaGUgbGluZS1oZWlnaHQgb2YgdGhlIGNsb3NlIGJ1dHRvbi4gSXQgYWZmZWN0cyB0aGUgc3BhY2luZyBvZiB0aGUgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24gd2hlbiBiZWluZyBob3ZlcmVkIG9uLlxuLy8vIEB0eXBlIENvbG9yXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICAjeyR4fTogJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsO1xuICAjeyR5fTogJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDtcbiAgZm9udC1zaXplOiAkY2xvc2VidXR0b24tc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0O1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi13aWR0aDogMzAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgZHJvcGRvd24gcGFuZXMuIEVhY2ggc2l6ZSBpcyBhIENTUyBjbGFzcyB5b3UgY2FuIGFwcGx5LlxuLy8vIEB0eXBlIE1hcFxuJGRyb3Bkb3duLXNpemVzOiAoXG4gIHRpbnk6IDEwMHB4LFxuICBzbWFsbDogMjAwcHgsXG4gIGxhcmdlOiA0MDBweCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBBcHBsaWVzIHN0eWxlcyBmb3IgYSBiYXNpYyBkcm9wZG93bi5cbkBtaXhpbiBkcm9wZG93bi1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgei1pbmRleDogMTA7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgID4gbGkge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDA7XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtbGVmdCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1yaWdodCB7XG4gICAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnUge1xuICAuZHJvcGRvd24ubWVudSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG5cbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICB9XG5cbiAgICAubm8tanMgJiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICAgIHdpZHRoOiAxMDBweDtcblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgYTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICBtaW4td2lkdGg6ICRkcm9wZG93bm1lbnUtbWluLXdpZHRoO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG5cbiAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgICAgQGluY2x1ZGUgbGVmdC1yaWdodC1hcnJvd3M7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICh0eXBlLW9mKCRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKSA9PSAnbnVtYmVyJykge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAoLSRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFtUT0RPXSBDdXQgYmFjayBzcGVjaWZpY2l0eVxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFNlbGVjdG9yRGVwdGhcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtdmlkZW9cbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgNDozIGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMyAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSAxNjo5IGFzcGVjdCByYXRpby5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbjogMTYgYnkgOSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSBwZXJjZW50YWdlIGhlaWdodCB0aGF0IGNhbiBiZSB1c2VkIGFzIHBhZGRpbmcgaW4gYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyAtIFJhdGlvIHRvIHVzZSB0byBjYWxjdWxhdGUgdGhlIGhlaWdodCwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuLy8vIEByZXR1cm4ge051bWJlcn0gQSBwZXJjZW50YWdlIHZhbHVlIHRoYXQgY2FuIGJlIHVzZWQgYXMgdGhlIGBwYWRkaW5nLWJvdHRvbWAgcGFyYW1ldGVyIG9mIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG5AZnVuY3Rpb24gZmxleC12aWRlbygkcmF0aW8pIHtcbiAgJHc6IG50aCgkcmF0aW8sIDEpO1xuICAkaDogbnRoKCRyYXRpbywgMyk7XG4gIEByZXR1cm4gJGggLyAkdyAqIDEwMCU7XG59XG5cbi8vLyBDcmVhdGVzIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gWyRmbGV4dmlkZW8tcmF0aW9dIC0gUmF0aW8gdG8gdXNlIGZvciB0aGUgY29udGFpbmVyLCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRmbGV4dmlkZW8tcmF0aW8pIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRyYXRpbyk7XG4gIG1hcmdpbi1ib3R0b206ICRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBpZnJhbWUsXG4gIG9iamVjdCxcbiAgZW1iZWQsXG4gIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSBmbGV4LXZpZGVvO1xuXG4gICAgJi53aWRlc2NyZWVuIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiBmbGV4LXZpZGVvKCRmbGV4dmlkZW8tcmF0aW8td2lkZXNjcmVlbik7XG4gICAgfVxuXG4gICAgJi52aW1lbyB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBiYXNlIHN0eWxlcyBmb3IgYSBsYWJlbC5cbkBtaXhpbiBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGxhYmVsLXBhZGRpbmc7XG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJGxhYmVsLXJhZGl1cztcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJG5hbWUgIT0gcHJpbWFyeSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgICBjb2xvcjogZm9yZWdyb3VuZCgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgKyBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBzaWRlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGhcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuXG4gICAgICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYXJyb3dzIGFyZSBhZGRlZCB0byB0aGUgbmV4dCBhbmQgcHJldmlvdXMgbGlua3Mgb2YgcGFnaW5hdGlvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tO1xuXG4gIC8vIExpc3QgaXRlbVxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1mb250LXNpemU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXM7XG5cbiAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgJjpsYXN0LWNoaWxkLFxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgY3VycmVudCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50O1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGVsbGlwc2lzIGZvciB1c2UgaW4gYSBwYWdpbmF0aW9uIGxpc3QuXG5AbWl4aW4gcGFnaW5hdGlvbi1lbGxpcHNpcyB7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcGFnaW5hdGlvbiB7XG4gIC5wYWdpbmF0aW9uIHtcbiAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWNvbnRhaW5lcjtcblxuICAgIC5jdXJyZW50IHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1jdXJyZW50O1xuICAgIH1cblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLmVsbGlwc2lzOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWVsbGlwc2lzO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkcGFnaW5hdGlvbi1hcnJvd3Mge1xuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICB9XG5cbiAgICAucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuICAgIC5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYmInO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBwcm9ncmVzcyBiYXIgY29udGFpbmVyLlxuQG1peGluIHByb2dyZXNzLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuICBoZWlnaHQ6ICRwcm9ncmVzcy1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1tYXJnaW4tYm90dG9tO1xuICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBtZXRlciBvZiBhIHByb2dyZXNzIGJhci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRleHQgaW4gdGhlIHByb2dyZXNzIG1ldGVyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyLXRleHQge1xuICBAaW5jbHVkZSBhYnNvbHV0ZS1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogJHdoaXRlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyIHtcbiAgLy8gUHJvZ3Jlc3MgYmFyXG4gIC5wcm9ncmVzcyB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyXG4gIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG4gIH1cblxuICAvLyBJbm5lciBtZXRlciB0ZXh0XG4gIC5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlci10ZXh0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gW1RPRE9dIENoZWNrIGhvdyBwbHVnaW4gY29uZmlybXMgZGlzYWJsZWQgb3IgdmVydGljYWwgc3RhdHVzXG4vLyBbVE9ET10gQ2hlY2sgaWYgdHJhbnNpdGlvbjogYWxsOyBpcyBuZWNlc3NhcnlcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgc2xpZGVyIHdpZHRoIG9mIGEgdmVydGljYWwgc2xpZGVyLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnRpZXMgdG8gYXBwbHkgdG8gdGhlIHNsaWRlciBoYW5kbGUgYW5kIGZpbGwuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRoZSBzbGlkZXIgaGFuZGxlcy5cbkBtaXhpbiBzbGlkZXItaGFuZGxlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleCArIDE7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcbiAgYm9yZGVyOiAkcmV2ZWFsLWJvcmRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgRHVwbGljYXRlUHJvcGVydHlcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAyLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzRyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtd2lkdGggWzEuNXJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIHBhZGRsZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICR3aWR0aDogNHJlbSxcbiAgJGhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS13aWR0aDogMS41cmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG4gICRwYWRkbGUtaGVpZ2h0OiAkaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtbGVmdC1hY3RpdmU6ICR3aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWxlZnQtYWN0aXZlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksIDNyZW0sICRzd2l0Y2gtaGVpZ2h0LXRpbnksIDFyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksIDMuNXJlbSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsIDEuMjVyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksIDVyZW0sICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAycmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3IsIFF1YWxpZnlpbmdFbGVtZW50XG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgaGVhZGVyIHdoZW4gdXNpbmcgc3RhY2tlZCB0YWJsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZSAhZGVmYXVsdDtcblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZCBhbmQgZm9vdFxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG5cbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRyIHtcbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgICBAaWYgJHN0cmlwZSA9PSBldmVuIHtcbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgICBAZWxzZSBpZiAkc3RyaXBlID09IG9kZCB7XG4gICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBldmVuIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAaWYoJHRhYmxlLXN0cmlwZSA9PSBldmVuKSB7XG4gICAgICAmOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy9EYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDaGVja3MgdGhlIGxpZ2h0bmVzcyBvZiBgJGNvbG9yYCwgYW5kIGlmIGl0IHBhc3NlcyB0aGUgYCR0aHJlc2hvbGRgIG9mIGxpZ2h0bmVzcywgaXQgcmV0dXJucyB0aGUgYCR5ZXNgIGNvbG9yLiBPdGhlcndpc2UsIGl0IHJldHVybnMgdGhlIGAkbm9gIGNvbG9yLiBVc2UgdGhpcyBmdW5jdGlvbiB0byBkeW5hbWljYWxseSBvdXRwdXQgYSBmb3JlZ3JvdW5kIGNvbG9yIGJhc2VkIG9uIGEgZ2l2ZW4gYmFja2dyb3VuZCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIGNoZWNrIHRoZSBsaWdodG5lc3Mgb2YuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHllcyBbJGJsYWNrXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBsaWdodC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkbm8gWyR3aGl0ZV0gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgZGFyay5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzYwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IFRoZSAkeWVzIGNvbG9yIG9yICRubyBjb2xvci5cbkBmdW5jdGlvbiBmb3JlZ3JvdW5kKCRjb2xvciwgJHllczogJGJsYWNrLCAkbm86ICR3aGl0ZSwgJHRocmVzaG9sZDogNjAlKSB7XG4gIEBpZiAkY29sb3IgPT0gdHJhbnNwYXJlbnQge1xuICAgICRjb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxuICBAaWYgKGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCkge1xuICAgIEByZXR1cm4gJHllcztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiAkbm87XG4gIH1cbn1cblxuLy8vIFNjYWxlcyBhIGNvbG9yIHRvIGJlIGxpZ2h0ZXIgaWYgaXQncyBsaWdodCwgb3IgZGFya2VyIGlmIGl0J3MgZGFyay4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gdGludCBhIGNvbG9yIGFwcHJvcHJpYXRlIHRvIGl0cyBsaWdodG5lc3MuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBzY2FsZS5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICRzY2FsZSBbNSVdIC0gQW1vdW50IHRvIHNjYWxlIHVwIG9yIGRvd24uXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs0MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBBIHNjYWxlZCBjb2xvci5cbkBmdW5jdGlvbiBzbWFydC1zY2FsZSgkY29sb3IsICRzY2FsZTogNSUsICR0aHJlc2hvbGQ6IDQwJSkge1xuICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkIHtcbiAgICAkc2NhbGU6IC0kc2NhbGU7XG4gIH1cbiAgQHJldHVybiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRzY2FsZSk7XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIHZhcmlhYmxlIGludG8gdGhlIGxlZ2FjeSBjb2xvciB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBhY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkdGFiLW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIkBjaGFyc2V0ICd1dGYtOCc7XG5AaW1wb3J0ICdmb3VuZGF0aW9uLXNldHRpbmdzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24nO1xuQGltcG9ydCAnbW90aW9uLXVpJztcblxuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuXG5AaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcbkBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbkBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG5AaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbi8vQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuLy9AaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbkBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbkBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG5AaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4vL0BpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcblxuQGluY2x1ZGUgbW90aW9uLXVpLXRyYW5zaXRpb25zO1xuQGluY2x1ZGUgbW90aW9uLXVpLWFuaW1hdGlvbnM7XG5cbi8qXG4qIEZ1bmtjZSBpIG1peGlucyBqc291IG5hIG5lanZ5xaHFocOtIMO6cm92bmkgLT4gdnl1xb5pdMOtIHZlIHbFoWVjaCBzdHlsZWNoIVxuKiBTb3Vib3IgZ2xvYmFsLXNldHRpbmcgamUgbmFkIGFwcC1zZXR0aW5nIHogZMWvdm9kdSBtb8W+bm9zdGkgcMWZZWtyw710IGluZGl2aWR1w6FsbsOtbSBhcHAtc2V0dGluZ3NcbiogcHJvIGplZG5vdGxpdsOpIGluc3RhbmNlIHN5c3TDqW11LlxuKi9cblxuLy8gLS0tLS0tLSBpbXBvcnRzIERTLUZFIHByb3RvdHlwZSBjb21wb25lbnRzIC0tLS0tLS1cbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9wcm90b3R5cGVzL2NvbXBvbmVudHMvdGFibGUtcmVzcG9uc2l2ZSc7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvaGVscGVycy9mdW5jdGlvbnMnO1xuQGltcG9ydCAnRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9oZWxwZXJzL2dsb2JhbC1zZXR0aW5ncyc7XG5AaW1wb3J0ICdhcHAtc2V0dGluZ3MnO1xuQGltcG9ydCAnZm9udHMnO1xuXG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9sYXlvdXQvbGF5b3V0JztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL2xheW91dC90b3AtYmFyJztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL2xheW91dC9jb250ZW50LWhlYWRlcic7XG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9sYXlvdXQvY29udGVudCc7XG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9sYXlvdXQvbmF2JztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL2xheW91dC9hc2lkZSc7XG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9sYXlvdXQvZm9vdGVyJztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL2xheW91dC9mbGV4LWdyaWQnO1xuXG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9oYW1idXJnZXJzJztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL2RhdGVwaWNrZXInO1xuQGltcG9ydCAnaGFtYnVyZ2Vycy9oYW1idXJnZXJzJztcbkBpbXBvcnQgJ2ZvdW5kYXRpb24tZGF0ZXBpY2tlci5zY3NzJztcbkBpbXBvcnQgJ21hZ25pZmljLXBvcHVwL3NyYy9jc3MvbWFpbi5zY3NzJztcbkBpbXBvcnQgJ3NwaW5uZXJzJztcblxuQGltcG9ydCAnRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvaWNvbnMnO1xuQGltcG9ydCAnRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvbG9hZGluZy1zcGlubmVycyc7XG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9mb3JtLWVsZW1lbnRzJztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL3R5cG9ncmFwaHktZWxlbWVudHMnO1xuQGltcG9ydCAnRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvZHJvcGRvd24tbGlzdCc7XG5AaW1wb3J0ICdEUy1GRS9zcmMvYXNzZXRzL3Njc3MvY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ0RTLUZFL3NyYy9hc3NldHMvc2Nzcy9jb21wb25lbnRzL2xpc3QnO1xuQGltcG9ydCAnRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvbG9naW4tc2NyZWVuJztcblxuQGluY2x1ZGUgZ2VuZXJhdGVTcm9sbFRhYmxlKCk7XG5AaW5jbHVkZSBnZW5lcmF0ZUZsZXhTb25hdGFUYWJsZSgpO1xuXG4vL3NvbmF0YVxuQGltcG9ydCAnRFMtRkUvc3JjL2Fzc2V0cy9zY3NzL2NvbXBvbmVudHMvc29uYXRhLXRhYmxlJztcblxuQGltcG9ydCAnY3VzdG9tL3NvbmF0YS1nbG9iYWwnO1xuQGltcG9ydCAnY3VzdG9tL3NvbmF0YS10YWJsZS1ncmlkJztcbkBpbXBvcnQgJ2N1c3RvbS9taXhpbnMnO1xuQGltcG9ydCAnY3VzdG9tL21haW4nO1xuQGltcG9ydCAnY3VzdG9tL2Rhc2hib2FyZHMnO1xuQGltcG9ydCAnY3VzdG9tL2RhaWx5LWNvbnN0cnVjdGlvbi1yZWNvcmQnO1xuQGltcG9ydCAnY3VzdG9tL2VtYWlsLWxvZyc7XG5AaW1wb3J0ICdjdXN0b20vZW1haWwnO1xuQGltcG9ydCAnY3VzdG9tL2pvYi1pbnRlcnZpZXcnO1xuQGltcG9ydCAnY3VzdG9tL2pvYi1vcmRlcic7XG5AaW1wb3J0ICdjdXN0b20vam9iLW9yZGVyLWF0dGVuZGFuY2UnO1xuQGltcG9ydCAnY3VzdG9tL3Rvb2wnO1xuQGltcG9ydCAnY3VzdG9tL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY3VzdG9tL3BheW1lbnQnO1xuQGltcG9ydCAnY3VzdG9tL3BlcnNvbic7XG5AaW1wb3J0ICdjdXN0b20vcHVyY2hhc2VyJztcbkBpbXBvcnQgJ2N1c3RvbS9zd2l0Y2gnO1xuQGltcG9ydCAnaGVscGVycy91dGlscyc7XG5cbkBpbXBvcnQgJ3dlYi92ZW5kb3IvYm9vdHN0cmFwLWNvbG9ycGlja2VyL3NyYy9zYXNzL19jb2xvcnBpY2tlci5zY3NzJztcblxuXG4iLCIvKiBnbG9iYWwgLSAgbmFzdGF2ZW7DrSBrb21wb25lbnQgbnV0bsOpIHBybyB6w6FrbGFkbsOtIHJvenZyxb5lbsOtLFxuKiAgdHl0byBob2Rub3R5IGplIG51dG7DqSBtw610IG5hc3RhdmVuw6kgaSBwxZllcyB0bywgxb5lIHNlIHMgbmltaSBuZXByYWN1amUgdiBhcHAtc2V0dGluZ3MuXG4qL1xuLy8gLS0tLS0tLS0tXG5cbiRiYXNlLWZvbnQtc2l6ZXM6IChcbiAgICBudWxsOiByZW0tY2FsYygxMiksXG4gICAgbGFyZ2U6IHJlbS1jYWxjKDEzKSxcbiAgICB4bGFyZ2U6IHJlbS1jYWxjKDE0KSxcbiAgICB4eGxhcmdlOiByZW0tY2FsYygxNSksXG4pO1xuJGJhc2UtZm9ybS1lbGVtZW50cy1oZWlnaHRzOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMzVweCksXG4gICAgbGFyZ2U6IHJlbS1jYWxjKDM3cHgpLFxuICAgIHhsYXJnZTogcmVtLWNhbGMoNDBweCksXG4gICAgeHhsYXJnZTogcmVtLWNhbGMoNDJweCksXG4pO1xuJGJhc2Utc2hhZG93LWNvbG9yOiByZ2JhKCRibGFjaywgLjIpO1xuJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZjogZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDIpO1xuJGJhc2UtZWxlbWVudC1ndXR0ZXItdGhpcmQ6IGdldE1hcERpdigkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAzKTtcbiRiYXNlLWVsZW1lbnQtZ3V0dGVyLXF1YXJ0ZXI6IGdldE1hcERpdigkZ3JpZC1jb2x1bW4tZ3V0dGVyLCA0KTtcbiRiYXNlLWVsZW1lbnQtZ3V0dGVyLWJvdHRvbTogJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZjtcbiRiYXNlLWVsZW1lbnQtZ3V0dGVyLXRvcDogJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZjtcblxuJHppbmRleC12YWx1ZXM6IChcbiAgICB0b3BiYXI6IDIwLFxuICAgIGNvbnRlbnRoZWFkZXI6IDEwLFxuICAgIG5hdjogMTEsXG4gICAgYXNpZGU6IDksXG4gICAgY29udGVudDogN1xuKTtcbiRtYWluLWNvbnRlbnQtd3JhcHBlci1wYWRkaW5nOiAoXG4gICAgICAgIG51bGw6IHJlbS1jYWxjKDE1KSxcbiAgICAgICAgbWVkaXVtOiByZW0tY2FsYygyMCksXG4pO1xuLy8gYXNpZGUgLSB1c2VkIGluIGxheW91dFxuLy8gLS0tLS0tLS0tXG4kYXNpZGUtc2l6ZXM6IChcbiAgICBudWxsOiAxMDAlLFxuICAgIHNtYWxsOiByZW0tY2FsYygxODApLFxuICAgIGxhcmdlOiByZW0tY2FsYygyMDApLFxuICAgIHhsYXJnZTogcmVtLWNhbGMoMjIwKSxcbiAgICB4eGxhcmdlOiByZW0tY2FsYygyNDApLFxuKTtcbi8vIG5hdiAtIHVzZWQgaW4gbGF5b3V0XG4vLyAtLS0tLS0tLS1cbiRuYXYtc2l6ZXM6KFxuICAgIG51bGw6IDEwMCUsXG4gICAgc21hbGw6IHJlbS1jYWxjKDE4MCksXG4gICAgbGFyZ2U6IHJlbS1jYWxjKDIwMCksXG4gICAgeGxhcmdlOiByZW0tY2FsYygyMjApLFxuICAgIHh4bGFyZ2U6IHJlbS1jYWxjKDI0MCksXG4pO1xuXG4kaGFzLWN1c3RvbS1yZXNwb25zaXZlLWNsYXNzZXM6IHRydWU7IiwiaDIge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xufVxuaDQge1xuICAgIGNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vL3R5cG9ncmFwaHlcblxuLy8gdG9wIGJhclxuLy8gLS0tLS0tLS0tXG4kdG9wLWJhci1iZzogJHdoaXRlO1xuJHRvcC1iYXItYm9yZGVyLXN0eWxlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHRvcC1iYXItaGFzLXNoYWRvdzogdHJ1ZTtcbiR0b3AtYmFyLXNoYWRvdzogMCAwIDVweCAkYmFzZS1zaGFkb3ctY29sb3I7XG4kdG9wLWJhci1sb2dvLXNpemU6IChcbiAgICBudWxsOiA2MCUsXG4gICAgbWVkaXVtOiA3NSVcbik7XG4kdG9wLWJhci10aXRsZS13aWR0aHM6IChcbiAgICAgICAgbnVsbDogYXV0byxcbiAgICAgICAgc21hbGw6IHJlbS1jYWxjKDIyMCksXG4gICAgICAgIHhsYXJnZTogcmVtLWNhbGMoMjIwKSxcbiAgICAgICAgeHhsYXJnZTogcmVtLWNhbGMoMjQwKSxcbik7XG4kdGl0bGUtcHJpbWFyeS1jb2xvcjogJHdoaXRlO1xuJHRpdGxlLXNlY29uZGFyeS1jb2xvcjogbWl4KCR3aGl0ZSwgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSwgNTAlKTtcbiR0aXRsZS1iZzogJHdoaXRlO1xuJHRpdGxlLWJnLXNoYWRvdzogbnVsbDtcbiR0b3AtYmFyLWljb25zLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4kZHJvcGRvd24taW4tdG9wLWJhcjogdHJ1ZTtcbiRkcm9wZG93bi1pbi10b3AtYmFyLWNvbG9yOiAkd2hpdGU7XG4kZHJvcGRvd24taW4tdG9wLWJhci1zbWFsbC1jb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiRkcm9wZG93bi1pbi10b3AtYmFyLXByaW1hcnktY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyb3Bkb3duLWluLXRvcC1iYXItbGluay1wYWRkaW5nOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMCAxMCAwIDEwKSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDAgMTYgMCAxNiksXG4pO1xuXG4vLyBjb250ZW50IGhlYWRlclxuLy8gLS0tLS0tLS0tXG4kY29udGVudC1oZWFkZXItcGFkZGluZzogKFxuICAgIG51bGw6IHJlbS1jYWxjKGdldEJhc2VHdXR0ZXIoeHNtYWxsKSAwIDAgMCksXG4gICAgbWVkaXVtOiByZW0tY2FsYyhnZXRCYXNlR3V0dGVyKG1lZGl1bSkgMCAwIDApLFxuKTtcbiRjb250ZW50LWhlYWRlci1oMS1mb250LXNpemU6IChcbiAgICB4c21hbGw6IHJlbS1jYWxjKDE5KSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDIzKSxcbiAgICB4bGFyZ2U6IHJlbS1jYWxjKDI1KVxuKTtcbiRjb250ZW50LWhlYWRlci1oMS13ZWlnaHQ6IGJvbGQ7XG4vLyBuYXZcbi8vIC0tLS0tLS0tLVxuJG5hdi1sZXZlbDAtaXRlbS1ib3JkZXI6IDFweCBzb2xpZCBtaXgoJHNlY29uZGFyeS1jb2xvciwgJGJsYWNrLCA5MCUpO1xuJG5hdi1sZXZlbDAtaWNvbi1jb2xvcjogJHdoaXRlO1xuJG5hdi1sZXZlbDAtYXJyb3ctY29sb3I6IG1peCgkc2Vjb25kYXJ5LWNvbG9yLCAkd2hpdGUsIDcwJSk7XG4kbmF2LWxldmVsMC1iYWNrZ3JvdW5kOiBtaXgoJHNlY29uZGFyeS1jb2xvciwgJGJsYWNrLCA3MCUpO1xuJG5hdi1sZXZlbDAtbGluay1jb2xvcjogJHdoaXRlO1xuJG5hdi1sZXZlbDAtY3VycmVudC1jb2xvcjogJHdoaXRlO1xuJG5hdi1sZXZlbDAtY3VycmVudC1iZzogbWl4KCRzZWNvbmRhcnktY29sb3IsICRibGFjaywgNTAlKTtcbiRuYXYtbGV2ZWwwLWN1cnJlbnQtYmctaG92ZXI6IG1peCgkc2Vjb25kYXJ5LWNvbG9yLCAkYmxhY2ssIDYwJSk7XG4kbmF2LWxldmVsMS1pY29uLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRuYXYtbGV2ZWwxLWxpbmstY29sb3I6ICBtaXgoJHNlY29uZGFyeS1jb2xvciwgJHdoaXRlLCA3MCUpO1xuJG5hdi1sZXZlbDEtY3VycmVudC1jb2xvcjogJHdoaXRlO1xuJG5hdi1sZXZlbDEtY3VycmVudC1iZy1ob3ZlcjogbWl4KCRzZWNvbmRhcnktY29sb3IsICRibGFjaywgNzAlKTtcbiRuYXYtbGV2ZWwyLWxpbmstY29sb3I6IG1peCgkc2Vjb25kYXJ5LWNvbG9yLCAkd2hpdGUsIDgwJSk7XG4kbmF2LWxldmVsMi1jdXJyZW50LWNvbG9yOiAkd2hpdGU7XG5cbiRuYXYtc2l6ZXM6KFxuICAgIG51bGw6IDEwMCUsXG4gICAgc21hbGw6IHJlbS1jYWxjKDIwMCksXG4gICAgeGxhcmdlOiByZW0tY2FsYygyMjApLFxuICAgIHh4bGFyZ2U6IHJlbS1jYWxjKDI0MCksXG4pO1xuXG5cbi8vIGhhbWJ1cmdlclxuLy8gLS0tLS0tLS0tXG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4vLyBjb250ZW50XG4vLyAtLS0tLS0tLS1cbiRjb250ZW50LWhlYWRlci1oMS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kY29udGVudC1oZWFkZXItaGFzLXNoYWRvdzogZmFsc2U7XG4kY29udGVudC1oZWFkZXItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyBhc2lkZVxuLy8gLS0tLS0tLS1cbiRhc2lkZS1ib3R0b20tc3dpdGNoLXZpc2liaWxpdHk6IGhpZGRlbjtcbiRhc2lkZS1zaXplczogKFxuICAgIG51bGw6IDEwMCUsXG4gICAgc21hbGw6IHJlbS1jYWxjKDIwMCksXG4gICAgeGxhcmdlOiByZW0tY2FsYygyMjApLFxuICAgIHh4bGFyZ2U6IHJlbS1jYWxjKDI0MCksXG4pO1xuXG4vLyBjYWxsb3V0XG4vLyAtLS0tLS0tLS1cbiRjYWxsb3V0LW1hcmdpbjogKFxuICAgIG51bGw6IHJlbS1jYWxjKDAgMCAxMCAwKSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDAgMCAyMCAwKSxcbik7XG5cbi8vIENsb3NlIGJ1dHRvblxuLy8gLS0tLS0tLS0tXG4kY2xvc2UtYnV0dG9uLXNpemU6IDJyZW07XG5cbi8vIGZvb3RlclxuLy8gLS0tLS0tLS0tXG4kZm9vdGVyLXNpemVzOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMzApLFxuICAgIHhzbWFsbDogcmVtLWNhbGMoMzUpLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoNDUpLFxuICAgIGxhcmdlOiByZW0tY2FsYyg1NSksXG4pO1xuJGZvb3Rlci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG5cbi8vIGZvcm1cbiRsYWJlbC1yZXF1aXJlZC1zeW1ib2w6IFwiKlwiO1xuJGxhYmVsLXJlcXVpcmVkLXN5bWJvbC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRsYWJlbC1yZXF1aXJlZC1zeW1ib2wtc2l6ZTogJGJhc2UtZm9udC1zaXplcztcbiRidXR0b24tZm9udC13ZWlnaHQ6IGJvbGQ7XG4kbGVnZW5kLWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGxlZ2VuZC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuJGxlZ2VuZC1mb250LXdlaWdodDogNzAwO1xuJGxlZ2VuZC1mb250LXNpemVzOiAoXG4gICAgICAgIG51bGw6IHJlbS1jYWxjKDE2KSxqZVxuICAgICAgICBtZWRpdW06IHJlbS1jYWxjKDE4KSxcbiAgICAgICAgbGFyZ2U6IHJlbS1jYWxjKDIwKVxuKTtcbiRsZWdlbmQtbWFyZ2luLWJvdHRvbTogJGJhc2UtZWxlbWVudC1ndXR0ZXItcXVhcnRlcjtcbiRsZWdlbmQtbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcbi5mb3JtLWVycm9yIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG59XG5cbi8vaWNvbnNcbiRpY29uLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yO1xuXG4vLyBIZWFkZXIgaWNvbnNcbiRoZWFkZXItaWNvbnMtc2l6ZTogcmVtLWNhbGMoMTgpO1xuJGhlYWRlci1pY29ucy1wYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcblxuXG4vL2xpc3RcbiR0YWJsZS1ib2R5LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHRhYmxlLWhlYWQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtaGVhZC1iZzogJHdoaXRlO1xuJHRhYmxlLWdyaWQtY29sczogMjQ7XG4kdGFibGUtc2l6ZXM6IChcbiAgICBudWxsOiA3NjhweCxcbiAgICBtZWRpdW06IDEyMDBweCxcbiAgICBsYXJnZTogMTYwMHB4XG4pO1xuXG4vLyBUYWcgTGlzdFxuJHNvbmF0YS10YWctbGlzdC1tYXJnaW46IChcbiAgICBudWxsOiByZW0tY2FsYygxMCksXG4gICAgbGFyZ2UgOiByZW0tY2FsYygxNSksXG4pO1xuJHNvbmF0YS10YWctbGlzdC1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcblxuJHNvbmF0YS10YWJsZS1oZWFkLXdlaWdodDogYm9sZDtcbiRzb25hdGEtdGFibGUtaGVhZC1iZy1hY3RpdmU6IG1peCgkdGFibGUtaGVhZC1iZywgJGJsYWNrLCA5OCUpO1xuXG4vLyBjdXN0b20gcHJvamVjdCBjb2xvcnNcblxuJGN1c3RvbUNvbG9yc1BhbGV0ZTogKFxuICAgIFllbGxvdzogI2ZmZDczOCxcbiAgICBHcmVlbjogIzAwODAwMCxcbiAgICBSZWQ6ICNmZjAwMDAsXG4gICAgQmxhY2s6ICMwMDAsXG4gICAgUHVycGxlOiAjOEI0Nzg5LFxuICAgIERhcmtibHVlOiAjNjJBM0NGLFxuICAgIExpZ2h0Ymx1ZTogI0NBRTZFNixcbiAgICBPcmFuZ2U6ICNmMzY3MTcsXG4gICAgT3JlOiAjOEExRDFELFxuICAgIFdoaXRlOiAjRkZGRkZGLFxuICAgIEJyb3duOiAjM0EyRTEwLFxuICAgIEJsdWU6ICM3NGJmZGRcbik7XG5cbi8vRGFzaGJvYXJkIHNldHRpbmdzXG4kZWxlbWVudFN0eWxlQ29sb3I6IGRlc2F0dXJhdGUobGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCAzMCUpLCAxMCUpO1xuXG4kZHJvcGRvd24tbWVudS1hbmNob3ItY29sb3I6ICM1NTU7XG4kZHJvcGRvd24tbWVudS1ib3JkZXItY29sb3I6IHJnYmEoMjE1LDIwNiwxODUsMC41KTtcbiRkcm9wZG93bi1tZW51LWJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG5cbiR0cmFuc2l0aW9uLXRpbWU6IDMwMG1zO1xuJHRyYW5zaXRpb24tdHlwZTogZWFzZTtcblxuJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3I6IGxhcmdlO1xuXG4kZC13aWRnZXQtaGVhZGVyLWZvbnQtc2l6ZTogKFxuICAgICAgICBudWxsOiByZW0tY2FsYygxNiksXG4gICAgICAgIG1lZGl1bSA6IHJlbS1jYWxjKDE4KSxcbiAgICAgICAgbGFyZ2U6IHJlbS1jYWxjKDIyKVxuKTtcbiIsIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIk1vbnRzZXJyYXRcIjtcbiAgICBzcmM6IHVybCgnLi4vZm9udHMvTW9udHNlcnJhdC1yZWd1bGFyLndvZmYnKSBmb3JtYXQoJ3dvZmYnKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xufVxuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiTW9udHNlcnJhdFwiO1xuICAgIHNyYzogdXJsKCcuLi9mb250cy9Nb250c2VycmF0LUJvbGQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xufSIsIkBpbXBvcnQgJy4uLy4uL3NldHRpbmdzL2xheW91dC1zZXR0aW5ncyc7XG5cbmh0bWwsIGJvZHl7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xufVxuYm9keXtcbiAgICBmb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG4udG9wQmFye1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbn1cbi5tYWluV3JhcHBlcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiAkbGF5b3V0LW1haW4td3JhcHBlci1mbGV4LWRpcmVjdGlvbjtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwOyAvLyBmaXJlZm94IGJ1Z1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbm5hdntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgei1pbmRleDogeihuYXYpO1xuICAgIEBpbmNsdWRlIG9mZmNhbnZhcygpO1xufVxuLm1pZGRsZVJpZ2h0V3JhcHBlcntcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICAuY29udGVudEhlYWRlcntcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBpZiAoJGxheW91dC1jb250ZW50LWhhcy1zY3JvbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGF5b3V0LWNvbnRlbnQtc2Nyb2xsLWJyZWFrcG9pbnQgdXApe1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgICAgICAgIC5jb250ZW50e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246ICRsYXlvdXQtY29udGVudC1mbGV4LWRpcmVjdGlvbjtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKXtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1sZWZ0LCAkbmF2LXNpemVzKTtcbiAgICAgICAgLnRvZ2dsZUxlZnRTaWRlYmFyRGVza3RvcCAme1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKXtcbiAgICAgICAgLmNvbnRlbnR7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1yaWdodCwgJGFzaWRlLXNpemVzKTtcbiAgICAgICAgICAgICYudG9nZ2xlUmlnaHRTaWRlYmFyRGVza3RvcHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuYXJ0aWNsZXtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbGV4OiBhdXRvO1xuICAgIEBpZiAoJGxheW91dC1hcnRpY2xlLWhhcy1zY3JvbGwpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbGF5b3V0LWFydGljbGUtc2Nyb2xsLWJyZWFrcG9pbnQgdXApe1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5hc2lkZXtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIEBpbmNsdWRlIG9mZmNhbnZhcyhcInJpZ2h0XCIsIFwieHhsYXJnZVwiLCBcIi50b2dnbGVSaWdodFNpZGViYXJNb2JpbGVcIiwgXCIudG9nZ2xlUmlnaHRTaWRlYmFyRGVza3RvcFwiKTtcbn1cbi5mb290ZXJ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleDogMCAwIGF1dG87XG59IiwiJGxheW91dC1tYWluLXdyYXBwZXItZmxleC1kaXJlY3Rpb246IHJvdyAhZGVmYXVsdDtcblxuJGxheW91dC1jb250ZW50LWZsZXgtZGlyZWN0aW9uOiByb3cgIWRlZmF1bHQ7XG4kbGF5b3V0LWNvbnRlbnQtaGFzLXNjcm9sbDogdHJ1ZSAhZGVmYXVsdDtcbiRsYXlvdXQtY29udGVudC1zY3JvbGwtYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4kbGF5b3V0LWFydGljbGUtaGFzLXNjcm9sbDogdHJ1ZSAhZGVmYXVsdDtcbiRsYXlvdXQtYXJ0aWNsZS1zY3JvbGwtYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0OyIsIi8vLyBHZW5lcnVqZSB2bGFzdG5vc3RpIG5hIHrDoWtsYWRlIMWhw61ya292w71jaCBicmVha3BvaW50b3YgKG1vYmlsZSBmaXJzdCkgb2JzYWh1asO6Y2Ugdmxhc3Rub3N0aSBwb2RsYSBwcmVkYW7DvWNoIHBhcmFtZXRyb2NoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgLSBuw6F6b3Ygdmxhc3Rub3N0aSwga3RvcsOhIHNhIGJ1ZGUgZ2VuZXJvdmHFpSBuYSByw7R6bnljaCBicmVha3BvaW50b2NoICAoZm9udC1zaXplLCBtYXJnaW4pXG4vLy8gQHBhcmFtIHtNYXB9ICRzLW1hcCAtIHBvbGUgcyBob2Rub3RhbWkgZGFuZWogdmxhc3Rub3N0aS4gXG4vLy8gQHBhcmFtIHtNYXB9ICRzLWJyZWFrcG9pbnRzIC0gaG9kbm90eSBicmVha3BvaW50dSBtZWRpYSBxdWVyeS5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGRlc2lnbi1waGlsb3NvcGh5IC0gZmlsb3pvZmlhIGRpemFqbnUgKG1pbi13aWR0aCwgbWF4LXdpZHRoKVxuQG1peGluIHJlc3BvbnNpdmUtc2l6ZSgkcHJvcGVydHksICRzLW1hcCwgJHMtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cywgJGRlc2lnbi1waGlsb3NvcGh5OiBtaW4td2lkdGgsICRyZW0tY2FsYyA6IG51bGwpIHtcbiAgICBAaWYgdHlwZS1vZigkcy1tYXApID09ICdtYXAnIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRzLW1hcCwgYnJlYWtwb2ludHMpIGFuZCBtYXAtaGFzLWtleSgkcy1tYXAsIHNpemVzKSB7XG4gICAgICAgICAgICAkcy1icmVha3BvaW50czogbWFwX2dldCgkcy1tYXAsIGJyZWFrcG9pbnRzKTtcbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkcy1tYXAsIHBoaWxvc29waHkpIHtcbiAgICAgICAgICAgICAgICAkZGVzaWduLXBoaWxvc29waHk6IG1hcC1nZXQoJHMtbWFwLCBwaGlsb3NvcGh5KVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJHMtbWFwOiBtYXBfZ2V0KCRzLW1hcCwgc2l6ZXMpO1xuICAgICAgICB9XG4gICAgICAgIEBlYWNoICRzLWJyZWFrcG9pbnQsICRzLXNpemUgaW4gJHMtbWFwIHtcbiAgICAgICAgICAgIEBpZiB0eXBlLW9mKCRzLXNpemUpID09ICdudW1iZXInIGFuZCBpcy1hYnNvbHV0ZS1sZW5ndGgoJHMtc2l6ZSkge1xuICAgICAgICAgICAgICAgICRzLXNpemU6IHJlbS1jYWxjKCRzLXNpemUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGlmICRzLWJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICAgICAgICAgICAgI3skcHJvcGVydHl9OiAkcy1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkcy1icmVha3BvaW50cywgJHMtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAkcy1icmVha3BvaW50OiBtYXAtZ2V0KCRzLWJyZWFrcG9pbnRzLCAkcy1icmVha3BvaW50KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKCN7JGRlc2lnbi1waGlsb3NvcGh5fTogJHMtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICRzLXNpemU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gR2VuZXJ1amUgdnlzdXZhY2llIG1lbnVcbi8vLyBAcGFyYW0ge1N0cmluZ30gJHBvc2l0aW9uIC0gbsOhem92IHZsYXN0bm9zdGksIHByZSB1bWllc3RuZW5pZSBtZW51IChcImxlZnRcIiwgXCJyaWdodFwiKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkYnJlYWsgLSBuYXN0YXZlbmllIGJyZWFrcG9pbnR1IHYga3Rvcm9tIHNhIG1lbnUgem9icmF6w60gKFwieHhsYXJnZVwiLCBcInhzbWFsbFwiKVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbW9iaWxlVG9nZ2xlQ2xhc3MgLSB2w71iZXIgdHJpZWR5IG5hIGt0b3J1IHJlZmVydWplIGZ1bmtjaWEgKHRvZ2dsZSkgcHJlIHNrcnl0aWUgbWVudVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZGVza3RvcFRvZ2dsZUNsYXNzIC0gdsO9YmVyIHRyaWVkeSBuYSBrdG9ydSByZWZlcnVqZSBmdW5rY2lhICh0b2dnbGUpIHByZSB6b2JyYXplbmllIG1lbnVcbkBtaXhpbiBvZmZjYW52YXMoJHBvc2l0aW9uOiBcImxlZnRcIiwgJGJyZWFrOiBcImxhcmdlXCIsICRtb2JpbGVUb2dnbGVDbGFzczogXCIudG9nZ2xlTGVmdFNpZGViYXJNb2JpbGVcIiwgJGRlc2t0b3BUb2dnbGVDbGFzczogXCIudG9nZ2xlTGVmdFNpZGViYXJEZXNrdG9wXCIpIHtcbiAgICAjeyRwb3NpdGlvbn06IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZTtcbiAgICBAaWYgJHBvc2l0aW9uID09IFwibGVmdFwiIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCk7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCk7XG4gICAgfVxuICAgICYjeyRtb2JpbGVUb2dnbGVDbGFzc317XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoI3skYnJlYWt9IHVwKXtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAgICAgJiN7JG1vYmlsZVRvZ2dsZUNsYXNzfXtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgICAgI3skZGVza3RvcFRvZ2dsZUNsYXNzfSAme1xuICAgICAgICAgICAgQGlmICRwb3NpdGlvbiA9PSBcImxlZnRcIiB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgtMTAwJSwgMCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMTAwJSwgMCwgMCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi8vLyBHZW5lcnVqZSB0xZnDrWR5IHBvZGxlIMWhw63FmWtvdsO9Y2ggYnJlYWtwb2ludMWvIChtb2JpbGUgZmlyc3QpIG9ic2FodWrDrWPDrSB2bGFzdG5vc3RpIGRsZSBwxZllZGFuw71jaCBwYXJhbWV0csWvLlxuLy8vIEBwYXJhbSB7U3RyaW5nIC0ga8S+w7rEjSBtYXB5fSAka2V5XG5AbWl4aW4gemluZGV4LW1hbmFnZXIoJGtleSA6IG51bGwpIHtcbiAgQGlmICgka2V5ICE9IG51bGwpIHtcbiAgICB6LWluZGV4OiBtYXAtZ2V0KCR6aW5kZXgtdmFsdWVzLCAka2V5KTtcbiAgfVxufVxuLy8vIFZ5a29uw6EgZGFuw70gb2JzYWggbWl4aW51LCBhayBqZSBuYXN0YXZlbsOhIHByZW1lbm7DoSB2IHBhcmFtZXRyaVxuQG1peGluIGlzU2V0KCR2YWx1ZSA6IG51bGwpIHtcbiAgICBAaWYgJHZhbHVlICE9IFwiXCIgT1IgJHZhbHVlICE9IG51bGwgT1IgJHZhbHVlICE9IG5hbiB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8vIEdlbmVydWplIHTFmcOtZHkgcG9kbGUgxaHDrcWZa292w71jaCBicmVha3BvaW50xa8gKG1vYmlsZSBmaXJzdCkgb2JzYWh1asOtY8OtIHZsYXN0bm9zdGkgZGxlIHDFmWVkYW7DvWNoIHBhcmFtZXRyxa8uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRwcm9wZXJ0eS1uYW1lIC0gbsOhemV2IHZsYXN0bm9zdGkgcHJvIGt0ZXJvdSBzZSBnZW5lcnVqw60gYnJlYWtwb2ludHMgKHNtYWxsLXh4eCwgbWVkaXVtLXh4eClcbi8vLyBAcGFyYW0ge01hcH0gJHMtYnJlYWtwb2ludHMgLSBob2Rub3R5IGJyZWFrcG9pbnR1IG1lZGlhIHF1ZXJ5LlxuQG1peGluIHJlc3BvbnNpdmUtZ2VuZXJhdG9yLWNsYXNzLWNvbnRlbnQoJHByb3BlcnR5LW5hbWUsICRzLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMpIHtcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluICRzLWJyZWFrcG9pbnRzIHtcbiAgICAgICAgJi4jeyRzaXplfS0jeyRwcm9wZXJ0eS1uYW1lfSB7XG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAoI3tcIm1pbi13aWR0aFwifTogJHZhbHVlKSB7XG4gICAgICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vLyBHZW5lcnVqZS9lZGl0dWplIHBydmt5IG1lbnUsIGt0b3LDqSBzYSBuYSB6w6FrbGFkZSBicmVha3BvaW50b3YgcHJpc3DDtHNvYnVqw7pcbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2lkZS1saW5rLXBhZGRpbmdcbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpZGUtbGluay1wYWRkaW5nXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5hdi1saW5rLWNvbG9yXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5hdi1jdXJyZW50LWJnLWhvdmVyXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5hdi1jdXJyZW50LWNvbG9yXG5AbWl4aW4gbmF2LWxpc3QtaXRlbXMoJGZvbnQtc2l6ZSwgJHNpZGUtbGluay1wYWRkaW5nLCAkbmF2LWxpbmstY29sb3IsICRuYXYtY3VycmVudC1iZy1ob3ZlciwgJG5hdi1jdXJyZW50LWNvbG9yKSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGZvbnQtc2l6ZSwgJGZvbnQtc2l6ZSk7XG4gICAgYTpub3QoLmJ1dHRvbiksIHN0cm9uZ3tcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmcsICRzaWRlLWxpbmstcGFkZGluZyk7XG4gICAgICAgIGNvbG9yOiAkbmF2LWxpbmstY29sb3I7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxuICAgIGE6bm90KC5idXR0b24pe1xuICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXYtY3VycmVudC1iZy1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmN1cnJlbnR7XG4gICAgICAgIGE6bm90KC5idXR0b24pLCBzdHJvbmcge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAkbmF2LWN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2LWN1cnJlbnQtYmctaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4vLy8gR2VuZXJldWplIHZpenVhbG5lIHJvemRlbGVuaWUgcHJpYW1pY2ggcG90b21rb3YgcyBtb3pub3N0b3UgbmFzdGF2ZW5pYSBpbnRlcnZhbHVcbi8vLyBASW5jbHVkZSBwcmViaWVoYSB2IHJvZGljb3Zza2VqIGNsYXNzZVxuLy8vIEBwYXJhbSB7Y29sb3J9ICRiZ0NvbG9yIC0gaG9kbm90YSB2bGFzdG5vc3RpIGJhY2tncm91bmQtY29sb3IgLSAjZmZmLCAjYWZhZmFmLi4uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RlZEVsZW1lbnQgLSBlbGVtZW50IHByZSBrdG9yeSBtYSB2bGFzdG5vc3QgcGxhdGl0LiAtID5kaXYsID4uZXhhbXBsZS4uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2VsZWN0TnRoIC0gbmFzdGF2ZW5pZSBpbnRlcnZhbHUgcHJlIG9wYWtvdmFuaWVcbkBtaXhpbiBhZGQtc3RyaXBlZCgkYmdDb2xvciwgJHNlbGVjdGVkRWxlbWVudDogJyonLCAkc2VsZWN0TnRoOiAyKSB7XG4gICAgPiAjeyRzZWxlY3RlZEVsZW1lbnR9IHtcbiAgICAgICAgJjpudGgtY2hpbGQoI3skc2VsZWN0TnRofW4pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRiZ0NvbG9yO1xuICAgICAgICB9XG4gICAgfVxufVxuLy8vIEdlbmVydWplIHZ5cG9jaXRhbmUgcm96bWVyeSAxNjo5LzQ6My4uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggc2lya2EgZWxlbWVudHVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCB2eXNrYSBlbGVtZW50dVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkcHJvcGVydHkgdmxhc3Rub3N0LCBrdG9yYSBtYSBieXQgZGVmaW5vdmFuYVxuQG1peGluIGFzcGVjdFJhdGlvKCR3aWR0aCwkaGVpZ2h0LCAkcHJvcGVydHk6ICdwYWRkaW5nLXRvcCcpe1xuICAgICN7JHByb3BlcnR5fTogKCRoZWlnaHQgLyAkd2lkdGgpICogMTAwJTtcbn1cblxuQG1peGluIHBvbHktZmx1aWQtc2l6aW5nKCRwcm9wZXJ0eSwgJG1hcCkge1xuICAgIC8vIEdldCB0aGUgbnVtYmVyIG9mIHByb3ZpZGVkIGJyZWFrcG9pbnRzXG4gICAgJGxlbmd0aDogbGVuZ3RoKG1hcC1rZXlzKCRtYXApKTtcblxuICAgIC8vIEVycm9yIGlmIHRoZSBudW1iZXIgb2YgYnJlYWtwb2ludHMgaXMgPCAyXG4gICAgQGlmICgkbGVuZ3RoIDwgMikge1xuICAgICAgICBAZXJyb3IgXCJwb2x5LWZsdWlkLXNpemluZygpICRtYXAgcmVxdWlyZXMgYXQgbGVhc3QgdmFsdWVzXCJcbiAgICB9XG5cbiAgICAvLyBTb3J0IHRoZSBtYXAgYnkgdmlld3BvcnQgd2lkdGggKGtleSlcbiAgICAkbWFwOiBtYXAtc29ydCgkbWFwKTtcbiAgICAka2V5czogbWFwLWtleXMoJG1hcCk7XG5cbiAgICAvLyBNaW5pbXVtIHNpemVcbiAgICAjeyRwcm9wZXJ0eX06IG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLDEpKTtcblxuICAgIC8vIEludGVycG9sYXRlZCBzaXplIHRocm91Z2ggYnJlYWtwb2ludHNcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICgkbGVuZ3RoIC0gMSkge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDpudGgoJGtleXMsJGkpKSB7XG4gICAgICAgICAgICAkdmFsdWUxOiBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywkaSkpO1xuICAgICAgICAgICAgJHZhbHVlMjogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsKCRpICsgMSkpKTtcbiAgICAgICAgICAgIC8vIElmIHZhbHVlcyBhcmUgbm90IGVxdWFsLCBwZXJmb3JtIGxpbmVhciBpbnRlcnBvbGF0aW9uXG4gICAgICAgICAgICBAaWYgKCR2YWx1ZTEgIT0gJHZhbHVlMikge1xuICAgICAgICAgICAgICAgICN7JHByb3BlcnR5fTogbGluZWFyLWludGVycG9sYXRpb24oKG50aCgka2V5cywkaSk6ICR2YWx1ZTEsIG50aCgka2V5cywoJGkrMSkpOiAkdmFsdWUyKSk7XG4gICAgICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAgICAgICAjeyRwcm9wZXJ0eX06ICR2YWx1ZTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBNYXhtaW11bSBzaXplXG4gICAgQG1lZGlhIChtaW4td2lkdGg6bnRoKCRrZXlzLCRsZW5ndGgpKSB7XG4gICAgICAgICN7JHByb3BlcnR5fTogbWFwLWdldCgkbWFwLCBudGgoJGtleXMsJGxlbmd0aCkpO1xuICAgIH1cbn1cblxuLy8vIEdlbmVydWplIGFuaW3DoWNpdSBwcmUgbWl4aW51IHN0cmlwZXNCYWNrZ3JvdW5kSW1hZ2Vcbi8vLyBAcGFyYW0ge1N0cmluZ30gJGR1cmF0aW9uIETEusW+a2EgYW5pbcOhY2llXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwcm9ncmVzc0Jhci1ncmFkaWVudC1zaXplIFZlxL5rb3PFpSBwcnVob3YgcHJlIGJhY2tncm91bmQtc2l6ZVxuQG1peGluIG1vdmluZ0FuaW1hdGlvblN0cmlwZXMoJGR1cmF0aW9uOiAxcywgJHByb2dyZXNzQmFyLWdyYWRpZW50LXNpemU6IHJlbS1jYWxjKDE4IDE4KSkge1xuICBhbmltYXRpb246IG1vdmUgJGR1cmF0aW9uIGxpbmVhciBpbmZpbml0ZTtcbiAgQGtleWZyYW1lcyBtb3ZlIHtcbiAgICAwJSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJHByb2dyZXNzQmFyLWdyYWRpZW50LXNpemU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBHZW5lcnVqZSBwcnVob3ZhbsOpIHBvemFkaWVcbi8vLyBAcGFyYW0ge051bWJlcn0gJGdyYWRpZW50LWJhY2tncm91bmQtc2l6ZSBWZcS+a29zxaUgcHJ1aG92XG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRncmFkaWVudC1hbmdsZSBVaG9sIG5ha2xvbmVuaWEgdnlnZW5lcm92YW7DvWNoIHBydWhvdlxuQG1peGluIHN0cmlwZXNCYWNrZ3JvdW5kSW1hZ2UoJGdyYWRpZW50LWJhY2tncm91bmQtc2l6ZSwgJGdyYWRpZW50LWFuZ2xlOiAxMzVkZWcpIHtcbiAgJjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDE7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAkZ3JhZGllbnQtYW5nbGUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIDI1JSxcbiAgICAgICAgdHJhbnNwYXJlbnQgMjUlLFxuICAgICAgICB0cmFuc3BhcmVudCA1MCUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgLjIpIDUwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAuMikgNzUlLFxuICAgICAgICB0cmFuc3BhcmVudCA3NSUsXG4gICAgICAgIHRyYW5zcGFyZW50KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6ICRncmFkaWVudC1iYWNrZ3JvdW5kLXNpemU7XG4gIH1cbn0iLCJAaW1wb3J0ICcuLi8uLi9zZXR0aW5ncy9jb21wb25lbnRzL190b3AtYmFyLXNldHRpbmdzJztcblxuLy8vIHRvcCBiYXIgbWFpbiBzdHlsZXNcbi50b3BCYXJ7XG4gICAgYmFja2dyb3VuZDogJHRvcC1iYXItYmc7XG4gICAgei1pbmRleDogeih0b3BiYXIpO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShoZWlnaHQsICR0b3AtYmFyLWhlaWdodHMpO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShmb250LXNpemUsICR0b3AtYmFyLWZvbnQtc2l6ZSk7XG4gICAgQGlmICR0b3AtYmFyLWhhcy1zaGFkb3d7XG4gICAgICAgIGJveC1zaGFkb3c6ICR0b3AtYmFyLXNoYWRvdztcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRvcC1iYXItYm9yZGVyLXN0eWxlO1xuICAgIH1cbiAgICAudGl0bGV7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSh3aWR0aCwgJHRvcC1iYXItdGl0bGUtd2lkdGhzKTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGhlaWdodCwgJHRvcC1iYXItaGVpZ2h0cyk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGl0bGUtYmc7XG5cbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaWYgJHRvcC1iYXItaGFzLWxvZ28gPT0gdHJ1ZSB7XG4gICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIHN2ZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSh3aWR0aCwgJHRvcC1iYXItbG9nby1zaXplKTtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogJHRvcC1iYXItbG9nby1zdmctY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRpdGxlLXByaW1hcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBzbWFsbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0aXRsZS1zZWNvbmRhcnktY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgaXNTZXQoJHRpdGxlLWJnLXNoYWRvdykge1xuICAgICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkdGl0bGUtYmctc2hhZG93O1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIC5jb250cm9sc3tcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLCAkdG9wLWJhci1jb250cm9scy1wYWRkaW5nKTtcbiAgICAgICAgPiAucm93e1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgc3Zne1xuICAgICAgICAgICAgZmlsbDogJHRvcC1iYXItaWNvbnMtY29sb3I7XG4gICAgICAgICAgICBAaWYgJHRvcC1iYXItaGFzLWljb24tc2l6ZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGhlaWdodCwgJHRvcC1iYXItaWNvbnMtc2l6ZSk7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHdpZHRoLCAkdG9wLWJhci1pY29ucy1zaXplKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYuaWNvbkFycm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46ICR0b3AtYmFyLWljb24tYXJyb3ctbWFyZ2luO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSh3aWR0aCwgJHRvcC1iYXItaWNvbi1hcnJvdy1zaXplKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkdG9wLWJhci1pY29uLWFycm93LXNpemUpO1xuICAgICAgICAgICAgICAgICYuZG93biB7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIEBpZiAkZHJvcGRvd24taW4tdG9wLWJhcntcbiAgICAgICAgLmRyb3Bkb3due1xuICAgICAgICAgICAgJi5tZW51e1xuICAgICAgICAgICAgICAgID4gbGl7XG4gICAgICAgICAgICAgICAgICAgID4gYTpub3QoLmJ1dHRvbil7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRyb3Bkb3duLWluLXRvcC1iYXItY29sb3I7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZywgJGRyb3Bkb3duLWluLXRvcC1iYXItbGluay1wYWRkaW5nKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShsaW5lLWhlaWdodCwgJHRvcC1iYXItaGVpZ2h0cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkdG9wLWJhci1oZWlnaHRzKTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAudXNlckF2YXRhciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tcmlnaHQsICR0b3AtYmFyLWF2YXRhci1tYXJnaW4tcmlnaHQpO1xuICAgICAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkdG9wLWJhci1hdmF0YXItaGVpZ2h0cyk7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICR0b3AtYmFyLWF2YXRhci1ib3JkZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICBAaWYgJHRvcC1iYXItYXZhdGFyLWNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNtYWxse1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGRyb3Bkb3duLWluLXRvcC1iYXItc21hbGwtY29sb3I7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkZHJvcGRvd24taW4tdG9wLWJhci1zbWFsbC1saW5lLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRkcm9wZG93bi1pbi10b3AtYmFyLXNtYWxsLXRleHQtdHJhbnNmb3JtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBzdHJvbmd7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZHJvcGRvd24taW4tdG9wLWJhci1wcmltYXJ5LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJGRyb3Bkb3duLWluLXRvcC1iYXItcHJpbWFyeS1saW5lLWhlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRkcm9wZG93bi1pbi10b3AtYmFyLXByaW1hcnktdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8vIHRvcCBiYXIgd2lkdGhzLCBwYWRkaW5nL21hcmdpbnMgYW5kIGZvbnQtc2l6ZXNcbiR0b3AtYmFyLWhlaWdodHM6IChcbiAgICBudWxsOiByZW0tY2FsYyg0NSksXG4gICAgbWVkaXVtOiByZW0tY2FsYyg1MCksXG4gICAgeGxhcmdlOiByZW0tY2FsYyg1NSksXG4pICFkZWZhdWx0O1xuXG4kdG9wLWJhci10aXRsZS13aWR0aHM6IChcbiAgICBudWxsOiBhdXRvLFxuICAgIHNtYWxsOiByZW0tY2FsYygxODApLFxuICAgIGxhcmdlOiByZW0tY2FsYygyMDApLFxuICAgIHhsYXJnZTogcmVtLWNhbGMoMjIwKSxcbiAgICB4eGxhcmdlOiByZW0tY2FsYygyNDApLFxuKSAhZGVmYXVsdDtcbiR0b3AtYmFyLWNvbnRyb2xzLXBhZGRpbmc6IChcbiAgICBudWxsOiByZW0tY2FsYygwKSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDApLFxuKSAhZGVmYXVsdDtcblxuJHRvcC1iYXItaGFzLWljb24tc2l6ZTogdHJ1ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWljb25zLXNpemU6IChcbiAgICBudWxsOiByZW0tY2FsYygyMCksXG4gICAgbWVkaXVtOiByZW0tY2FsYygyNSksXG4pICFkZWZhdWx0O1xuXG4kdG9wLWJhci1mb250LXNpemU6IChcbiAgICBudWxsOiByZW0tY2FsYygxMiksXG4gICAgbWVkaXVtOiByZW0tY2FsYygxNClcbikgIWRlZmF1bHQ7XG5cbiR0b3AtYmFyLWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplcyAhZGVmYXVsdDtcbiR0b3AtYmFyLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wLWJhci1ib3JkZXItc3R5bGU6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgLjEpICFkZWZhdWx0O1xuJHRvcC1iYXItaGFzLXNoYWRvdzogdHJ1ZSAhZGVmYXVsdDs7XG4kdG9wLWJhci1zaGFkb3c6IDAgMCA1cHggJGJhc2Utc2hhZG93LWNvbG9yICFkZWZhdWx0O1xuJHRvcC1iYXItaGFzLWxvZ286IHRydWUgIWRlZmF1bHQ7XG4kdG9wLWJhci1sb2dvLXN2Zy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcC1iYXItbG9nby1zaXplOiAoXG4gICAgbnVsbDogMTAwJSxcbiAgICBsYXJnZTogNjUlXG4pICFkZWZhdWx0O1xuJHRpdGxlLXByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWRlZmF1bHQ7XG4kdGl0bGUtc2Vjb25kYXJ5LWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuJHRpdGxlLWJnOiBub25lICFkZWZhdWx0O1xuJHRpdGxlLWJnLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWljb25zLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFkZWZhdWx0O1xuXG4kZHJvcGRvd24taW4tdG9wLWJhcjogdHJ1ZTtcbiRkcm9wZG93bi1pbi10b3AtYmFyLWxpbmstcGFkZGluZzogKFxuICAgIG51bGw6IHJlbS1jYWxjKDAgMTAgMCAxMCksXG4gICAgbWVkaXVtOiByZW0tY2FsYygwIDE2IDAgMTYpLFxuKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbi10b3AtYmFyLWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuJGRyb3Bkb3duLWluLXRvcC1iYXItcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbi10b3AtYmFyLXNtYWxsLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWluLXRvcC1iYXItcHJpbWFyeS10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGRyb3Bkb3duLWluLXRvcC1iYXItc21hbGwtdGV4dC10cmFuc2Zvcm06ICRkcm9wZG93bi1pbi10b3AtYmFyLXByaW1hcnktdGV4dC10cmFuc2Zvcm0gIWRlZmF1bHQ7XG4kZHJvcGRvd24taW4tdG9wLWJhci1zbWFsbC1saW5lLWhlaWdodDogMSAhZGVmYXVsdDtcbiRkcm9wZG93bi1pbi10b3AtYmFyLXByaW1hcnktbGluZS1oZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuJHRvcC1iYXItYXZhdGFyLWJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3AtYmFyLWF2YXRhci1jaXJjbGU6IHRydWUgIWRlZmF1bHQ7XG4kdG9wLWJhci1hdmF0YXItaGVpZ2h0czogZ2V0TWFwTXVsdGkoJHRvcC1iYXItaGVpZ2h0cywgLjY1KSAhZGVmYXVsdDtcbiR0b3AtYmFyLWF2YXRhci1tYXJnaW4tcmlnaHQ6IChcbiAgICBudWxsOiAxMHB4LFxuICAgIGxhcmdlOiAxNXB4XG4pICFkZWZhdWx0O1xuXG4kdG9wLWJhci1oYXMtc2VhcmNoLWZpZWxkOiB0cnVlICFkZWZhdWx0O1xuJHRvcC1iYXItc2VhcmNoLWZpZWxkLWNsYXNzOiBcImZpZWxkU2VhcmNoXCIgIWRlZmF1bHQ7XG4kdG9wLWJhci1zZWFyY2gtZmllbGQtbWFyZ2luOiAwICFkZWZhdWx0O1xuJHRvcC1iYXItaWNvbi1zZWFyY2gtY29sb3I6IG1peCgkc2Vjb25kYXJ5LWNvbG9yLCAkd2hpdGUsIDQ1JSkgIWRlZmF1bHQ7XG4kdG9wLWJhci1pY29uLXNlYXJjaC1zaXplOiAoXG4gICAgbnVsbDogMjVweCxcbiAgICB4bGFyZ2U6IDI1cHhcbikgIWRlZmF1bHQ7XG4kdG9wLWJhci1pY29uLWFycm93LW1hcmdpbjogcmVtLWNhbGMoMCAwIDAgMTApICFkZWZhdWx0O1xuJHRvcC1iYXItaWNvbi1hcnJvdy1zaXplOiAoXG4gICAgbnVsbDogMTZweCxcbiAgICBtZWRpdW06IDE4cHhcbikgIWRlZmF1bHQ7XG4iLCJAZnVuY3Rpb24gZ2V0TWFwRGl2KCRtYXAsICRkaXZpZGVyLCAkcmVtLWNhbGM6IHRydWUpIHtcbiAgICAkY29sbCA6ICgpO1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAgICRyZXN1bHQ6ICgkdmFsdWUgLyAkZGl2aWRlcik7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgYW5kIGlzLWFic29sdXRlLWxlbmd0aCgkdmFsdWUpIGFuZCAkcmVtLWNhbGMge1xuICAgICAgICAgICAgJHJlc3VsdDogcmVtLWNhbGMoJHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmIHVuaXQoJHJlc3VsdCkgPT0gJ3B4JyB7XG4gICAgICAgICAgICAgICAgJHJlc3VsdDogcm91bmQoJHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJG1tYXA6ICgkc2l6ZTogJHJlc3VsdCk7XG4gICAgICAgICRjb2xsIDogbWFwLW1lcmdlKCRjb2xsLCAkbW1hcCk7XG4gICAgfVxuICAgIEByZXR1cm4gJGNvbGw7XG59XG5AZnVuY3Rpb24gZ2V0TWFwTXVsdGkoJG1hcCwgJG11bHRpcGxpZXIsICRyZW0tY2FsYzogdHJ1ZSkge1xuICAgICRjb2xsIDogKCk7XG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICAgJHJlc3VsdDogKCR2YWx1ZSAqICRtdWx0aXBsaWVyKTtcbiAgICAgICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyBhbmQgaXMtYWJzb2x1dGUtbGVuZ3RoKCR2YWx1ZSkgYW5kICRyZW0tY2FsYyB7XG4gICAgICAgICAgICAkcmVzdWx0OiByZW0tY2FsYygkcmVzdWx0KTtcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICBAaWYgdW5pdCgkcmVzdWx0KSA9PSAncHgnIHtcbiAgICAgICAgICAgICAgICAkcmVzdWx0OiByb3VuZCgkcmVzdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAkbW1hcDogKCRzaXplOiAkcmVzdWx0KTtcbiAgICAgICAgJGNvbGwgOiBtYXAtbWVyZ2UoJGNvbGwsICRtbWFwKTtcbiAgICB9XG4gICAgQHJldHVybiAkY29sbDtcbn1cbkBmdW5jdGlvbiBnZXRNYXBBZGQoJG1hcCwgJHN1bSwgJHJlbS1jYWxjOiB0cnVlKSB7XG4gICAgJGNvbGwgOiAoKTtcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgICAkcmVzdWx0OiAoJHZhbHVlICsgJHN1bSk7XG4gICAgICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicgYW5kIGlzLWFic29sdXRlLWxlbmd0aCgkdmFsdWUpIGFuZCAkcmVtLWNhbGMge1xuICAgICAgICAgICAgJHJlc3VsdDogcmVtLWNhbGMoJHJlc3VsdCk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQGlmIHVuaXQoJHJlc3VsdCkgPT0gJ3B4JyB7XG4gICAgICAgICAgICAgICAgJHJlc3VsdDogcm91bmQoJHJlc3VsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJG1tYXA6ICgkc2l6ZTogJHJlc3VsdCk7XG4gICAgICAgICRjb2xsIDogbWFwLW1lcmdlKCRjb2xsLCAkbW1hcCk7XG4gICAgfVxuICAgIEByZXR1cm4gJGNvbGw7XG59XG5AZnVuY3Rpb24gZ2V0QmFzZUd1dHRlcigkc2l6ZSkge1xuICAgIEByZXR1cm4gcm91bmQobWFwLWdldCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkc2l6ZSkvMik7XG59XG5cbkBmdW5jdGlvbiBmaXJzdCgkbGlzdCkge1xuICAgIEByZXR1cm4gbnRoKCRsaXN0LCAxKTtcbn1cbkBmdW5jdGlvbiBsYXN0KCRsaXN0KSB7XG4gICAgQHJldHVybiBudGgoJGxpc3QsIGxlbmd0aCgkbGlzdCkpO1xufVxuQGZ1bmN0aW9uIHRvLWxpc3QoJHZhbHVlLCAka2VlcDogJ2JvdGgnKSB7XG4gICAgJGtlZXA6IGlmKGluZGV4KCdrZXlzJyAndmFsdWVzJywgJGtlZXApLCAka2VlcCwgJ2JvdGgnKTtcblxuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ21hcCcge1xuICAgICAgICAka2V5czogKCk7XG4gICAgICAgICR2YWx1ZXM6ICgpO1xuXG4gICAgICAgIEBlYWNoICRrZXksICR2YWwgaW4gJHZhbHVlIHtcbiAgICAgICAgICAgICRrZXlzOiBhcHBlbmQoJGtleXMsICRrZXkpO1xuICAgICAgICAgICAgJHZhbHVlczogYXBwZW5kKCR2YWx1ZXMsICR2YWwpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmICRrZWVwID09ICdrZXlzJyB7XG4gICAgICAgICAgICBAcmV0dXJuICRrZXlzO1xuICAgICAgICB9IEBlbHNlIGlmICRrZWVwID09ICd2YWx1ZXMnIHtcbiAgICAgICAgICAgIEByZXR1cm4gJHZhbHVlcztcbiAgICAgICAgfSBAZWxzZSB7XG4gICAgICAgICAgICBAcmV0dXJuIHppcCgka2V5cywgJHZhbHVlcyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIGlmKHR5cGUtb2YoJHZhbHVlKSAhPSAnbGlzdCcsICgkdmFsdWUsKSwgJHZhbHVlKTtcblxufVxuXG5AZnVuY3Rpb24gaXMtYWJzb2x1dGUtbGVuZ3RoKCR2YWx1ZSkge1xuICAgIEByZXR1cm4gaXMtbnVtYmVyKCR2YWx1ZSkgYW5kIGluZGV4KCdjbScgJ21tJyAnaW4nICdweCcgJ3B0JyAncGMnLCB1bml0KCR2YWx1ZSkpICE9IG51bGw7XG59XG5cbkBmdW5jdGlvbiB6KCRsYXllcktleSwgJHotbGF5ZXJzOiAkemluZGV4LXZhbHVlcykge1xuICAgIEBpZiBub3QgbWFwLWhhcy1rZXkoJHotbGF5ZXJzLCAkbGF5ZXJLZXkpIHtcbiAgICAgICAgQHdhcm4gXCJObyBsYXllciBmb3VuZCBmb3IgYCN7JGxheWVyS2V5fWAgaW4gJHotbGF5ZXJzIG1hcC4gUHJvcGVydHkgb21pdHRlZC5cIjtcbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1kZWVwLWdldCgkei1sYXllcnMsICRsYXllcktleSk7XG59XG5cbkBmdW5jdGlvbiBzdHItcmVwbGFjZSgkc3RyaW5nLCAkc2VhcmNoLCAkcmVwbGFjZTogJycpIHtcbiAgICAkaW5kZXg6IHN0ci1pbmRleCgkc3RyaW5nLCAkc2VhcmNoKTtcbiAgICBAaWYgJGluZGV4IHtcbiAgICAgICAgQHJldHVybiBzdHItc2xpY2UoJHN0cmluZywgMSwgJGluZGV4IC0gMSkgKyAkcmVwbGFjZSArIHN0ci1yZXBsYWNlKHN0ci1zbGljZSgkc3RyaW5nLCAkaW5kZXggKyBzdHItbGVuZ3RoKCRzZWFyY2gpKSwgJHNlYXJjaCwgJHJlcGxhY2UpO1xuICAgIH1cbiAgICBAcmV0dXJuICRzdHJpbmc7XG59XG5cbkBmdW5jdGlvbiB1cmwtZW5jb2RlKCRzdHJpbmcpIHtcbiAgICAkbWFwOiAoXG4gICAgICAgIFwiJVwiOiBcIiUyNVwiLFxuICAgICAgICBcIjxcIjogXCIlM0NcIixcbiAgICAgICAgXCI+XCI6IFwiJTNFXCIsXG4gICAgICAgIFwiIFwiOiBcIiUyMFwiLFxuICAgICAgICBcIiFcIjogXCIlMjFcIixcbiAgICAgICAgXCIqXCI6IFwiJTJBXCIsXG4gICAgICAgIFwiJ1wiOiBcIiUyN1wiLFxuICAgICAgICAnXCInOiBcIiUyMlwiLFxuICAgICAgICBcIihcIjogXCIlMjhcIixcbiAgICAgICAgXCIpXCI6IFwiJTI5XCIsXG4gICAgICAgIFwiO1wiOiBcIiUzQlwiLFxuICAgICAgICBcIjpcIjogXCIlM0FcIixcbiAgICAgICAgXCJAXCI6IFwiJTQwXCIsXG4gICAgICAgIFwiJlwiOiBcIiUyNlwiLFxuICAgICAgICBcIj1cIjogXCIlM0RcIixcbiAgICAgICAgXCIrXCI6IFwiJTJCXCIsXG4gICAgICAgIFwiJFwiOiBcIiUyNFwiLFxuICAgICAgICBcIixcIjogXCIlMkNcIixcbiAgICAgICAgXCIvXCI6IFwiJTJGXCIsXG4gICAgICAgIFwiP1wiOiBcIiUzRlwiLFxuICAgICAgICBcIiNcIjogXCIlMjNcIixcbiAgICAgICAgXCJbXCI6IFwiJTVCXCIsXG4gICAgICAgIFwiXVwiOiBcIiU1RFwiXG4gICAgKTtcbiAgICAkbmV3OiAkc3RyaW5nO1xuICAgIEBlYWNoICRzZWFyY2gsICRyZXBsYWNlIGluICRtYXAge1xuICAgICAgICAkbmV3OiBzdHItcmVwbGFjZSgkbmV3LCAkc2VhcmNoLCAkcmVwbGFjZSk7XG4gICAgfVxuICAgIEByZXR1cm4gJG5ldztcbn1cblxuQGZ1bmN0aW9uIGlubGluZS1zdmcoJHN0cmluZykge1xuICAgIEByZXR1cm4gdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7dXRmLTgsI3t1cmwtZW5jb2RlKCRzdHJpbmcpfScpO1xufVxuXG5AZnVuY3Rpb24gbGluZWFyLWludGVycG9sYXRpb24oJG1hcCkge1xuICAgICRrZXlzOiBtYXAta2V5cygkbWFwKTtcbiAgICBAaWYgKGxlbmd0aCgka2V5cykgIT0gMikge1xuICAgICAgICBAZXJyb3IgXCJsaW5lYXItaW50ZXJwb2xhdGlvbigpICRtYXAgbXVzdCBiZSBleGFjdGx5IDIgdmFsdWVzXCI7XG4gICAgfVxuICAgIC8vIFRoZSBzbG9wZVxuICAgICRtOiAobWFwLWdldCgkbWFwLCBudGgoJGtleXMsIDIpKSAtIG1hcC1nZXQoJG1hcCwgbnRoKCRrZXlzLCAxKSkpLyhudGgoJGtleXMsIDIpIC0gbnRoKCRrZXlzLDEpKTtcblxuICAgIC8vIFRoZSB5LWludGVyY2VwdFxuICAgICRiOiBtYXAtZ2V0KCRtYXAsIG50aCgka2V5cywgMSkpIC0gJG0gKiBudGgoJGtleXMsIDEpO1xuXG4gICAgLy8gRGV0ZXJtaW5lIGlmIHRoZSBzaWduIHNob3VsZCBiZSBwb3NpdGl2ZSBvciBuZWdhdGl2ZVxuICAgICRzaWduOiBcIitcIjtcbiAgICBAaWYgKCRiIDwgMCkge1xuICAgICAgICAkc2lnbjogXCItXCI7XG4gICAgICAgICRiOiBhYnMoJGIpO1xuICAgIH1cblxuICAgIEByZXR1cm4gY2FsYygjeyRtKjEwMH12dyAjeyRzaWdufSAjeyRifSk7XG59XG5AZnVuY3Rpb24gbGlzdC1yZW1vdmUoJGxpc3QsICRpbmRleCkge1xuICAgICRuZXdMaXN0OiAoKTtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkbGlzdCkge1xuICAgICAgICBAaWYgJGkgIT0gJGluZGV4IHtcbiAgICAgICAgICAgICRuZXdMaXN0OiBhcHBlbmQoJG5ld0xpc3QsIG50aCgkbGlzdCwkaSksICdzcGFjZScpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEByZXR1cm4gJG5ld0xpc3Q7XG59XG5AZnVuY3Rpb24gbGlzdC1zb3J0KCRsaXN0KSB7XG4gICAgJHNvcnRlZGxpc3Q6ICgpO1xuICAgIEB3aGlsZSBsZW5ndGgoJGxpc3QpID4gMCB7XG4gICAgICAgICR2YWx1ZTogbnRoKCRsaXN0LDEpO1xuICAgICAgICBAZWFjaCAkaXRlbSBpbiAkbGlzdCB7XG4gICAgICAgICAgICBAaWYgJGl0ZW0gPCAkdmFsdWUge1xuICAgICAgICAgICAgICAgICR2YWx1ZTogJGl0ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJHNvcnRlZGxpc3Q6IGFwcGVuZCgkc29ydGVkbGlzdCwgJHZhbHVlLCAnc3BhY2UnKTtcbiAgICAgICAgJGxpc3Q6IGxpc3QtcmVtb3ZlKCRsaXN0LCBpbmRleCgkbGlzdCwgJHZhbHVlKSk7XG4gICAgfVxuICAgIEByZXR1cm4gJHNvcnRlZGxpc3Q7XG59XG5cbkBmdW5jdGlvbiBtYXAtc29ydCgkbWFwKSB7XG4gICAgJGtleXM6IGxpc3Qtc29ydChtYXAta2V5cygkbWFwKSk7XG4gICAgJHNvcnRlZE1hcDogKCk7XG4gICAgQGVhY2ggJGtleSBpbiAka2V5cyB7XG4gICAgICAgICRzb3J0ZWRNYXA6IG1hcC1tZXJnZSgkc29ydGVkTWFwLCAoJGtleTogbWFwLWdldCgkbWFwLCAka2V5KSkpO1xuICAgIH1cbiAgICBAcmV0dXJuICRzb3J0ZWRNYXA7XG59XG5cbkBmdW5jdGlvbiBjaGVjay1sdW1pbmFuY2UtY29sb3ItbGlnaHRuZXNzKCRjb2xvciwgJGxpZ2h0bmVzczogNTAlKSB7XG4gICAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICRsaWdodG5lc3MpIHtcbiAgICAgICAgQHJldHVybiB0cnVlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIGFkZFRvTGlzdCgkbGlzdCwgJHZhbHVlLCAkcmVtLWNhbGM6IHRydWUpIHtcbiAgICAkbmV3TGlzdDogKCk7XG4gICAgJGFkZFZhbHVlOiAwO1xuICAgIEBpZiAoJHJlbS1jYWxjKSB7XG4gICAgICAgICRhZGRWYWx1ZTogcmVtLWNhbGMoJHZhbHVlKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcge1xuICAgICAgICAgICAgJGFkZFZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSk7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJGFkZFZhbHVlOiAkdmFsdWU7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCBsZW5ndGgoJGxpc3QpIHtcbiAgICAgICAgJG5ld0xpc3Q6IGFwcGVuZCgkbmV3TGlzdCwgbnRoKCRsaXN0LCAkaSkgKyAkYWRkVmFsdWUpO1xuICAgIH1cbiAgICBAcmV0dXJuICRuZXdMaXN0O1xufSIsIkBpbXBvcnQgJy4uLy4uL3NldHRpbmdzL2NvbXBvbmVudHMvY29udGVudC1oZWFkZXItc2V0dGluZ3MnO1xuXG4vLy8gY29udGVudCBoZWFkZXIgd2lkdGhzLCBwYWRkaW5nL21hcmdpbnMgYW5kIGZvbnQtc2l6ZXNcbiRjb250ZW50LWhlYWRlci1wYWRkaW5nOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoZ2V0QmFzZUd1dHRlcih4c21hbGwpIGdldEJhc2VHdXR0ZXIoeHNtYWxsKSAwIGdldEJhc2VHdXR0ZXIoeHNtYWxsKSksXG4gICAgbWVkaXVtOiByZW0tY2FsYyhnZXRCYXNlR3V0dGVyKG1lZGl1bSkgZ2V0QmFzZUd1dHRlcihtZWRpdW0pIDAgZ2V0QmFzZUd1dHRlcihtZWRpdW0pKSxcbikgIWRlZmF1bHQ7XG5cbiRjb250ZW50LWhlYWRlci1oMS1tYXJnaW46IChcbiAgICBudWxsOiByZW0tY2FsYygwIDAgZ2V0QmFzZUd1dHRlcih4c21hbGwpIDApLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoMCAwIGdldEJhc2VHdXR0ZXIobWVkaXVtKSAwKSxcbikgIWRlZmF1bHQ7XG5cbiRjb250ZW50LWhlYWRlci1oMS1mb250LXNpemU6IChcbiAgICB4c21hbGw6IHJlbS1jYWxjKDE3KSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDIwKSxcbiAgICB4bGFyZ2U6IHJlbS1jYWxjKDIyKVxuKSAhZGVmYXVsdDtcblxuLy8vIGNvbnRlbnQgaGVhZGVyIG1haW4gc3R5bGVzXG4uY29udGVudEhlYWRlcntcbiAgICBiYWNrZ3JvdW5kOiAkY29udGVudC1oZWFkZXItYmc7XG4gICAgY29sb3I6ICRjb250ZW50LWhlYWRlci1jb2xvcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiB6KGNvbnRlbnRoZWFkZXIpO1xuICAgIGJvcmRlci1ib3R0b206ICRjb250ZW50LWhlYWRlci1ib3JkZXI7XG4gICAgQGlmICRjb250ZW50LWhlYWRlci1oYXMtc2hhZG93e1xuICAgICAgICBib3gtc2hhZG93OiAkY29udGVudC1oZWFkZXItc2hhZG93O1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIH1cbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZywgJGNvbnRlbnQtaGVhZGVyLXBhZGRpbmcpO1xuICAgIGgxIHtcbiAgICAgICAgY29sb3I6ICRjb250ZW50LWhlYWRlci1oMS1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRjb250ZW50LWhlYWRlci1oMS13ZWlnaHQ7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4sICRjb250ZW50LWhlYWRlci1oMS1tYXJnaW4pO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoZm9udC1zaXplLCAkY29udGVudC1oZWFkZXItaDEtZm9udC1zaXplKTtcbiAgICB9XG59IiwiLy8vIGNvbnRlbnQgaGVhZGVyIHdpZHRocywgcGFkZGluZy9tYXJnaW5zIGFuZCBmb250LXNpemVzXG4kY29udGVudC1oZWFkZXItcGFkZGluZzogKFxuICAgIG51bGw6IHJlbS1jYWxjKGdldEJhc2VHdXR0ZXIoeHNtYWxsKSAgZ2V0QmFzZUd1dHRlcih4c21hbGwpICAwIGdldEJhc2VHdXR0ZXIoeHNtYWxsKSApLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoZ2V0QmFzZUd1dHRlcihtZWRpdW0pICBnZXRCYXNlR3V0dGVyKG1lZGl1bSkgIDAgZ2V0QmFzZUd1dHRlcihtZWRpdW0pKSxcbikgIWRlZmF1bHQ7XG5cbiRjb250ZW50LWhlYWRlci1oMS1tYXJnaW46IChcbiAgICBudWxsOiByZW0tY2FsYygwIDAgZ2V0QmFzZUd1dHRlcih4c21hbGwpICAwKSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDAgMCBnZXRCYXNlR3V0dGVyKG1lZGl1bSkgIDApLFxuKSAhZGVmYXVsdDtcblxuJGNvbnRlbnQtaGVhZGVyLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kY29udGVudC1oZWFkZXItYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG4kY29udGVudC1oZWFkZXItaGFzLXNoYWRvdzogdHJ1ZSAhZGVmYXVsdDtcbiRjb250ZW50LWhlYWRlci1zaGFkb3c6IDAgMCA1cHggcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcbiRjb250ZW50LWhlYWRlci1jb2xvcjogbWl4KCRwcmltYXJ5LWNvbG9yLCAkd2hpdGUsIDkwJSkgIWRlZmF1bHQ7XG4kY29udGVudC1oZWFkZXItaDEtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZGVmYXVsdDtcbiRjb250ZW50LWhlYWRlci1oMS13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7IiwiQGltcG9ydCAnLi4vLi4vc2V0dGluZ3MvY29udGVudC1zZXR0aW5ncyc7XG5cbi8vLyBjb250ZW50IG1haW4gc3R5bGVzXG4ubWFpbldyYXBwZXIge1xuICAgIEBpZiAkY29udGVudC1iZyAhPSBub25lIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGNvbnRlbnQtYmc7XG4gICAgfVxufVxuLm1pZGRsZVJpZ2h0V3JhcHBlcntcbiAgICBhcnRpY2xle1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZywgJGNvbnRlbnQtcGFkZGluZyk7XG4gICAgfVxufVxuLmNvbnRlbnRUb3BXcmFwcGVyIHtcbiAgICB6LWluZGV4OiB6KGNvbnRlbnRoZWFkZXIpIC0gMTtcbn0iLCJAaW1wb3J0ICcuLi8uLi9zZXR0aW5ncy9jb21wb25lbnRzL25hdi1zZXR0aW5ncyc7XG5cbi8vLyBuYXZpZ2F0aW9uIG1haW4gc3R5bGVzXG5uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRuYXYtbGV2ZWwwLWJhY2tncm91bmQ7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHdpZHRoLCAkbmF2LXNpemVzKTtcbn1cbi5zaWRlLW5hdntcbiAgICBtYXJnaW46IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJvcmRlci1yaWdodDogJG5hdi1sZXZlbDAtYm9yZGVyLXJpZ2h0O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcbiAgICBib3gtc2hhZG93OiAkbmF2LWxldmVsMC1zaGFkb3c7XG4gICAgQGlmICRuYXYtbGV2ZWwwLXNoYWRvdy1zdHlsZSA9PSBpbnNldCB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkbmF2LWxldmVsMC1zaGFkb3cgaW5zZXQ7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMSAxcHg7XG4gICAgICAgIH1cbiAgICB9XG4gICAgJiA+IGxpIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJG5hdi1sZXZlbDAtaXRlbS1ib3JkZXI7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLWxlZnQsICRuYXYtbGV2ZWwwLWl0ZW0tcGFkZGluZ3MtbGVmdCk7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShmb250LXNpemUsICRuYXYtbGV2ZWwwLWZvbnQtc2l6ZSk7XG4gICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSh3aWR0aCwgJG5hdi1sZXZlbDAtaWNvbi1zaXplcyk7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkbmF2LWxldmVsMC1pY29uLXNpemVzKTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA1IDAgMCk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgICAgICYsIHN2ZyB7XG4gICAgICAgICAgICAgICAgZmlsbDogJG5hdi1sZXZlbDAtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHdpZHRoLCAkbmF2LWxldmVsMC1hcnJvdy1zaXplcyk7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkbmF2LWxldmVsMC1hcnJvdy1zaXplcyk7XG4gICAgICAgICAgICBmaWxsOiAkbmF2LWxldmVsMC1hcnJvdy1jb2xvcjtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDAgNSk7XG4gICAgICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICBhOm5vdCguYnV0dG9uKSwgc3Ryb25ne1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmcsICRuYXYtbGV2ZWwwLWxpbmstcGFkZGluZyk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAmID4gYTpub3QoLmJ1dHRvbil7XG4gICAgICAgICAgICBjb2xvcjogJG5hdi1sZXZlbDAtbGluay1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbmF2LWxldmVsMC1mb250LXdlaWdodDtcbiAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXYtbGV2ZWwwLWN1cnJlbnQtYmctaG92ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgc3Ryb25ne1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogZGFya2VuKCRzZWNvbmRhcnktY29sb3IsIDIwJSk7XG4gICAgICAgICAgICAuaWNvbiwgLmFycm93e1xuICAgICAgICAgICAgICAgIGZpbGw6IGRhcmtlbigkc2Vjb25kYXJ5LWNvbG9yLCAyMCUpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5jdXJyZW50e1xuICAgICAgICAgICAgJiA+IGE6bm90KC5idXR0b24pLCBzdHJvbmcge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXYtbGV2ZWwwLWN1cnJlbnQtYmc7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRuYXYtbGV2ZWwwLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRuYXYtbGV2ZWwwLWN1cnJlbnQtY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgdWwgPiBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1sZWZ0LCAkbmF2LWxldmVsMS1pdGVtLXBhZGRpbmdzLWxlZnQpO1xuICAgICAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAkbmF2LWxldmVsMS1pdGVtLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2LWxldmVsMS1pdGVtLWJvcmRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShmb250LXNpemUsICRuYXYtbGV2ZWwxLWZvbnQtc2l6ZSk7XG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA1IDAgMCk7XG4gICAgICAgICAgICAgICAgZmlsbDogJG5hdi1sZXZlbDEtaWNvbi1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGE6bm90KC5idXR0b24pLCBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLCAkbmF2LWxldmVsMS1saW5rLXBhZGRpbmcpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2LWxldmVsMS1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbmF2LWxldmVsMS1saW5rLWZvbnQtd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbmF2LWxldmVsMS1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJG5hdi1sZXZlbDEtY3VycmVudC1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgICAgICYgPiBhOm5vdCguYnV0dG9uKSwgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRuYXYtbGV2ZWwxLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2LWxldmVsMS1jdXJyZW50LWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXYtbGV2ZWwxLWN1cnJlbnQtYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCA+IGxpIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAkbmF2LWxldmVsMi1pdGVtLWJvcmRlcjtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1sZWZ0LCAkbmF2LWxldmVsMi1pdGVtLXBhZGRpbmdzLWxlZnQpO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGlzU2V0KCRuYXYtbGV2ZWwyLWZvbnQtc2l6ZSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoZm9udC1zaXplLCAkbmF2LWxldmVsMi1mb250LXNpemUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhOm5vdCguYnV0dG9uKSwgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmcsICRuYXYtbGV2ZWwyLWxpbmstcGFkZGluZyk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkbmF2LWxldmVsMi1saW5rLWNvbG9yO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkbmF2LWxldmVsMi1mb250LXdlaWdodDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbmF2LWxldmVsMi1jdXJyZW50LWJnLWhvdmVyO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAgICAgICAgICYgPiBhOm5vdCguYnV0dG9uKSwgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJG5hdi1sZXZlbDItY3VycmVudC1jb2xvcjtcbiAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIsICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRuYXYtbGV2ZWwyLWN1cnJlbnQtYmctaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgYmFja2dyb3VuZDogJG5hdi1sZXZlbDAtY3VycmVudC1iZztcbiAgICB9XG59XG4iLCIkbmF2LWxldmVsMC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMC1zaGFkb3c6IDAgMXB4IDZweCAkYmFzZS1zaGFkb3ctY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMC1zaGFkb3ctc3R5bGU6IFwiXCIgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMC1ib3JkZXItcmlnaHQ6IDAgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMC1pdGVtLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJG5hdi1sZXZlbDAtaXRlbS1wYWRkaW5ncy1sZWZ0OiAgKG51bGw6IDApICFkZWZhdWx0O1xuJG5hdi1sZXZlbDAtaWNvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwwLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwwLWxpbmstY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMC1mb250LXdlaWdodDogNTAwICFkZWZhdWx0O1xuJG5hdi1sZXZlbDAtY3VycmVudC1jb2xvcjogJHNlY29uZGFyeS1jb2xvciAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwwLWN1cnJlbnQtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwwLWN1cnJlbnQtZm9udC13ZWlnaHQ6IDcwMCAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwwLWN1cnJlbnQtYmctaG92ZXI6IG1peCgkbmF2LWxldmVsMC1jdXJyZW50LWJnLCAkYmxhY2ssIDk4JSkgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMC1mb250LXNpemU6ICRiYXNlLWZvbnQtc2l6ZXMgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMC1pY29uLXNpemVzOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMTgpLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoMjApLFxuKSAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwwLWFycm93LXNpemVzOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMTApLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoMTIpLFxuICAgIGxhcmdlOiByZW0tY2FsYygxNClcbikgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMS1pdGVtLWJvcmRlcjogMCAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwxLWl0ZW0tcGFkZGluZ3MtbGVmdDogKG51bGw6IDApICFkZWZhdWx0O1xuJG5hdi1sZXZlbDEtbGluay1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwxLWljb24tY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMS1saW5rLWZvbnQtd2VpZ2h0OiA0MDAgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMS1jdXJyZW50LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJG5hdi1sZXZlbDEtY3VycmVudC1iZy1ob3ZlcjogbWl4KCRuYXYtbGV2ZWwwLWN1cnJlbnQtYmcsICRibGFjaywgOTglKSAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwxLWN1cnJlbnQtZm9udC13ZWlnaHQ6IDQwMCAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwxLWZvbnQtd2VpZ2h0OiAkbmF2LWxldmVsMC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwyLWl0ZW0tYm9yZGVyOiAwICFkZWZhdWx0O1xuJG5hdi1sZXZlbDItaXRlbS1wYWRkaW5ncy1sZWZ0OiAobnVsbDogMCkgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMi1saW5rLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJG5hdi1sZXZlbDItY3VycmVudC1iZy1ob3ZlcjogJG5hdi1sZXZlbDEtY3VycmVudC1iZy1ob3ZlciAhZGVmYXVsdDtcbiRuYXYtbGV2ZWwyLWN1cnJlbnQtY29sb3I6ICRuYXYtbGV2ZWwxLWN1cnJlbnQtY29sb3IgIWRlZmF1bHQ7XG4kbmF2LWxldmVsMi1mb250LXdlaWdodDogJG5hdi1sZXZlbDAtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4vLyBzaWRlIG5hdlxuLy8gLS0tLS0tLS0tXG4kc2lkZS1uYXYtc2VsZWN0LXBhZGRpbmc6IChcbiAgICBudWxsOiByZW0tY2FsYyg1KSxcbiAgICBsYXJnZTogcmVtLWNhbGMoMTApLFxuKSAhZGVmYXVsdDtcblxuJG5hdi1sZXZlbDEtZm9udC1zaXplOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMTIpLFxuICAgIGxhcmdlOiByZW0tY2FsYygxMiksXG4pICFkZWZhdWx0O1xuXG4kbmF2LWxldmVsMi1mb250LXNpemU6IChcbiAgICBudWxsOiByZW0tY2FsYygxMSksXG4gICAgbGFyZ2U6IHJlbS1jYWxjKDExKSxcbikgIWRlZmF1bHQ7XG5cbiRuYXYtbGV2ZWwwLWxpbmstcGFkZGluZzogKFxuICAgIG51bGw6IHJlbS1jYWxjKDEyIDEwIDEyIDEwKSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDEwIDE1IDEwIDE1KSxcbiAgICB4eGxhcmdlOiByZW0tY2FsYygxMiAxNSAxMiAxNSksXG4pICFkZWZhdWx0O1xuJG5hdi1sZXZlbDEtbGluay1wYWRkaW5nOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMTAgMTAgMTAgMzApLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoMTAgMTUgMTAgNDApLFxuICAgIHh4bGFyZ2U6IHJlbS1jYWxjKDkgMTUgOSA0MCksXG4pICFkZWZhdWx0O1xuJG5hdi1sZXZlbDItbGluay1wYWRkaW5nOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoOCAxMCA4IDQ2KSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDggMTUgOCA1NiksXG4gICAgeHhsYXJnZTogcmVtLWNhbGMoNiAxNSA2IDU2KSxcbikgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0ICcuLi8uLi9zZXR0aW5ncy9jb21wb25lbnRzL2FzaWRlLXNldHRpbmdzJztcblxuLy8vIGFzaWRlIG1haW4gc3R5bGVzXG5hc2lkZXtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUod2lkdGgsICRhc2lkZS1zaXplcyk7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmctdG9wLCAkYmFzZS1lbGVtZW50LWd1dHRlci10b3ApO1xuICAgIHotaW5kZXg6IHooYXNpZGUpO1xuICAgIGJhY2tncm91bmQ6ICRhc2lkZS1iZztcbiAgICBib3gtc2hhZG93OiAwIDFweCA2cHggJGJhc2Utc2hhZG93LWNvbG9yO1xuICAgIC5jb250ZW50Rm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgID4gLnJvdyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAuYmxvY2tGaWVsZHMge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgICAgICAgICBAaWYgJGFzaWRlLWhhcy1mb3JtLWVsZW1lbnRzLXN0eWxlIHtcbiAgICAgICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYXNpZGUtaW5wdXQtbGFiZWw7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFzaWRlLWlucHV0LWJnO1xuICAgICAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAkYXNpZGUtaW5wdXQtc2hhZG93O1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6ICRhc2lkZS1pbnB1dC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy10b3AsICRiYXNlLWVsZW1lbnQtZ3V0dGVyLXRvcCk7XG4gICAgICAgIH1cbiAgICB9XG4gICAgLnN3aXRjaFdyYXBwZXIge1xuICAgICAgICB2aXNpYmlsaXR5OiAkYXNpZGUtYm90dG9tLXN3aXRjaC12aXNpYmlsaXR5O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQ6ICRhc2lkZS1zd2l0Y2hXcmFwcGVyLWJnO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZywgJGFzaWRlLXN3aXRjaFdyYXBwZXItcGFkZGluZyk7XG4gICAgICAgIC5zd2l0Y2gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhc2lkZS1zd2l0Y2gtYmc7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYXNpZGUtc3dpdGNoLXBhZGRsZS1iZztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuc3dpdGNoLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGFzaWRlLXN3aXRjaC1wYWRkbGUtYmctYWN0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHNtYWxsIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYXNpZGUtc3dpdGNoLWxhYmVscy1jb2xvcjtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkYXNpZGUtc3dpdGNoLWxhYmVscy10ZXh0LXRyYW5zZm9ybTtcbiAgICAgICAgICAgIHBhZGRpbmc6ICRhc2lkZS1zd2l0Y2gtbGFiZWxzLXBhZGRpbmc7XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoZm9udC1zaXplLCAkYXNpZGUtc3dpdGNoLWxhYmVscy1mb250LXNpemVzKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIkYXNpZGUtc2l6ZXM6IChcbiAgICBudWxsOiByZW0tY2FsYygyMDApLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoMjIwKSxcbiAgICBsYXJnZTogcmVtLWNhbGMoMjYwKSxcbikgIWRlZmF1bHQ7XG4kYXNpZGUtcGFkZGluZzogKFxuICAgIG51bGw6IHJlbS1jYWxjKDAgZ2V0QmFzZUd1dHRlcih4c21hbGwpIDAgZ2V0QmFzZUd1dHRlcih4c21hbGwpKSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDAgZ2V0QmFzZUd1dHRlcihtZWRpdW0pIDAgZ2V0QmFzZUd1dHRlcihtZWRpdW0pKSxcbikgIWRlZmF1bHQ7XG5cbiRhc2lkZS1zd2l0Y2hXcmFwcGVyLXBhZGRpbmc6IChcbiAgICBudWxsOiByZW0tY2FsYyhnZXRCYXNlR3V0dGVyKHhzbWFsbCkgMCksXG4gICAgbWVkaXVtOiByZW0tY2FsYyhnZXRCYXNlR3V0dGVyKG1lZGl1bSkwKSxcbikgIWRlZmF1bHQ7XG4kYXNpZGUtYm90dG9tLXN3aXRjaC12aXNpYmlsaXR5OiB2aXNpYmxlICFkZWZhdWx0O1xuJGFzaWRlLWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplcyAhZGVmYXVsdDtcbiRhc2lkZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJGFzaWRlLWJvcmRlci1zdHlsZTogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAuMSkgIWRlZmF1bHQ7XG4kYXNpZGUtaGFzLXNoYWRvdzogdHJ1ZSAhZGVmYXVsdDtcbiRhc2lkZS1zaGFkb3c6IDAgMCA1cHggcmdiYSgkYmxhY2ssIC4yKSAhZGVmYXVsdDtcblxuJGFzaWRlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYXNpZGUtaGFzLWZvcm0tZWxlbWVudHMtc3R5bGU6IHRydWUgIWRlZmF1bHQ7XG4kYXNpZGUtaW5wdXQtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhc2lkZS1pbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCAkYmFzZS1zaGFkb3ctY29sb3IgIWRlZmF1bHQ7XG4kYXNpZGUtaW5wdXQtYm9yZGVyOiAxcHggc29saWQgI2UyZTJlMiAhZGVmYXVsdDtcbiRhc2lkZS1pbnB1dC1sYWJlbDogJGJsYWNrICFkZWZhdWx0O1xuJGFzaWRlLXN3aXRjaFdyYXBwZXItYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRhc2lkZS1zd2l0Y2gtbGFiZWxzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kYXNpZGUtc3dpdGNoLWJnOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcbiRhc2lkZS1zd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYXNpZGUtc3dpdGNoLXBhZGRsZS1iZy1hY3RpdmU6ICM0NjZiOWMgIWRlZmF1bHQ7XG4kYXNpZGUtc3dpdGNoLXZlcnRpY2FsLXBhZGRpbmc6IDUgIWRlZmF1bHQ7XG4kYXNpZGUtc3dpdGNoLWxhYmVscy10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGFzaWRlLXN3aXRjaC1sYWJlbHMtcGFkZGluZzogcmVtLWNhbGMoMCA1KSAhZGVmYXVsdDtcbiRhc2lkZS1zd2l0Y2gtbGFiZWxzLWZvbnQtc2l6ZXM6IChudWxsOiByZW0tY2FsYygxMCkpICFkZWZhdWx0OyIsIkBpbXBvcnQgJy4uLy4uL3NldHRpbmdzL2NvbXBvbmVudHMvZm9vdGVyLXNldHRpbmdzJztcblxuLmZvb3RlcntcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkZm9vdGVyLXNpemVzKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZm9vdGVyLWJhY2tncm91bmQ7XG59IiwiQGltcG9ydCAnLi4vLi4vc2V0dGluZ3MvY29tcG9uZW50cy9mbGV4LWdyaWQtc2V0dGluZ3MnO1xuLy8gUmVtb3ZlIGFmdGVyIGZvdW5kYXRpb24gZml4IGlzc3VlXG4ucm93IC5yb3d7XG4gICAgbWF4LXdpZHRoOiBub25lO1xufVxuXG4uY29sdW1uIHtcbiAgICAvLyBkb21lbmEgcHJpb3JpdCBrb25mbGlrdG5pY2ggdmxhc25vc3RpXG4gICAgQGlmKCRoYXMtY3VzdG9tLWZsZXgtZ3JpZC1yZXNwb25zaXZlLWNsYXNzZXMpIHtcbiAgICAgICAgJGNsb3Nlc3Qtc2l6ZTogbnVsbDtcbiAgICAgICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgICAgICAgJHRlbXAtYnJlYWtwb2ludDogKCRzaXplIDogJHZhbHVlKTtcbiAgICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkYmFzZS1lbGVtZW50LWd1dHRlci1oYWxmLCAkc2l6ZSkge1xuICAgICAgICAgICAgICAgICRjbG9zZXN0LXNpemU6IHJlbS1jYWxjKG1hcC1nZXQoJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZiwgJHNpemUpKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZ2VuZXJhdG9yLWNsYXNzLWNvbnRlbnQoY29sbGFwc2UsICR0ZW1wLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZ2VuZXJhdG9yLWNsYXNzLWNvbnRlbnQodW5jb2xsYXBzZSwgJHRlbXAtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGNsb3Nlc3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2VzdC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1nZW5lcmF0b3ItY2xhc3MtY29udGVudCh1bmNvbGxhcHNlLWxlZnQsICR0ZW1wLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjbG9zZXN0LXNpemU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWdlbmVyYXRvci1jbGFzcy1jb250ZW50KHVuY29sbGFwc2UtcmlnaHQsICR0ZW1wLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY2xvc2VzdC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1nZW5lcmF0b3ItY2xhc3MtY29udGVudChjb2xsYXBzZS1sZWZ0LCAkdGVtcC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1nZW5lcmF0b3ItY2xhc3MtY29udGVudChjb2xsYXBzZS1yaWdodCwgJHRlbXAtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWdlbmVyYXRvci1jbGFzcy1jb250ZW50KGFsaWduLXJpZ2h0LCAkdGVtcC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1nZW5lcmF0b3ItY2xhc3MtY29udGVudChhbGlnbi1jZW50ZXIsICR0ZW1wLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlclxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1nZW5lcmF0b3ItY2xhc3MtY29udGVudChzaHJpbmssICR0ZW1wLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAvLy8gUmVzZXQgdHJpZWR5IHNocmlua1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1nZW5lcmF0b3ItY2xhc3MtY29udGVudCh1bnNocmluaywgJHRlbXAtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uL3NldHRpbmdzL2hhbWJ1cmdlcnMtc2V0dGluZ3MnO1xuXG4uaGFtYnVyZ2VyLWJveHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuLmhhbWJ1cmdlci0tYXJyb3d7XG4gICAgJi5pcy1hY3RpdmV7XG4gICAgICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgICAgICAgJjpiZWZvcmUsICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHRvcDogLTNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIkBpbXBvcnQgJy4uL3NldHRpbmdzL2NvbXBvbmVudHMvZGF0ZXBpY2tlci1zZXR0aW5ncyc7XG5cbi5kYXRlcGlja2VyIHtcbiAgICAmLmRyb3Bkb3duLW1lbnUge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkZHNmZS1kYXRlcGlja2VyLXVpLWJvcmRlci1yYWRpdXMgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmRvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRkc2ZlLWRhdGVwaWNrZXItZGF5LWhlYWRpbmctYmc7XG4gICAgICAgIGNvbG9yOiAkZHNmZS1kYXRlcGlja2VyLWRheS1oZWFkaW5nLWNvbG9yO1xuICAgIH1cbn1cblxuLmZhLWNoZXZyb24tbGVmdC5maS1hcnJvdy1sZWZ0OjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkc2ZlLWRhdGVwaWNrZXItYXJyb3ctc2l6ZSwgJGRzZmUtZGF0ZXBpY2tlci1hcnJvdy1jb2xvciwgbGVmdCk7XG59XG4uZmEtY2hldnJvbi1yaWdodC5maS1hcnJvdy1yaWdodDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkc2ZlLWRhdGVwaWNrZXItYXJyb3ctc2l6ZSwgJGRzZmUtZGF0ZXBpY2tlci1hcnJvdy1jb2xvciwgcmlnaHQpO1xufVxuXG4ueWVhciB7XG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGRzZmUtZGF0ZXBpY2tlci1kYXktYWN0aXZlLWNvbG9yO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZHNmZS1kYXRlcGlja2VyLWRheS1hY3RpdmUtYmc7XG4gICAgfVxufVxuLm1vbnRoIHtcbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIGNvbG9yOiAkZHNmZS1kYXRlcGlja2VyLW1vbnRoLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGRzZmUtZGF0ZXBpY2tlci1tb250aC1hY3RpdmUtYmc7XG4gICAgfVxufVxuLmRheSB7XG4gICAgJi5hY3RpdmUge1xuICAgICAgICBjb2xvcjogJGRzZmUtZGF0ZXBpY2tlci15ZWFyLWFjdGl2ZS1jb2xvcjtcbiAgICAgICAgYmFja2dyb3VuZDogJGRzZmUtZGF0ZXBpY2tlci15ZWFyLWFjdGl2ZS1iZztcbiAgICB9XG59IiwiJGRzZmUtZGF0ZXBpY2tlci1hcnJvdy1zaXplOiA1cHggIWRlZmF1bHQ7XG4kZHNmZS1kYXRlcGlja2VyLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRkc2ZlLWRhdGVwaWNrZXItZGF5LWFjdGl2ZS1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kZHNmZS1kYXRlcGlja2VyLW1vbnRoLWFjdGl2ZS1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kZHNmZS1kYXRlcGlja2VyLXllYXItYWN0aXZlLWNvbG9yOiB3aGl0ZSAhZGVmYXVsdDtcbiRkc2ZlLWRhdGVwaWNrZXItZGF5LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kZHNmZS1kYXRlcGlja2VyLW1vbnRoLWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kZHNmZS1kYXRlcGlja2VyLXllYXItYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRkc2ZlLWRhdGVwaWNrZXItZGF5LWhlYWRpbmctYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRkc2ZlLWRhdGVwaWNrZXItZGF5LWhlYWRpbmctY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiRkc2ZlLWRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1czogMHB4ICFkZWZhdWx0O1xuIiwiLyohXG4gKiBIYW1idXJnZXJzXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcbiAqIEBzaXRlIGh0dHBzOi8vam9uc3VoLmNvbS9oYW1idXJnZXJzXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcbiAqL1xuXG4vLyBTZXR0aW5nc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiRoYW1idXJnZXItcGFkZGluZy14ICAgICAgICAgICAgICAgICAgICAgICA6IDE1cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXBhZGRpbmcteSAgICAgICAgICAgICAgICAgICAgICAgOiAxNXB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICAgICAgICAgICAgICAgICAgICA6IDRweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAgICAgICAgICAgICAgICAgICA6IDZweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItY29sb3IgICAgICAgICAgICAgICAgICAgICA6ICMwMDAgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgOiA0cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgICAgICAgICAgICAgOiAwLjcgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gICAgICAgOiAwLjE1cyAhZGVmYXVsdDtcbiRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcblxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxuLy8gc2V0ICRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlciBhcyB0cnVlIGFuZFxuLy8gY2hhbmdlIHRoZSB2YWx1ZSBvZiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciBhY2NvcmRpbmdseS5cbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlcjogZmFsc2UgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLWZpbHRlciAgICA6IG9wYWNpdHkoNTAlKSAhZGVmYXVsdDtcblxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuJGhhbWJ1cmdlci10eXBlczogKFxuICAzZHgsXG4gIDNkeC1yLFxuICAzZHksXG4gIDNkeS1yLFxuICBhcnJvdyxcbiAgYXJyb3ctcixcbiAgYXJyb3dhbHQsXG4gIGFycm93YWx0LXIsXG4gIGJvcmluZyxcbiAgY29sbGFwc2UsXG4gIGNvbGxhcHNlLXIsXG4gIGVsYXN0aWMsXG4gIGVsYXN0aWMtcixcbiAgZW1waGF0aWMsXG4gIGVtcGhhdGljLXIsXG4gIHNsaWRlcixcbiAgc2xpZGVyLXIsXG4gIHNwcmluZyxcbiAgc3ByaW5nLXIsXG4gIHN0YW5kLFxuICBzdGFuZC1yLFxuICBzcGluLFxuICBzcGluLXIsXG4gIHNxdWVlemUsXG4gIHZvcnRleCxcbiAgdm9ydGV4LXJcbikgIWRlZmF1bHQ7XG5cbi8vIEJhc2UgSGFtYnVyZ2VyIChXZSBuZWVkIHRoaXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQGltcG9ydCBcImJhc2VcIjtcblxuLy8gSGFtYnVyZ2VyIHR5cGVzIChFYWNoIHNob3VsZCBoYXZlIGFuIEBpZiBkaXJlY3RpdmVcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5AaW1wb3J0IFwidHlwZXMvM2R4XCI7XG5AaW1wb3J0IFwidHlwZXMvM2R4LXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHlcIjtcbkBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3ctclwiO1xuQGltcG9ydCBcInR5cGVzL2Fycm93YWx0XCI7XG5AaW1wb3J0IFwidHlwZXMvYXJyb3dhbHQtclwiO1xuQGltcG9ydCBcInR5cGVzL2JvcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlXCI7XG5AaW1wb3J0IFwidHlwZXMvY29sbGFwc2UtclwiO1xuQGltcG9ydCBcInR5cGVzL2VsYXN0aWNcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpY1wiO1xuQGltcG9ydCBcInR5cGVzL2VtcGhhdGljLXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zbGlkZXItclwiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZ1wiO1xuQGltcG9ydCBcInR5cGVzL3NwcmluZy1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3RhbmRcIjtcbkBpbXBvcnQgXCJ0eXBlcy9zdGFuZC1yXCI7XG5AaW1wb3J0IFwidHlwZXMvc3BpblwiO1xuQGltcG9ydCBcInR5cGVzL3NwaW4tclwiO1xuQGltcG9ydCBcInR5cGVzL3NxdWVlemVcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcbkBpbXBvcnQgXCJ0eXBlcy92b3J0ZXgtclwiO1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gQ29va2luZyB1cCBhZGRpdGlvbmFsIHR5cGVzOlxuLy9cbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcbi8vIGluc2lkZSBhbiBAaWYgZGlyZWN0aXZlIHRvIGNoZWNrIHdoZXRoZXIgb3Igbm90XG4vLyBpdCBleGlzdHMgaW4gJGhhbWJ1cmdlci10eXBlcyBzbyBvbmx5IHRoZSBDU1MgZm9yXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxuLy9cbi8vIGUuZy4gaGFtYnVyZ2Vycy90eXBlcy9fbmV3LXR5cGUuc2Nzc1xuLy9cbi8vIEBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBuZXctdHlwZSkge1xuLy8gICAuaGFtYnVyZ2VyLS1uZXctdHlwZSB7XG4vLyAgICAgLi4uXG4vLyAgIH1cbi8vIH1cbiIsIi8vIEhhbWJ1cmdlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi5oYW1idXJnZXIge1xuICBwYWRkaW5nOiAkaGFtYnVyZ2VyLXBhZGRpbmcteSAkaGFtYnVyZ2VyLXBhZGRpbmcteDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uO1xuXG4gIC8vIE5vcm1hbGl6ZSAoPGJ1dHRvbj4pXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAmOmhvdmVyIHtcbiAgICBAaWYgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyID09IHRydWUge1xuICAgICAgZmlsdGVyOiAkaGFtYnVyZ2VyLWhvdmVyLWZpbHRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgb3BhY2l0eTogJGhhbWJ1cmdlci1ob3Zlci1vcGFjaXR5O1xuICAgIH1cbiAgfVxufVxuXG4uaGFtYnVyZ2VyLWJveCB7XG4gIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uaGFtYnVyZ2VyLWlubmVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRvcDogNTAlO1xuICBtYXJnaW4tdG9wOiAkaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAvIC0yO1xuXG4gICYsXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkaGFtYnVyZ2VyLWxheWVyLXdpZHRoO1xuICAgIGhlaWdodDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAkaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXM7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcbiAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZTtcbiAgfVxuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJvdHRvbTogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xuICB9XG59XG4iLCIvLyBoYW1idXJnZXJcbi8vIC0tLS0tLS0tLVxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMHB4ICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcbiRoYW1idXJnZXItbGF5ZXItd2lkdGggICAgICAgICAgICAgICAgICAgICA6IDE4cHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWhlaWdodCAgICAgICAgICAgICAgICAgICAgOiAycHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgICAgICAgICAgICAgOiAzcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWNvbG9yICAgICAgICAgICAgICAgICAgICAgOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWxheWVyLWJvcmRlci1yYWRpdXMgICAgICAgICAgICAgOiAxcHggIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgICAgICAgICAgICAgOiAxICFkZWZhdWx0O1xuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLWR1cmF0aW9uICAgICAgIDogMC4xNXMgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWRlZmF1bHQ7XG4kaGFtYnVyZ2VyLXR5cGVzOiAoXG4gICAgYXJyb3dcbikgIWRlZmF1bHQ7IiwiQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIGFycm93KSB7XG4gIC8qXG4gICAqIEFycm93XG4gICAqL1xuICAuaGFtYnVyZ2VyLS1hcnJvdy5pcy1hY3RpdmUge1xuICAgIC5oYW1idXJnZXItaW5uZXIge1xuICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkaGFtYnVyZ2VyLWxheWVyLXdpZHRoICogLTAuMiwgMCwgMCkgcm90YXRlKC00NWRlZykgc2NhbGUoMC43LCAxKTtcbiAgICAgIH1cblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCRoYW1idXJnZXItbGF5ZXItd2lkdGggKiAtMC4yLCAwLCAwKSByb3RhdGUoNDVkZWcpIHNjYWxlKDAuNywgMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBmZGF0ZXBpY2tlciB2YXJpYWJsZXMgYW5kIHRoZWlyIGRlZmF1bHRzXG4kZmRhdGVwaWNrZXItdWktcHJpbWFyeTogIzJiYTZjYiAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1jb2xvcjogIzAwMCAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDogI2VlZSAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1ib3JkZXItY29sb3I6ICMwMDAgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeTogMC4yICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGZkYXRlcGlja2VyLXVpLWNvbG9yLCAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeSkgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoJGZkYXRlcGlja2VyLXVpLWNvbG9yLCAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeSkgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1czogNXB4ICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLWJlZm9yZS1jb2xvcjogI2NjYyAhZGVmYXVsdDtcbiRmZGF0ZXBpY2tlci11aS1vbGQtbmV3LWNvbG9yOiAjOTk5ICFkZWZhdWx0O1xuJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3I6ICMzMzMgIWRlZmF1bHQ7XG4kZmRhdGVwaWNrZXItaW5saW5lLXdpZHRoOiAyMjBweCAhZGVmYXVsdDtcblxuLy8gdW5jb21tZW50IGlmIHVzZWQgd2l0aCBmb3VuZGF0aW9uIDUgdG8gZ2V0IGNvbXBhdGlibGUgZGVmYXVsdHMsIHRoYW5rcyBqYW1lc3N0b25lY29cbi8vICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OiAkcHJpbWFyeS1jb2xvcjtcbi8vICRmZGF0ZXBpY2tlci11aS1iZzogJGYtZHJvcGRvd24tYmc7XG4vLyAkZmRhdGVwaWNrZXItdWktdGV4dC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbi8vICRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDogcmdiYSgkcHJpbWFyeS1jb2xvciwgMC43KTtcbi8vICRmZGF0ZXBpY2tlci11aS1iZWZvcmUtY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXRyYW5zcGFyZW5jeTogMC4yICFkZWZhdWx0O1xuLy8gJGZkYXRlcGlja2VyLXVpLWJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4vLyAkZmRhdGVwaWNrZXItdWktc2hhZG93OiBub25lO1xuLy8gJGZkYXRlcGlja2VyLXVpLWJvcmRlci1yYWRpdXM6IDA7XG4vLyAkZmRhdGVwaWNrZXItdWktYmVmb3JlLWNvbG9yOiBsaWdodGVuKCRmZGF0ZXBpY2tlci11aS10ZXh0LWNvbG9yLCAzMCUpO1xuLy8gJGZkYXRlcGlja2VyLXVpLW9sZC1uZXctY29sb3I6IGxpZ2h0ZW4oJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3IsIDIwJSk7XG4vLyAkZmRhdGVwaWNrZXItaW5saW5lLXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7XG5cbkBtaXhpbiBkYXRlcGlja2VyKCkge1xuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdHdpZHRoOiAyMHB4O1xuXHRoZWlnaHQ6IDIwcHg7XG5cdGJvcmRlcjogMDtcblx0Zm9udC1zaXplOiAxMnB4O1xuXHRwYWRkaW5nOiA0cHggOHB4O1xuXHRiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRhdGVwaWNrZXIge1xuXHRkaXNwbGF5OiBub25lO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHBhZGRpbmc6IDRweDtcblx0bWFyZ2luLXRvcDogMXB4O1xuXHRkaXJlY3Rpb246IGx0cjtcblx0Ji5kcm9wZG93bi1tZW51IHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAxMDAlO1xuXHRcdGxlZnQ6IDA7XG5cdFx0ei1pbmRleDogMTAwMDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHRkaXNwbGF5OiBub25lO1xuXHRcdG1pbi13aWR0aDogMTYwcHg7XG5cdFx0bGlzdC1zdHlsZTogbm9uZTtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0Ym9yZGVyOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyO1xuXG5cdFx0LXdlYmtpdC1ib3JkZXItcmFkaXVzOiAkZmRhdGVwaWNrZXItdWktYm9yZGVyLXJhZGl1cztcblx0XHQtbW96LWJvcmRlci1yYWRpdXM6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXItcmFkaXVzO1xuXHRcdGJvcmRlci1yYWRpdXM6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXItcmFkaXVzO1xuXG5cdFx0LXdlYmtpdC1ib3gtc2hhZG93OiAkZmRhdGVwaWNrZXItdWktc2hhZG93O1xuXHRcdC1tb3otYm94LXNoYWRvdzogJGZkYXRlcGlja2VyLXVpLXNoYWRvdztcblx0XHRib3gtc2hhZG93OiAkZmRhdGVwaWNrZXItdWktc2hhZG93O1xuXG5cdFx0LXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuXHRcdC1tb3otYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nO1xuXHRcdGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG5cblx0XHQqYm9yZGVyLXJpZ2h0LXdpZHRoOiAycHg7XG5cdFx0KmJvcmRlci1ib3R0b20td2lkdGg6IDJweDtcblx0XHRjb2xvcjogJGZkYXRlcGlja2VyLXVpLXRleHQtY29sb3I7XG5cdFx0Zm9udC1zaXplOiAxM3B4O1xuXHRcdGxpbmUtaGVpZ2h0OiAxOHB4O1xuXHRcdHRoIHsgcGFkZGluZzogNHB4IDVweDsgfVxuXHRcdHRkIHsgcGFkZGluZzogNHB4IDVweDsgfVxuXHR9XG5cdHRhYmxlIHtcblx0XHRib3JkZXI6IDA7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHdpZHRoOiBhdXRvO1xuXHRcdHRyIHRkIHNwYW4ge1xuXHRcdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0XHR3aWR0aDogMjMlO1xuXHRcdFx0aGVpZ2h0OiA1NHB4O1xuXHRcdFx0bGluZS1oZWlnaHQ6IDU0cHg7XG5cdFx0XHRmbG9hdDogbGVmdDtcblx0XHRcdG1hcmdpbjogMSU7XG5cdFx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0fVxuXHR9XG5cdHRkIHtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0d2lkdGg6IDIwcHg7XG5cdFx0aGVpZ2h0OiAyMHB4O1xuXHRcdGJvcmRlcjogMDtcblx0XHRmb250LXNpemU6IDEycHg7XG5cdFx0cGFkZGluZzogNHB4IDhweDtcblx0XHRiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktYmc7XG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xuXHRcdCYuYWN0aXZlLmRheSwgJi5hY3RpdmUueWVhciB7IGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1wcmltYXJ5OyB9XG5cdFx0Ji5vbGQgLCAmLm5ldyB7IGNvbG9yOiAkZmRhdGVwaWNrZXItdWktb2xkLW5ldy1jb2xvcjsgfVxuXHRcdHNwYW4uYWN0aXZlIHsgYmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLXByaW1hcnk7IH1cblx0XHQmLmRheS5kaXNhYmxlZCB7IGNvbG9yOiAkZmRhdGVwaWNrZXItdWktZGlzYWJsZWQ7IH1cblx0XHRzcGFuLm1vbnRoLmRpc2FibGVkLCBzcGFuLnllYXIuZGlzYWJsZWQge1xuXHRcdFx0Y29sb3I6ICRmZGF0ZXBpY2tlci11aS1kaXNhYmxlZDtcblx0XHR9XG5cdH1cblx0dGgge1xuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHR3aWR0aDogMjBweDtcblx0XHRoZWlnaHQ6IDIwcHg7XG5cdFx0Ym9yZGVyOiAwO1xuXHRcdGZvbnQtc2l6ZTogMTJweDtcblx0XHRwYWRkaW5nOiA0cHggOHB4O1xuXHRcdGJhY2tncm91bmQ6ICRmZGF0ZXBpY2tlci11aS1iZztcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0Ji5hY3RpdmUuZGF5LCAmLmFjdGl2ZS55ZWFyIHsgYmFja2dyb3VuZDogJGZkYXRlcGlja2VyLXVpLXByaW1hcnk7IH1cblx0XHQmLmRhdGUtc3dpdGNoIHsgd2lkdGg6IDE0NXB4OyB9XG5cdFx0c3Bhbi5hY3RpdmUgeyBiYWNrZ3JvdW5kOiAkZmRhdGVwaWNrZXItdWktcHJpbWFyeTsgfVxuXHR9XG5cdC5jdyB7XG5cdFx0Zm9udC1zaXplOiAxMHB4O1xuXHRcdHdpZHRoOiAxMnB4O1xuXHRcdHBhZGRpbmc6IDAgMnB4IDAgNXB4O1xuXHRcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cdH1cblx0Ji5kYXlzIGRpdi5kYXRlcGlja2VyLWRheXMgeyBkaXNwbGF5OiBibG9jazsgfVxuXHQmLm1vbnRocyBkaXYuZGF0ZXBpY2tlci1tb250aHMgeyBkaXNwbGF5OiBibG9jazsgfVxuXHQmLnllYXJzIGRpdi5kYXRlcGlja2VyLXllYXJzIHsgZGlzcGxheTogYmxvY2s7IH1cblx0dGhlYWQgdHI6Zmlyc3QtY2hpbGQgdGgge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQmLmN3IHtcblx0XHRcdGN1cnNvcjogZGVmYXVsdDtcblx0XHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdH1cblx0fVxuXHR0Zm9vdCB0cjpmaXJzdC1jaGlsZCB0aCB7IGN1cnNvcjogcG9pbnRlcjsgfVxufVxuLmRhdGVwaWNrZXItaW5saW5lIHsgd2lkdGg6ICRmZGF0ZXBpY2tlci1pbmxpbmUtd2lkdGg7IH1cbi5kYXRlcGlja2VyLXJ0bCB7XG5cdGRpcmVjdGlvbjogcnRsO1xuXHR0YWJsZSB0ciB0ZCBzcGFuIHsgZmxvYXQ6IHJpZ2h0OyB9XG59XG4uZGF0ZXBpY2tlci1kcm9wZG93biB7XG5cdHRvcDogMDtcblx0bGVmdDogMDtcblx0JjpiZWZvcmUge1xuXHRcdGNvbnRlbnQ6ICcnO1xuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcblx0XHRib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1yaWdodDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlci1ib3R0b206IDdweCBzb2xpZCAkZmRhdGVwaWNrZXItdWktYmVmb3JlLWNvbG9yO1xuXHRcdGJvcmRlci1ib3R0b20tY29sb3I6ICRmZGF0ZXBpY2tlci11aS1ib3JkZXI7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogLTdweDtcblx0XHRsZWZ0OiA2cHg7XG5cdH1cblx0JjphZnRlciB7XG5cdFx0Y29udGVudDogJyc7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdGJvcmRlci1sZWZ0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0Ym9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICRmZGF0ZXBpY2tlci11aS1iZztcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiAtNnB4O1xuXHRcdGxlZnQ6IDdweDtcblx0fVxufVxuLmRhdGVwaWNrZXI+ZGl2LFxuLmRhdGVwaWNrZXItZHJvcGRvd246OmJlZm9yZSxcbi5kYXRlcGlja2VyLWRyb3Bkb3duOjphZnRlciB7IGRpc3BsYXk6IG5vbmU7IH1cbi5kYXRlcGlja2VyLWNsb3NlIHtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IC0zMHB4O1xuXHRyaWdodDogMDtcblx0d2lkdGg6IDE1cHg7XG5cdGhlaWdodDogMzBweDtcblx0cGFkZGluZzogMDtcblx0ZGlzcGxheTogbm9uZTtcbn1cbi50YWJsZS1zdHJpcGVkIC5kYXRlcGlja2VyIHRhYmxlIHRyIHRkLFxuLnRhYmxlLXN0cmlwZWQgLmRhdGVwaWNrZXIgdGFibGUgdHIgdGgge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbiIsIi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuXG5AaW1wb3J0IFwic2V0dGluZ3NcIjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vL1xuLy8gQ29udGVudHM6XG4vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vICAgIC0gVHJhbnNsdXNjZW50IG92ZXJsYXlcbi8vICAgIC0gQ29udGFpbmVycywgd3JhcHBlcnNcbi8vICAgIC0gQ3Vyc29yc1xuLy8gICAgLSBIZWxwZXIgY2xhc3Nlc1xuLy8gMi4gQXBwZWFyYW5jZVxuLy8gICAgLSBQcmVsb2FkZXIgJiB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi8vICAgIC0gQ1NTIHJlc2V0IGZvciBidXR0b25zXG4vLyAgICAtIENsb3NlIGljb25cbi8vICAgIC0gXCIxIG9mIFhcIiBjb3VudGVyXG4vLyAgICAtIE5hdmlnYXRpb24gKGxlZnQvcmlnaHQpIGFycm93c1xuLy8gICAgLSBJZnJhbWUgY29udGVudCB0eXBlIHN0eWxlc1xuLy8gICAgLSBJbWFnZSBjb250ZW50IHR5cGUgc3R5bGVzXG4vLyAgICAtIE1lZGlhIHF1ZXJ5IHdoZXJlIHNpemUgb2YgYXJyb3dzIGlzIHJlZHVjZWRcbi8vICAgIC0gSUU3IHN1cHBvcnRcbi8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gMS4gR2VuZXJhbCBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUcmFuc2x1c2NlbnQgb3ZlcmxheVxuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAyO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogZml4ZWQ7XG5cbiAgYmFja2dyb3VuZDogJG1mcC1vdmVybGF5LWNvbG9yO1xuICBvcGFjaXR5OiAkbWZwLW92ZXJsYXktb3BhY2l0eTtcbn1cblxuLy8gV3JhcHBlciBmb3IgcG9wdXBcbi5tZnAtd3JhcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyAzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IC8vIGZpeGVzIHdlYmtpdCBidWcgdGhhdCBjYW4gY2F1c2UgXCJmYWxzZVwiIHNjcm9sbGJhclxufVxuXG4vLyBSb290IGNvbnRhaW5lclxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4vLyBWZXJ0aWNhbCBjZW50ZXJlciBoZWxwZXJcbi5tZnAtY29udGFpbmVyIHtcbiAgJjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgfVxufVxuXG4vLyBSZW1vdmUgdmVydGljYWwgY2VudGVyaW5nIHdoZW4gcG9wdXAgaGFzIGNsYXNzIGBtZnAtYWxpZ24tdG9wYFxuLm1mcC1hbGlnbi10b3Age1xuICAubWZwLWNvbnRhaW5lciB7XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuLy8gUG9wdXAgY29udGVudCBob2xkZXJcbi5tZnAtY29udGVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgYXV0bztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA1O1xufVxuLm1mcC1pbmxpbmUtaG9sZGVyLFxuLm1mcC1hamF4LWhvbGRlciB7XG4gIC5tZnAtY29udGVudCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgY3Vyc29yOiBhdXRvO1xuICB9XG59XG5cbi8vIEN1cnNvcnNcbi5tZnAtYWpheC1jdXIge1xuICBjdXJzb3I6IHByb2dyZXNzO1xufVxuLm1mcC16b29tLW91dC1jdXIge1xuICAmLCAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XG4gICAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICAgIGN1cnNvcjogem9vbS1vdXQ7XG4gIH1cbn1cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47XG59XG4ubWZwLWF1dG8tY3Vyc29yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBjdXJzb3I6IGF1dG87XG4gIH1cbn1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6bm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vIEhpZGUgdGhlIGltYWdlIGR1cmluZyB0aGUgbG9hZGluZ1xuLm1mcC1sb2FkaW5nIHtcbiAgJi5tZnAtZmlndXJlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIEhlbHBlciBjbGFzcyB0aGF0IGhpZGVzIHN0dWZmXG5AaWYgJG1mcC11c2UtdmlzdWFsbHloaWRkZW4ge1xuICAvLyBGcm9tIEhUTUw1IEJvaWxlcnBsYXRlIGh0dHBzOi8vZ2l0aHViLmNvbS9oNWJwL2h0bWw1LWJvaWxlcnBsYXRlL2Jsb2IvdjQuMi4wL2RvYy9jc3MubWQjdmlzdWFsbHloaWRkZW5cbiAgLm1mcC1oaWRlIHtcbiAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICBjbGlwOiByZWN0KDAgMCAwIDApICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiAxcHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IC0xcHggIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgIHdpZHRoOiAxcHggIWltcG9ydGFudDtcbiAgfVxufSBAZWxzZSB7XG4gIC5tZnAtaGlkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAyLiBBcHBlYXJhbmNlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gUHJlbG9hZGVyIGFuZCB0ZXh0IHRoYXQgZGlzcGxheXMgZXJyb3IgbWVzc2FnZXNcbi5tZnAtcHJlbG9hZGVyIHtcbiAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6ICRtZnAtei1pbmRleC1iYXNlICsgNDtcbiAgYSB7XG4gICAgY29sb3I6ICRtZnAtY29udHJvbHMtdGV4dC1jb2xvcjtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vIEhpZGUgcHJlbG9hZGVyIHdoZW4gY29udGVudCBzdWNjZXNzZnVsbHkgbG9hZGVkXG4ubWZwLXMtcmVhZHkge1xuICAubWZwLXByZWxvYWRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLyBIaWRlIGNvbnRlbnQgd2hlbiBpdCB3YXMgbm90IGxvYWRlZFxuLm1mcC1zLWVycm9yIHtcbiAgLm1mcC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vIENTUy1yZXNldCBmb3IgYnV0dG9uc1xuYnV0dG9uIHtcbiAgJi5tZnAtY2xvc2UsXG4gICYubWZwLWFycm93IHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgei1pbmRleDogJG1mcC16LWluZGV4LWJhc2UgKyA2O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIH1cbiAgJjo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyOiAwXG4gIH1cbn1cblxuXG4vLyBDbG9zZSBpY29uXG4ubWZwLWNsb3NlIHtcbiAgd2lkdGg6IDQ0cHg7XG4gIGhlaWdodDogNDRweDtcbiAgbGluZS1oZWlnaHQ6IDQ0cHg7XG5cbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgb3BhY2l0eTogJG1mcC1jb250cm9scy1vcGFjaXR5O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcblxuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdG9wOiAxcHg7XG4gIH1cbn1cbi5tZnAtY2xvc2UtYnRuLWluIHtcbiAgLm1mcC1jbG9zZSB7XG4gICAgY29sb3I6ICRtZnAtaW5uZXItY2xvc2UtaWNvbi1jb2xvcjtcbiAgfVxufVxuLm1mcC1pbWFnZS1ob2xkZXIsXG4ubWZwLWlmcmFtZS1ob2xkZXIge1xuICAubWZwLWNsb3NlIHtcbiAgICBjb2xvcjogJG1mcC1jb250cm9scy1jb2xvcjtcbiAgICByaWdodDogLTZweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8gXCIxIG9mIFhcIiBjb3VudGVyXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAkbWZwLWNvbnRyb2xzLXRleHQtY29sb3I7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi8vIE5hdmlnYXRpb24gYXJyb3dzXG5AaWYgJG1mcC1pbmNsdWRlLWFycm93cyB7XG4gIC5tZnAtYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAkbWZwLWNvbnRyb2xzLW9wYWNpdHk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC01NXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDkwcHg7XG4gICAgaGVpZ2h0OiAxMTBweDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XG4gICAgJjphY3RpdmUge1xuICAgICAgbWFyZ2luLXRvcDogLTU0cHg7XG4gICAgfVxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IDM1cHg7XG4gICAgICBib3JkZXI6IG1lZGl1bSBpbnNldCB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAmOmFmdGVyIHtcblxuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMTNweDtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDEzcHg7XG4gICAgICB0b3A6OHB4O1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDIxcHg7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cblxuICB9XG5cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgICY6YWZ0ZXIge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICRtZnAtY29udHJvbHMtY29sb3I7XG4gICAgICBtYXJnaW4tbGVmdDogMzFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgICBib3JkZXItcmlnaHQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1hcnJvdy1yaWdodCB7XG4gICAgcmlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBib3JkZXItbGVmdDogMTdweCBzb2xpZCAkbWZwLWNvbnRyb2xzLWNvbG9yO1xuICAgICAgbWFyZ2luLWxlZnQ6IDM5cHhcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgJG1mcC1jb250cm9scy1ib3JkZXItY29sb3I7XG4gICAgfVxuICB9XG59XG5cblxuXG4vLyBJZnJhbWUgY29udGVudCB0eXBlXG5AaWYgJG1mcC1pbmNsdWRlLWlmcmFtZS10eXBlIHtcbiAgLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcGFkZGluZy10b3A7XG4gICAgcGFkZGluZy1ib3R0b206ICRtZnAtaWZyYW1lLXBhZGRpbmctdG9wO1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAkbWZwLWlmcmFtZS1tYXgtd2lkdGg7XG4gICAgfVxuICAgIC5tZnAtY2xvc2Uge1xuICAgICAgdG9wOiAtNDBweDtcbiAgICB9XG4gIH1cbiAgLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLXRvcDogJG1mcC1pZnJhbWUtcmF0aW8gKiAxMDAlO1xuICAgIGlmcmFtZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pZnJhbWUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIEltYWdlIGNvbnRlbnQgdHlwZVxuQGlmICRtZnAtaW5jbHVkZS1pbWFnZS10eXBlIHtcblxuICAvKiBNYWluIGltYWdlIGluIHBvcHVwICovXG4gIGltZyB7XG4gICAgJi5tZnAtaW1nIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICBwYWRkaW5nOiAkbWZwLWltYWdlLXBhZGRpbmctdG9wIDAgJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbTtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIC8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuICAubWZwLWZpZ3VyZSB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRtZnAtaW1hZ2UtcGFkZGluZy10b3A7XG4gICAgICBib3R0b206ICRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b207XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIGJveC1zaGFkb3c6ICRtZnAtc2hhZG93O1xuICAgICAgYmFja2dyb3VuZDogJG1mcC1pbWFnZS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgICBzbWFsbCB7XG4gICAgICBjb2xvcjogJG1mcC1jYXB0aW9uLXN1YnRpdGxlLWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG4gICAgZmlndXJlIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICBtYXJnaW4tdG9wOiAtJG1mcC1pbWFnZS1wYWRkaW5nLWJvdHRvbSArIDQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGN1cnNvcjogYXV0bztcbiAgfVxuICAubWZwLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkbWZwLWNhcHRpb24tdGl0bGUtY29sb3I7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmctcmlnaHQ6IDM2cHg7IC8vIGxlYXZlIHNvbWUgc3BhY2UgZm9yIGNvdW50ZXIgYXQgcmlnaHQgc2lkZVxuICB9XG5cbiAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgIC5tZnAtY29udGVudCB7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLm1mcC1nYWxsZXJ5IHtcbiAgICAubWZwLWltYWdlLWhvbGRlciB7XG4gICAgICAubWZwLWZpZ3VyZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuXG4gIEBpZiAkbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgwMHB4KSBhbmQgKG9yaWVudGF0aW9uOmxhbmRzY2FwZSksIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDMwMHB4KSB7XG4gICAgICAvKipcbiAgICAgICAqIFJlbW92ZSBhbGwgcGFkZGluZ3MgYXJvdW5kIHRoZSBpbWFnZSBvbiBzbWFsbCBzY3JlZW5cbiAgICAgICAqL1xuICAgICAgLm1mcC1pbWctbW9iaWxlIHtcbiAgICAgICAgLm1mcC1pbWFnZS1ob2xkZXIge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgJi5tZnAtaW1nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtZmlndXJlIHtcbiAgICAgICAgICAvLyBUaGUgc2hhZG93IGJlaGluZCB0aGUgaW1hZ2VcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgc21hbGwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1mcC1ib3R0b20tYmFyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLDAuNik7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogM3B4IDVweDtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAmOmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZnAtY291bnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgfVxuICAgICAgICAubWZwLWNsb3NlIHtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgd2lkdGg6IDM1cHg7XG4gICAgICAgICAgaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG5cbi8vIFNjYWxlIG5hdmlnYXRpb24gYXJyb3dzIGFuZCByZWR1Y2UgcGFkZGluZyBmcm9tIHNpZGVzXG5AbWVkaWEgYWxsIGFuZCAobWF4LXdpZHRoOiA5MDBweCkge1xuICAubWZwLWFycm93IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC43NSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcbiAgfVxuICAubWZwLWFycm93LWxlZnQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMDtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwO1xuICB9XG4gIC5tZnAtYXJyb3ctcmlnaHQge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xuICB9XG4gIC5tZnAtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6ICRtZnAtcG9wdXAtcGFkZGluZy1sZWZ0LW1vYmlsZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU7XG4gIH1cbn1cblxuIiwiLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyAgICAgIFNldHRpbmdzICAgICAgLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBvdmVybGF5XG4kbWZwLW92ZXJsYXktY29sb3I6ICAgICAgICAgICAgICAgICAgICMwYjBiMGIgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1vdmVybGF5LW9wYWNpdHk6ICAgICAgICAgICAgICAgICAwLjggIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBvdmVybGF5IHNjcmVlblxuJG1mcC1zaGFkb3c6ICAgICAgICAgICAgICAgICAgICAgICAgICAwIDAgOHB4IHJnYmEoMCwgMCwgMCwgMC42KSAhZGVmYXVsdDsgLy8gU2hhZG93IG9uIGltYWdlIG9yIGlmcmFtZVxuXG4vLyBzcGFjaW5nXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdDogICAgICAgICAgICAgIDhweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBQYWRkaW5nIGZyb20gbGVmdCBhbmQgZnJvbSByaWdodCBzaWRlXG4kbWZwLXBvcHVwLXBhZGRpbmctbGVmdC1tb2JpbGU6ICAgICAgIDZweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgICAvLyBTYW1lIGFzIGFib3ZlLCBidXQgaXMgYXBwbGllZCB3aGVuIHdpZHRoIG9mIHdpbmRvdyBpcyBsZXNzIHRoYW4gODAwcHhcblxuJG1mcC16LWluZGV4LWJhc2U6ICAgICAgICAgICAgICAgICAgICAxMDQwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFzZSB6LWluZGV4IG9mIHBvcHVwXG5cbi8vIGNvbnRyb2xzXG4kbWZwLWluY2x1ZGUtYXJyb3dzOiAgICAgICAgICAgICAgICAgIHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBJbmNsdWRlIHN0eWxlcyBmb3IgbmF2IGFycm93c1xuJG1mcC1jb250cm9scy1vcGFjaXR5OiAgICAgICAgICAgICAgICAwLjY1ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gT3BhY2l0eSBvZiBjb250cm9sc1xuJG1mcC1jb250cm9scy1jb2xvcjogICAgICAgICAgICAgICAgICAjRkZGICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY29udHJvbHNcbiRtZnAtY29udHJvbHMtYm9yZGVyLWNvbG9yOiAgICAgICAgICAgIzNGM0YzRiAhZGVmYXVsdDsgXHQgICAgICAgICAgICAgICAgIC8vIEJvcmRlciBjb2xvciBvZiBjb250cm9sc1xuJG1mcC1pbm5lci1jbG9zZS1pY29uLWNvbG9yOiAgICAgICAgICAjMzMzICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQ29sb3Igb2YgY2xvc2UgYnV0dG9uIHdoZW4gaW5zaWRlXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3I6ICAgICAgICAgICAgICNDQ0MgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBDb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG4kbWZwLWNvbnRyb2xzLXRleHQtY29sb3ItaG92ZXI6ICAgICAgICNGRkYgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBIb3ZlciBjb2xvciBvZiBwcmVsb2FkZXIgYW5kIFwiMSBvZiBYXCIgaW5kaWNhdG9yXG5cbi8vIElmcmFtZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pZnJhbWUtdHlwZTogICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJZnJhbWUtdHlwZSBwb3B1cHNcbiRtZnAtaWZyYW1lLXBhZGRpbmctdG9wOiAgICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIElmcmFtZSBwYWRkaW5nIHRvcFxuJG1mcC1pZnJhbWUtYmFja2dyb3VuZDogICAgICAgICAgICAgICAjMDAwICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gQmFja2dyb3VuZCBjb2xvciBvZiBpZnJhbWVzXG4kbWZwLWlmcmFtZS1tYXgtd2lkdGg6ICAgICAgICAgICAgICAgIDkwMHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAvLyBNYXhpbXVtIHdpZHRoIG9mIGlmcmFtZXNcbiRtZnAtaWZyYW1lLXJhdGlvOiAgICAgICAgICAgICAgICAgICAgOS8xNiAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIFJhdGlvIG9mIGlmcmFtZSAoOS8xNiA9IHdpZGVzY3JlZW4sIDMvNCA9IHN0YW5kYXJkLCBldGMuKVxuXG4vLyBJbWFnZS10eXBlIG9wdGlvbnNcbiRtZnAtaW5jbHVkZS1pbWFnZS10eXBlOiAgICAgICAgICAgICAgdHJ1ZSAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEVuYWJsZSBJbWFnZS10eXBlIHBvcHVwc1xuJG1mcC1pbWFnZS1iYWNrZ3JvdW5kOiAgICAgICAgICAgICAgICAjNDQ0ICFkZWZhdWx0O1xuJG1mcC1pbWFnZS1wYWRkaW5nLXRvcDogICAgICAgICAgICAgICA0MHB4ICFkZWZhdWx0OyAgICAgICAgICAgICAgICAgICAgICAgLy8gSW1hZ2UgcGFkZGluZyB0b3BcbiRtZnAtaW1hZ2UtcGFkZGluZy1ib3R0b206ICAgICAgICAgICAgNDBweCAhZGVmYXVsdDsgICAgICAgICAgICAgICAgICAgICAgIC8vIEltYWdlIHBhZGRpbmcgYm90dG9tXG4kbWZwLWluY2x1ZGUtbW9iaWxlLWxheW91dC1mb3ItaW1hZ2U6IHRydWUgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgICAvLyBSZW1vdmVzIHBhZGRpbmdzIGZyb20gdG9wIGFuZCBib3R0b21cblxuLy8gSW1hZ2UgY2FwdGlvbiBvcHRpb25zXG4kbWZwLWNhcHRpb24tdGl0bGUtY29sb3I6ICAgICAgICAgICAgICNGM0YzRjMgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHRpdGxlIGNvbG9yXG4kbWZwLWNhcHRpb24tc3VidGl0bGUtY29sb3I6ICAgICAgICAgICNCREJEQkQgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAvLyBDYXB0aW9uIHN1YnRpdGxlIGNvbG9yXG5cbi8vIEExMXlcbiRtZnAtdXNlLXZpc3VhbGx5aGlkZGVuOiAgICAgICAgICAgICAgZmFsc2UgIWRlZmF1bHQ7ICAgICAgICAgICAgICAgICAgICAgIC8vIEhpZGUgY29udGVudCBmcm9tIGJyb3dzZXJzLCBidXQgbWFrZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbiByZWFkZXJzXG4iLCIvKlxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblNQSU5ORVJTXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuQSBTYXNzIG1peGluIHRvIGdlbmVyYXRlIGEgcHVyZSBDU1MzIGxvYWRpbmcvYnVzeSBpbmRpY2F0b3IuXG5odHRwczovL2dpdGh1Yi5jb20vZnJhbnpoZWlkbC9zcGlubmVyc1xuRnJhbnogSGVpZGwgMjAxNFxuTUlUIExpY2Vuc2Vcbi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5VU0FHRVxuXG5EZWZhdWx0OlxuXG4ubXktc3Bpbm5lciB7XG4gQGluY2x1ZGUgc3Bpbm5lcigpO1xufVxuXG5cbkN1c3RvbTpcblxuLm15LXNwaW5uZXIge1xuIEBpbmNsdWRlIHNwaW5uZXIoMS4yNWVtLCAzcHggc29saWQgIzU1NSwgLjdzLCBiYWNrZ3JvdW5kIHJnYmEoMCwgMCwgMCwgLjIpO1xufVxuXG5BbGwgYXJndW1lbnRzIGFyZSBvcHRpb25hbC5cblxuQWNjZXBwdHMgYW55IHZhbGlkIENTUyBkaW1lbnNpb25hbCBkZWNsYXJhdGlvbiwgZS5nIHB4LCBlbSwgcmVtIGFzIGFuIGFyZ3VtZW50IGZvciBzaXplLlxuXG5Vc2UgZWl0aGVyIHNob3J0aGFuZCBib3JkZXIgZGVjbGFyYXRpb25zIG9yIGluZGl2aWR1YWwgJ2JvcmRlci1bcHJvcGVydHldIFt2YWx1ZV0nIChubyBjb2xvbiEpIHBhaXJzIGZvciB0aGUgc3R5bGUuXG5cblBhc3MgYW55IG51bWJlciBvZiBzZWNvbmRzIHJlZmVycmluZyB0byB0aGUgZHVyYXRpb24gb2Ygb25lIGZ1bGwgcm90YXRpb24gZm9yIGFuaW1hdGlvbiBzcGVlZC5cblxuLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiovXG5cblxuQG1peGluIHNwaW5uZXIta2V5ZnJhbWVzIHtcbiAgQC13ZWJraXQta2V5ZnJhbWVzIHNwaW5uZXItYW5pbWF0aW9uIHtcbiAgICAwJSB7XG4gICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIHNwaW5uZXItYW5pbWF0aW9uIHtcbiAgICAwJSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbiAgQC1tcy1rZXlmcmFtZXMgc3Bpbm5lci1hbmltYXRpb24ge1xuICAgIDAlIHtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbiAgQC1vLWtleWZyYW1lcyBzcGlubmVyLWFuaW1hdGlvbiB7XG4gICAgMCUge1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMTAwZGVnKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBzcGlubmVyLWFuaW1hdGlvbiB7XG4gICAgMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbkBpbmNsdWRlIHNwaW5uZXIta2V5ZnJhbWVzKCk7XG5cblxuXG5AbWl4aW4gc3Bpbm5lcigkYXJncy4uLikge1xuICAkcHJlZml4ZXM6IC13ZWJraXQtIC1tb3otIC1vLSAtbXMtIFwiXCI7XG4gICRkaW1lbnNpb25hbC11bml0czogKCdweCcsICdlbScsICdyZW0nLCAnJScsICdleCcpO1xuICAkYm9yZGVyLXByb3BzOiAnYm9yZGVyLXdpZHRoJyAnYm9yZGVyLXN0eWxlJyAnYm9yZGVyLWNvbG9yJztcbiAgJGJvcmRlci1zdHlsZXM6IHNvbGlkIGRvdHRlZCBkYXNoZWQgZG91YmxlO1xuICAkc2l6ZTogMWVtO1xuICAkYm9yZGVyLXdpZHRoOiAzcHg7XG4gICRib3JkZXItc3R5bGU6IHNvbGlkO1xuICAkYm9yZGVyLWNvbG9yOiAjMTI3N2MyO1xuICAkYm9yZGVyOiAkYm9yZGVyLXdpZHRoICRib3JkZXItc3R5bGUgJGJvcmRlci1jb2xvcjtcbiAgJGR1cmF0aW9uOiAuNjVzO1xuICAkYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IC8vXG4gIFxuICAvLyBQYXJzZSBhcmd1bWVudHM6XG4gIEBpZiAkYXJncyB7XG4gICAgQGVhY2ggJGFyZyBpbiAkYXJncyB7XG4gICAgICBAaWYgbGVuZ3RoKCRhcmcpID09IDEge1xuICAgICAgICBAaWYgdHlwZS1vZigkYXJnKSA9PSBudW1iZXIge1xuICAgICAgICAgIEBpZiB1bml0KCRhcmcpICE9IFwiXCIge1xuICAgICAgICAgICAgQGlmIHVuaXQoJGFyZykgPT0gJ3MnIHtcbiAgICAgICAgICAgICAgJGR1cmF0aW9uOiAkYXJnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGVsc2UgaWYgaXNJbigkZGltZW5zaW9uYWwtdW5pdHMsIHVuaXQoJGFyZykpIHtcbiAgICAgICAgICAgICAgJHNpemU6ICRhcmc7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgIEB3YXJuIFwiU3Bpbm5lcjogXFxcIiN7JGFyZ31cXFwiIGlzIG5vdCBhIHZhbGlkIHNpemUgb3IgZHVyYXRpb24gZGVjbGFyYXRpb24hXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIEB3YXJuIFwiU3Bpbm5lcjogXFxcIiN7JGFyZ31cXFwiIGlzIG5vdCBhIHZhbGlkIHNpemUgb3IgZHVyYXRpb24gZGVjbGFyYXRpb24hXCI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiBsZW5ndGgoJGFyZykgPT0gMiB7XG4gICAgICAgICRwcm9wOiBudGgoJGFyZywgMSk7XG4gICAgICAgICR2YWw6IG50aCgkYXJnLCAyKTtcbiAgICAgICAgQGlmIGlzSW4oJGJvcmRlci1wcm9wcywgJHByb3ApIHtcbiAgICAgICAgICBAaWYgJHByb3AgPT0gJ2JvcmRlci13aWR0aCcge1xuICAgICAgICAgICAgQGlmIHVuaXQoJHZhbCkgPT0gJ3B4JyB7XG4gICAgICAgICAgICAgICRib3JkZXItd2lkdGg6ICR2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgIEB3YXJuIFwiU3Bpbm5lcjogXFxcIiN7dW5pdCgkdmFsKX1cXFwiIGlzIG5vdCBhIHZhbGlkIGJvcmRlci13aWR0aCEgVXNpbmcgZGVmYXVsdCBib3JkZXItd2lkdGguXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmICRwcm9wID09ICdib3JkZXItc3R5bGUnIHtcbiAgICAgICAgICAgIEBpZiBpc0luKCRib3JkZXItc3R5bGVzLCAkdmFsKSB7XG4gICAgICAgICAgICAgICRib3JkZXItc3R5bGU6ICR2YWw7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgIEB3YXJuIFwiU3Bpbm5lcjogXFxcIiN7JHZhbH1cXFwiIGlzIG5vdCBhIHZhbGlkIGJvcmRlci1zdHlsZSEgVXNpbmcgZGVmYXVsdCBib3JkZXItc3R5bGUuXCI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIGlmICRwcm9wID09ICdib3JkZXItY29sb3InIHtcbiAgICAgICAgICAgIEBpZiB0eXBlLW9mKCR2YWwpID09IGNvbG9yIHtcbiAgICAgICAgICAgICAgJGJvcmRlci1jb2xvcjogJHZhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgICAgQHdhcm4gXCJTcGlubmVyOiBcXFwiI3skdmFsfVxcXCIgaXMgbm90IGEgdmFsaWQgYm9yZGVyLWNvbG9yISBVc2luZyBkZWZhdWx0IGJvcmRlci1jb2xvci5cIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2UgaWYgJHByb3AgPT0gJ2JhY2tncm91bmQnIHtcbiAgICAgICAgICBAaWYgdHlwZS1vZigkdmFsKSA9PSBjb2xvciB7XG4gICAgICAgICAgICAkYmFja2dyb3VuZDogJHZhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGVsc2Uge1xuICAgICAgICAgICAgQHdhcm4gXCJTcGlubmVyOiBcXFwiI3tudGgoJHZhbCl9XFxcIiBpcyBub3QgYSB2YWxpZCBjb2xvciBmb3IgYmFja2dyb3VuZCEgVXNpbmcgZGVmYXVsdCBcXFwidHJhbnNwYXJlbnRcXFwiLlwiO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgQHdhcm4gXCJTcGlubmVyOiBcXFwiI3tudGgoJGFyZywgMSl9XFxcIiBpcyBub3QgYSB2YWxpZCBib3JkZXIgcHJvcGVydHkhIFVzaW5nIGRlZmF1bHQgYm9yZGVyLlwiO1xuICAgICAgICB9XG4gICAgICAgICRib3JkZXI6ICRib3JkZXItd2lkdGggJGJvcmRlci1zdHlsZSAkYm9yZGVyLWNvbG9yO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgbGVuZ3RoKCRhcmcpID09IDMge1xuICAgICAgICBAaWYgaXNWYWxpZEJvcmRlcigkYXJnKSB7XG4gICAgICAgICAgJGJvcmRlcjogJGFyZztcbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgQHdhcm4gXCJTcGlubmVyOiBcXFwiI3skYXJnfVxcXCIgaXMgbm90IGEgdmFsaWQgc2hvcnRoYW5kIGJvcmRlciBkZWNsYXJhdGlvbiEgVXNpbmcgZGVmYXVsdCBib3JkZXIuXCI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgXG4gIFxuICBcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItdG9wLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJpZ2h0LWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgd2lkdGg6ICRzaXplO1xuICBoZWlnaHQ6ICRzaXplO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIEBlYWNoICRwcmVmaXggaW4gJHByZWZpeGVzIHtcbiAgICAjeyRwcmVmaXh9Ym94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fWFuaW1hdGlvbjogc3Bpbm5lci1hbmltYXRpb24gJGR1cmF0aW9uIGluZmluaXRlIGxpbmVhcjtcbiAgfVxufVxuXG5cblxuQGZ1bmN0aW9uIGlzVmFsaWRCb3JkZXIoJGJvcmRlcikge1xuICAkdmFsaWRCb3JkZXJUeXBlczogY29sb3Igc3RyaW5nIG51bWJlcjtcbiAgJGJvcmRlclN0eWxlczogc29saWQgZG90dGVkIGRhc2hlZCBkb3VibGU7XG4gICR2YWxpZEJvcmRlcjogZmFsc2U7XG4gICR0eXBlczogKCk7XG4gIFxuICBAaWYgbGVuZ3RoKCRib3JkZXIpID09IGxlbmd0aCgkdmFsaWRCb3JkZXJUeXBlcykge1xuICAgIEBlYWNoICR2YWwgaW4gJGJvcmRlciB7XG4gICAgICBAaWYgdHlwZS1vZigkdmFsKSA9PSBudW1iZXIge1xuICAgICAgICBAaWYgdW5pdCgkdmFsKSA9PSBcIlwiIHtcbiAgICAgICAgICBAcmV0dXJuIGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiB0eXBlLW9mKCR2YWwpID09IHN0cmluZyB7XG4gICAgICAgIEBpZiBub3QgaXNJbigkYm9yZGVyU3R5bGVzLCAkdmFsKSB7XG4gICAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJHR5cGVzOiBhcHBlbmQoJHR5cGVzLCB0eXBlLW9mKCR2YWwpKTtcbiAgICB9XG4gICAgJHZhbGlkQm9yZGVyOiBoYXNJZGVudGljYWxWYWx1ZXMoJHZhbGlkQm9yZGVyVHlwZXMsICR0eXBlcyk7XG4gIH1cbiAgXG4gIEByZXR1cm4gJHZhbGlkQm9yZGVyO1xufVxuXG5cblxuQGZ1bmN0aW9uIGhhc0lkZW50aWNhbFZhbHVlcygkYXJyMSwgJGFycjIpIHtcbiAgJGlkOiBmYWxzZTtcbiAgQGVhY2ggJHZhbCBpbiAkYXJyMSB7XG4gICAgQGlmIGlzSW4oJGFycjIsICR2YWwpIHtcbiAgICAgICRpZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH1cbiAgQHJldHVybiAkaWQ7XG59XG5cblxuXG5AZnVuY3Rpb24gaXNJbigkYXJyMSwgJHZhbCkge1xuICAkaGFzVmFsOiBmYWxzZTtcbiAgQGVhY2ggJGl0ZW0gaW4gJGFycjEge1xuICAgIEBpZiAkaXRlbSA9PSAkdmFsIHtcbiAgICAgICRoYXNWYWw6IHRydWU7XG4gICAgfVxuICB9XG4gIEByZXR1cm4gJGhhc1ZhbDtcbn1cbiIsIkBpbXBvcnQgJy4uL3NldHRpbmdzL2ljb25zLXNldHRpbmdzJztcblxuLmljb257XG4gICAgJiwgc3Zne1xuICAgICAgICBmaWxsOiAkaWNvbi1jb2xvcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSh3aWR0aCwgJGljb24td2lkdGgpO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkaWNvbi1oZWlnaHQpO1xuICAgIH1cbn1cbi5pY29uU2hvd3tcbiAgICAudG9nZ2xlSWNvbiAme1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbi5pY29uSGlkZXtcbiAgICAmLCAuaWNvbiAme1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAudG9nZ2xlSWNvbiAme1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxufVxuXG4vLyBUT0RPOiBWeXR2b3JpdCBtaXhpbnUgcHJlIHphZGF2YW5pZSBwb21lcnUgaWtvbmFtIiwiQGltcG9ydCAnLi4vc2V0dGluZ3MvY29tcG9uZW50cy9sb2FkaW5nLXNwaW5uZXJzLXNldHRpbmdzJztcbi4jeyRsb2FkaW5nLXNwaW5uZXItY2xhc3N9e1xuICAgIEBpbmNsdWRlIHNwaW5uZXIoJGxvYWRpbmctc3Bpbm5lci1zaXplLCBib3JkZXItd2lkdGggJGxvYWRpbmctc3Bpbm5lci1ib3JkZXItd2lkdGgsIGJvcmRlci1jb2xvciAkbG9hZGluZy1zcGlubmVyLWNvbG9yLCBiYWNrZ3JvdW5kICRsb2FkaW5nLXNwaW5uZXItYmFja2dyb3VuZCk7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1ib3R0b20sICRsb2FkaW5nLXNwaW5uZXItbWFyZ2luLWJvdHRvbSk7XG4gICAgJi5zZWNvbmRhcnl7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbG9hZGluZy1zcGlubmVyLXNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxvYWRpbmctc3Bpbm5lci1zZWNvbmRhcnktY29sb3I7XG4gICAgfVxuICAgICYuYmxhY2t7XG4gICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkbG9hZGluZy1zcGlubmVyLWJsYWNrLWNvbG9yO1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAkbG9hZGluZy1zcGlubmVyLWJsYWNrLWNvbG9yO1xuICAgIH1cbiAgICAmLndoaXRle1xuICAgICAgICBib3JkZXItbGVmdC1jb2xvcjogJGxvYWRpbmctc3Bpbm5lci13aGl0ZS1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogJGxvYWRpbmctc3Bpbm5lci13aGl0ZS1jb2xvcjtcbiAgICB9XG4gICAgJi5sYXJnZXtcbiAgICAgICAgd2lkdGg6ICRsb2FkaW5nLXNwaW5uZXItbGFyZ2Utc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkbG9hZGluZy1zcGlubmVyLWxhcmdlLXNpemU7XG4gICAgfVxuICAgICYuc21hbGx7XG4gICAgICAgIHdpZHRoOiAkbG9hZGluZy1zcGlubmVyLXNtYWxsLXNpemU7XG4gICAgICAgIGhlaWdodDogJGxvYWRpbmctc3Bpbm5lci1zbWFsbC1zaXplO1xuICAgIH1cbiAgICAmLnRpbnl7XG4gICAgICAgIHdpZHRoOiAkbG9hZGluZy1zcGlubmVyLXRpbnktc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkbG9hZGluZy1zcGlubmVyLXRpbnktc2l6ZTtcbiAgICB9XG4gICAgLmJ1dHRvbiAme1xuICAgICAgICBtYXJnaW46IDAgJGxvYWRpbmctc3Bpbm5lci1pbi1idXR0b24tc2l6ZS8yIDAgMDtcbiAgICAgICAgQGluY2x1ZGUgc3Bpbm5lcigkbG9hZGluZy1zcGlubmVyLWluLWJ1dHRvbi1zaXplLCBib3JkZXItd2lkdGggJGxvYWRpbmctc3Bpbm5lci1pbi1idXR0b24tYm9yZGVyLXdpZHRoLCBib3JkZXItY29sb3IgJGxvYWRpbmctc3Bpbm5lci1pbi1idXR0b24tY29sb3IsIGJhY2tncm91bmQgJGxvYWRpbmctc3Bpbm5lci1pbi1idXR0b24tYmFja2dyb3VuZCk7XG4gICAgfVxuICAgIC5idXR0b24uaG9sbG93ICZ7XG4gICAgICAgIEBpbmNsdWRlIHNwaW5uZXIoJGxvYWRpbmctc3Bpbm5lci1pbi1idXR0b24taG9sbG93LXNpemUsIGJvcmRlci13aWR0aCAkbG9hZGluZy1zcGlubmVyLWluLWJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoLCBib3JkZXItY29sb3IgJGxvYWRpbmctc3Bpbm5lci1pbi1idXR0b24taG9sbG93LWNvbG9yLCBiYWNrZ3JvdW5kICRsb2FkaW5nLXNwaW5uZXItaW4tYnV0dG9uLWhvbGxvdy1iYWNrZ3JvdW5kKTtcbiAgICB9XG59XG4ubG9hZGluZ1BsYWNlaG9sZGVyV3JhcHBlcntcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLiN7JGxvYWRpbmctc3Bpbm5lci1jbGFzc317XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0oJGxvYWRpbmctc3Bpbm5lci1zaXplLzIpO1xuICAgICAgICBtYXJnaW4tdG9wOiAtKCRsb2FkaW5nLXNwaW5uZXItc2l6ZS8yKTtcbiAgICAgICAgJi5sYXJnZXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtKCRsb2FkaW5nLXNwaW5uZXItbGFyZ2Utc2l6ZS8yKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IC0oJGxvYWRpbmctc3Bpbm5lci1sYXJnZS1zaXplLzIpO1xuICAgICAgICB9XG4gICAgICAgICYuc21hbGx7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogLSgkbG9hZGluZy1zcGlubmVyLXNtYWxsLXNpemUvMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCRsb2FkaW5nLXNwaW5uZXItc21hbGwtc2l6ZS8yKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAuI3skbG9hZGluZy1idXR0b24tY2xhc3N9IHtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICArIC4jeyRsb2FkaW5nLXNwaW5uZXItY2xhc3N9IHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgICAgICAmLmludmlzaWJsZXtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICArIC4jeyRsb2FkaW5nLXNwaW5uZXItY2xhc3N9IHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufSIsIiRsb2FkaW5nLXNwaW5uZXItY2xhc3M6IFwibG9hZGluZ1wiICFkZWZhdWx0O1xuJGxvYWRpbmctYnV0dG9uLWNsYXNzOiBcImJ1dHRvblwiICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1zaXplOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLXRpbnktc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1zbWFsbC1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLWxhcmdlLXNpemU6IHJlbS1jYWxjKDI2KSAhZGVmYXVsdDtcbiRsb2FkaW5nLXNwaW5uZXItYm9yZGVyLXdpZHRoOiAycHggIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRsb2FkaW5nLXNwaW5uZXItYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAuMSkgIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLW1hcmdpbi1ib3R0b206ICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWJvdHRvbSAhZGVmYXVsdDtcblxuLy9jb2xvcnNcbiRsb2FkaW5nLXNwaW5uZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1ibGFjay1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcbiRsb2FkaW5nLXNwaW5uZXItd2hpdGUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gaW5zaWRlIGJ1dHRvbnNcbiRsb2FkaW5nLXNwaW5uZXItaW4tYnV0dG9uLXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRsb2FkaW5nLXNwaW5uZXItaW4tYnV0dG9uLWJvcmRlci13aWR0aDogJGxvYWRpbmctc3Bpbm5lci1ib3JkZXItd2lkdGggIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLWluLWJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGxvYWRpbmctc3Bpbm5lci1pbi1idXR0b24tYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWRlZmF1bHQ7XG5cbiRsb2FkaW5nLXNwaW5uZXItaW4tYnV0dG9uLWhvbGxvdy1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kbG9hZGluZy1zcGlubmVyLWluLWJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAkbG9hZGluZy1zcGlubmVyLWJvcmRlci13aWR0aCAhZGVmYXVsdDtcbiRsb2FkaW5nLXNwaW5uZXItaW4tYnV0dG9uLWhvbGxvdy1jb2xvcjogJGxvYWRpbmctc3Bpbm5lci1jb2xvciAhZGVmYXVsdDtcbiRsb2FkaW5nLXNwaW5uZXItaW4tYnV0dG9uLWhvbGxvdy1iYWNrZ3JvdW5kOiAkbG9hZGluZy1zcGlubmVyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0ICcuLi9zZXR0aW5ncy9mb3JtLWVsZW1lbnRzLXNldHRpbmdzJztcblxuW3R5cGU9J3RleHQnXSxcblt0eXBlPSdwYXNzd29yZCddLFxuW3R5cGU9J2RhdGUnXSxcblt0eXBlPSdkYXRldGltZSddLFxuW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sXG5bdHlwZT0nbW9udGgnXSxcblt0eXBlPSd3ZWVrJ10sXG5bdHlwZT0nZW1haWwnXSxcblt0eXBlPSdudW1iZXInXSxcblt0eXBlPSdzZWFyY2gnXSxcblt0eXBlPSd0ZWwnXSxcblt0eXBlPSd0aW1lJ10sXG5bdHlwZT0ndXJsJ10sXG5bdHlwZT0nY29sb3InXSxcbnNlbGVjdFxue1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShmb250LXNpemUsICRmb3JtLWZpZWxkLWZvbnQtc2l6ZXMpO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShoZWlnaHQsICRiYXNlLWZvcm0tZWxlbWVudHMtaGVpZ2h0cyk7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1ib3R0b20sICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWJvdHRvbSk7XG4gICAgJjpkaXNhYmxlZCwgJltyZWFkb25seV0ge1xuICAgICAgICBjb2xvcjogJGlucHV0LWNvbG9yLWRpc2FibGVkO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3ItZGlzYWJsZWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG50ZXh0YXJlYXtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoZm9udC1zaXplLCAkZm9ybS10ZXh0YXJlYS1mb250LXNpemVzKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWJvdHRvbSwgJGJhc2UtZWxlbWVudC1ndXR0ZXItYm90dG9tKTtcbn1cbmxhYmVse1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShmb250LXNpemUsICRsYWJlbC1mb250LXNpemVzKTtcbiAgICBAaW5jbHVkZSBpc1NldCgkbGFiZWwtcmVxdWlyZWQtc3ltYm9sKXtcbiAgICAgICAgJi5yZXF1aXJlZCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogJGxhYmVsLXJlcXVpcmVkLXN5bWJvbDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGxhYmVsLXJlcXVpcmVkLXN5bWJvbC1jb2xvcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogJGxhYmVsLXJlcXVpcmVkLXN5bWJvbC1tYXJnaW4tbGVmdDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoZm9udC1zaXplLCAkbGFiZWwtcmVxdWlyZWQtc3ltYm9sLXNpemUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWJvdHRvbSwgJGJhc2UtZWxlbWVudC1ndXR0ZXItYm90dG9tKTtcbn1cbi5idXR0b257XG4gICAgZm9udC13ZWlnaHQ6ICRidXR0b24tZm9udC13ZWlnaHQ7XG4gICAgJiwgLmJ1dHRvbi1ncm91cCAme1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoZm9udC1zaXplLCAkYnV0dG9uLWdyb3VwLWZvbnQtc2l6ZXMpO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWJvdHRvbSwgJGJhc2UtZWxlbWVudC1ndXR0ZXItYm90dG9tKTtcbiAgICB9XG59XG4uc3dpdGNoe1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tYm90dG9tLCAkYmFzZS1lbGVtZW50LWd1dHRlci1ib3R0b20pO1xufVxuXG4ud3JhcHBlci1yYWRpbywgLndyYXBwZXItY2hlY2tib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBbdHlwZT0ncmFkaW8nXSwgW3R5cGU9J2NoZWNrYm94J10ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tYm90dG9tLCAkYmFzZS1lbGVtZW50LWd1dHRlci1ib3R0b20pO1xufVxuLmZpZWxkc2V0SGVhZGluZywgLmZpZWxkc2V0SGVhZCwgbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGxlZ2VuZC1jb2xvcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogJGxlZ2VuZC10ZXh0LXRyYW5zZm9ybTtcbiAgICBiYWNrZ3JvdW5kOiAkbGVnZW5kLWJhY2tncm91bmQ7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGZvbnQtc2l6ZSwgJGxlZ2VuZC1mb250LXNpemVzKTtcbiAgICBsaW5lLWhlaWdodDogJGxlZ2VuZC1saW5lLWhlaWdodDtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWJvdHRvbSwgJGxlZ2VuZC1tYXJnaW4tYm90dG9tKTtcbn1cbnByZSB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1ib3R0b20sICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWJvdHRvbSk7XG59IiwiJGZvcm0tZmllbGQtZm9udC1zaXplczogJGJhc2UtZm9udC1zaXplcyAhZGVmYXVsdDtcbiRmb3JtLXRleHRhcmVhLWZvbnQtc2l6ZXM6ICRmb3JtLWZpZWxkLWZvbnQtc2l6ZXMgIWRlZmF1bHQ7XG4kYnV0dG9uLWdyb3VwLWZvbnQtc2l6ZXM6ICRiYXNlLWZvbnQtc2l6ZXMgIWRlZmF1bHQ7XG5cbiRsYWJlbC1mb250LXNpemVzOiAkZm9ybS1maWVsZC1mb250LXNpemVzICFkZWZhdWx0O1xuJGxhYmVsLXJlcXVpcmVkLXN5bWJvbDogbnVsbCAhZGVmYXVsdDtcbiRsYWJlbC1yZXF1aXJlZC1zeW1ib2wtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kbGFiZWwtcmVxdWlyZWQtc3ltYm9sLXNpemU6ICRiYXNlLWZvbnQtc2l6ZXMgIWRlZmF1bHQ7XG4kbGFiZWwtcmVxdWlyZWQtc3ltYm9sLW1hcmdpbi1sZWZ0OiByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC13ZWlnaHQ6IDUwMCAhZGVmYXVsdDtcbiRsZWdlbmQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kbGVnZW5kLWJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFkZWZhdWx0O1xuJGxlZ2VuZC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXdlaWdodDogNzAwICFkZWZhdWx0O1xuJGxlZ2VuZC1mb250LXNpemVzOiAoXG4gICAgbnVsbDogcmVtLWNhbGMoMTYpLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoMTgpLFxuICAgIGxhcmdlOiByZW0tY2FsYygyMClcbikgIWRlZmF1bHQ7XG4kbGVnZW5kLW1hcmdpbi1ib3R0b206ICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWJvdHRvbSAhZGVmYXVsdDtcbiRsZWdlbmQtbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodCAhZGVmYXVsdDtcbiRpbnB1dC1jb2xvci1kaXNhYmxlZDogJGRhcmstZ3JheSAhZGVmYXVsdDtcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvci1kaXNhYmxlZDogJGRhcmstZ3JheSAhZGVmYXVsdDtcbiRzZWxlY3QtYmFja2dyb3VuZC1kaXNhYmxlZDogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQgIWRlZmF1bHQ7XG4iLCJAaW1wb3J0ICcuLi9zZXR0aW5ncy9jb21wb25lbnRzL3R5cG9ncmFwaHktZWxlbWVudHMnO1xuJGRzZmUtaGVhZGVyLXNpemVzOiAoXG4gICAgeHNtYWxsOiAoXG4gICAgICAgICdoMSc6IDIwLFxuICAgICAgICAnaDInOiAyMCxcbiAgICAgICAgJ2gzJzogMTksXG4gICAgICAgICdoNCc6IDE4LFxuICAgICAgICAnaDUnOiAxNyxcbiAgICAgICAgJ2g2JzogMTYsXG4gICAgKSxcbiAgICBtZWRpdW06IChcbiAgICAgICAgJ2gxJzogMjUsXG4gICAgICAgICdoMic6IDQwLFxuICAgICAgICAnaDMnOiAzMSxcbiAgICAgICAgJ2g0JzogMjUsXG4gICAgICAgICdoNSc6IDIwLFxuICAgICAgICAnaDYnOiAxNixcbiAgICApLFxuICAgIHhsYXJnZTogKFxuICAgICAgICAnaDEnOiAzMCxcbiAgICAgICAgJ2gyJzogNDAsXG4gICAgICAgICdoMyc6IDMxLFxuICAgICAgICAnaDQnOiAyNSxcbiAgICAgICAgJ2g1JzogMjAsXG4gICAgICAgICdoNic6IDE2LFxuICAgICksXG4pO1xucCB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGZvbnQtc2l6ZSwgJHR5cG9ncmFwaHktZm9udC1zaXplcyk7XG59XG5cbmhyIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLXRvcCwgJGhyLW1hcmdpbi1zaXplcywgJGJyZWFrcG9pbnRzLCBtaW4td2lkdGgsIHJlbS1jYWxjKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWJvdHRvbSwgJGhyLW1hcmdpbi1zaXplcywgJGJyZWFrcG9pbnRzLCBtaW4td2lkdGgsIHJlbS1jYWxjKTtcbiAgICAkY2xvc2VzdC1zaXplIDogbnVsbDtcbiAgICBAaWYoJGhhcy1jdXN0b20tdHlwb2dyYXBoeS1yZXNwb25zaXZlLWNsYXNzZXMpIHtcbiAgICAgICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiAkdHlwb2dyYXBoeS1lbGVtZW50LWJyZWFrcG9pbnRzIHtcbiAgICAgICAgICAgICR0ZW1wLWJyZWFrcG9pbnQ6ICgkc2l6ZSA6ICR2YWx1ZSk7XG4gICAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhyLW1hcmdpbi1zaXplcywgJHNpemUpIHtcbiAgICAgICAgICAgICAgICAkY2xvc2VzdC1zaXplOiByZW0tY2FsYyhtYXAtZ2V0KCRoci1tYXJnaW4tc2l6ZXMsICRzaXplKSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWdlbmVyYXRvci1jbGFzcy1jb250ZW50KGNvbGxhcHNlLXRvcCwgJHRlbXAtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWdlbmVyYXRvci1jbGFzcy1jb250ZW50KGNvbGxhcHNlLWJvdHRvbSwgJHRlbXAtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLWdlbmVyYXRvci1jbGFzcy1jb250ZW50KHVuY29sbGFwc2UtdG9wLCAkdGVtcC1icmVha3BvaW50KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogJGNsb3Nlc3Qtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZ2VuZXJhdG9yLWNsYXNzLWNvbnRlbnQodW5jb2xsYXBzZS1ib3R0b20sICR0ZW1wLWJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkY2xvc2VzdC1zaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1nZW5lcmF0b3ItY2xhc3MtY29udGVudChjb2xsYXBzZSwgJHRlbXAtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZ2VuZXJhdG9yLWNsYXNzLWNvbnRlbnQodW5jb2xsYXBzZSwgJHRlbXAtYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6ICRjbG9zZXN0LXNpemU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGNsb3Nlc3Qtc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyZWFrV29yZCB7XG4gICAgLyogVGhlc2UgYXJlIHRlY2huaWNhbGx5IHRoZSBzYW1lLCBidXQgdXNlIGJvdGggKi9cbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAtbXMtd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIC8qIFRoaXMgaXMgdGhlIGRhbmdlcm91cyBvbmUgaW4gV2ViS2l0LCBhcyBpdCBicmVha3MgdGhpbmdzIHdoZXJldmVyICovXG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIC8qIEluc3RlYWQgdXNlIHRoaXMgbm9uLXN0YW5kYXJkIG9uZTogKi9cbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIC8qIEFkZHMgYSBoeXBoZW4gd2hlcmUgdGhlIHdvcmQgYnJlYWtzLCBpZiBzdXBwb3J0ZWQgKE5vIEJsaW5rKSAqL1xuICAgIC1tcy1oeXBoZW5zOiBhdXRvO1xuICAgIC1tb3otaHlwaGVuczogYXV0bztcbiAgICAtd2Via2l0LWh5cGhlbnM6IGF1dG87XG4gICAgaHlwaGVuczogYXV0bztcbn1cblxuY29kZSwga2JkLCBwcmUsIHNhbXB7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGZvbnQtc2l6ZSwgJHR5cG9ncmFwaHktZm9udC1zaXplcyk7XG59IiwiQGltcG9ydCAnLi4vc2V0dGluZ3MvZHJvcGRvd24tc2V0dGluZ3MnO1xuXG4vLy8gZHJvcGRvd24gbWFpbiBzdHlsZXNcbi5kcm9wZG93biB7XG4gICAgJi5tZW51e1xuICAgICAgICBzcGFue1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgfVxuICAgICAgICBzbWFsbHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgICAgICAgY29sb3I6ICRkcm9wZG93bi1zbWFsbC1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICBzdHJvbmd7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgY29sb3I6ICRkcm9wZG93bi1wcmltYXJ5LWNvbG9yO1xuICAgICAgICB9XG4gICAgICAgIGxpe1xuICAgICAgICAgICAgYXtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkZHJvcGRvd24tdGV4dC1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxpe1xuICAgICAgICAgICAgICAgIHN2Z3tcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6ICRkcm9wZG93bi1pY29ucy1jb2xvcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGRyb3Bkb3duLWl0ZW0taG92ZXItYmFja2dyb3VuZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm1lbnV7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAkZHJvcGRvd24tc2hhZG93O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAuaXMtZHJvcGRvd24tc3VibWVudXtcbiAgICAgICAgICAgIC8vZGlzcGxheTogbm9uZTsgLy8gZm91bmRhdGlvbiBtZW51IGJ1ZyAtIGZsZXhib3ggbGF5b3V0IGluIGZvdW5kYXRpb24gYnJlYWtzIHRoaXNcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1cHgpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICAgICAgJi5qcy1kcm9wZG93bi1hY3RpdmV7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uL3NldHRpbmdzL2NhbGxvdXQtc2V0dGluZ3MnO1xuXG4uY2FsbG91dHtcbiAgICAvL2JveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgkYmxhY2ssIC4xKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLCAkZHNmZS1jYWxsb3V0LW1hcmdpbik7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmcsICRkc2ZlLWNhbGxvdXQtcGFkZGluZyk7XG59IiwiQGltcG9ydCAnLi4vc2V0dGluZ3MvY29tcG9uZW50cy9saXN0LXNldHRpbmdzJztcblxuLm1haW5Db250ZW50V3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmcsICRtYWluLWNvbnRlbnQtd3JhcHBlci1wYWRkaW5nKTtcbn1cblxuLndvcmQtYnJlYWsge1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cbi5saXN0VGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1ib3R0b20sICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWJvdHRvbSk7XG4gICAgQGluY2x1ZGUgaXNTZXQoJHRhYmxlLXN0eWxlLXNoYWRvdykge1xuICAgICAgICBib3gtc2hhZG93OiAkdGFibGUtc3R5bGUtc2hhZG93O1xuICAgIH1cbiAgICB0aCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmc7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1oZWFkLWZvbnQtd2VpZ2h0O1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICAgIEBpZiAkdGFibGUtaGVhZC1oYXMtYm9yZGVyLXZlcnRpY2FsIHtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGNvbG9yOiAkdGFibGUtaGVhZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkdGFibGUtaWNvbi1zdmctY29sb3I7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoJHRhYmxlLWljb24tc3ZnLXdpZHRoKTtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoJHRhYmxlLWljb24tc3ZnLWhlaWdodCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6ICN7cmVtLWNhbGMoY2VpbCgtJHRhYmxlLWljb24tc3ZnLWhlaWdodC8yKSl9O1xuICAgICAgICB9XG4gICAgfVxuICAgIHRoOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3I7XG4gICAgfVxuICAgIHRkLmZpZWxkLWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICBAaWYgJHRhYmxlLWJvcmRlciA9PSB0cnVlICB7XG4gICAgICAgIHRkIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkdGFibGUtYm9yZGVyLWNvbG9yO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICB0ZDpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgJHRhYmxlLWJvcmRlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0Ym9keSB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtYm9keS1jb2xvcjtcbiAgICAgICAgdHI6bnRoLWNoaWxkKDJuKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZXZlbi1yb3ctYmc7XG4gICAgICAgIH1cbiAgICAgICAgdHI6bnRoLWNoaWxkKDJuICsxKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtb2RkLXJvdy1iZztcbiAgICAgICAgfVxuICAgIH1cbiAgICB0ZCwgdGgsIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShmb250LXNpemUsICR0YWJsZS1mb250LXNpemUpO1xuICAgIH1cbiAgICB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAkdGFibGUtc3R5bGUtYm9yZGVyO1xuICAgIH1cbiAgICB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAkdGFibGUtc3R5bGUtYm9yZGVyO1xuICAgIH1cbiAgICB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJHRhYmxlLXN0eWxlLWJvcmRlcjtcbiAgICB9XG4gICAgdGZvb3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtZm9vdC1iZztcbiAgICAgICAgY29sb3I6ICR0YWJsZS1mb290LWNvbG9yO1xuICAgICAgICBib3JkZXI6ICR0YWJsZS1zdHlsZS1ib3JkZXI7XG4gICAgfVxuICAgIC5jb250cm9scyB7XG4gICAgICAgIHBhZGRpbmc6IDBcbiAgICB9XG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICAgIC5jb250cm9sc1dyYXBwZXIge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgLmJ1dHRvbi1pY29uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAkdGFibGUtY29udHJvbC1pY29uLWd1dHRlciAwIDA7XG4gICAgICAgIH1cbiAgICB9XG4gICAgdHI6aG92ZXIgdGQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdGFibGUtcm93LWhvdmVyLWJnO1xuICAgIH1cbn1cblxudWwucGFnaW5hdGlvbiB7XG4gICAgbGkge1xuICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJnO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1iZztcbiAgICAgICAgICAgICAgICBjb2xvcjogJHBhZ2luYXRpb24taXRlbS1ob3Zlci1jb2xvcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRyb2xCdXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAuYWN0aW9uQnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkdGFibGUtYnV0dG9uLXNpemVzLCAkYnJlYWtwb2ludHMsIG1pbi13aWR0aCwgcmVtLWNhbGMpO1xuICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUod2lkdGgsICR0YWJsZS1idXR0b24tc2l6ZXMsICRicmVha3BvaW50cywgbWluLXdpZHRoLCByZW0tY2FsYyk7XG4gICAgICAgIGZpbGw6ICR0YWJsZS1pY29uLXN2Zy1jb2xvcjtcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICAgICRpY29uLWhlaWdodHM6IGdldE1hcE11bHRpKCR0YWJsZS1idXR0b24tc2l6ZXMsICR0YWJsZS1idXR0b24taWNvbi1yYXRpbywgcmVtLWNhbGMpO1xuICAgICAgICAgICAgJGljb24td2lkdGhzOiBnZXRNYXBNdWx0aSgkdGFibGUtYnV0dG9uLXNpemVzLCAkdGFibGUtYnV0dG9uLWljb24tcmF0aW8sIHJlbS1jYWxjKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShoZWlnaHQsICRpY29uLWhlaWdodHMpO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHdpZHRoLCAkaWNvbi13aWR0aHMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucmVjdGFuZ2xlUmF0aW9XaWR0aCB7XG4gICAgJHRhYmxlLWJ1dHRvbi1zaXplcy1yZWN0OiBnZXRNYXBNdWx0aSgkdGFibGUtYnV0dG9uLXNpemVzLCAxLjUsIHJlbS1jYWxjKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUod2lkdGgsICR0YWJsZS1idXR0b24tc2l6ZXMtcmVjdCwgJGJyZWFrcG9pbnRzLCBtaW4td2lkdGgsIHJlbS1jYWxjKTtcbiAgICBzdmcge1xuICAgICAgICAkaWNvbi13aWR0aHM6IGdldE1hcE11bHRpKCR0YWJsZS1idXR0b24tc2l6ZXMtcmVjdCwgJHRhYmxlLWJ1dHRvbi1pY29uLXJhdGlvLCByZW0tY2FsYyk7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSh3aWR0aCwgJGljb24td2lkdGhzKTtcbiAgICB9XG59XG4ucmVjdGFuZ2xlUmF0aW9IZWlnaHQge1xuICAgICR0YWJsZS1idXR0b24tc2l6ZXMtcmVjdDogZ2V0TWFwTXVsdGkoJHRhYmxlLWJ1dHRvbi1zaXplcywgMS41LCByZW0tY2FsYyk7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGhlaWdodCwgJHRhYmxlLWJ1dHRvbi1zaXplcy1yZWN0LCAkYnJlYWtwb2ludHMsIG1pbi13aWR0aCwgcmVtLWNhbGMpO1xuICAgIHN2ZyB7XG4gICAgICAgICRpY29uLXdpZHRoczogZ2V0TWFwTXVsdGkoJHRhYmxlLWJ1dHRvbi1zaXplcy1yZWN0LCAkdGFibGUtYnV0dG9uLWljb24tcmF0aW8sIHJlbS1jYWxjKTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGhlaWdodCwgJGljb24td2lkdGhzKTtcbiAgICB9XG59IiwiJHRhYmxlLWNvbHVtbi1kZWZhdWx0LXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuJHRhYmxlLXN0eWxlLXNoYWRvdzogbm9uZSAhZGVmYXVsdDtcbiR0YWJsZS1kZWZhdWx0LXNpemVzOiAoXG4gICAgbnVsbDogNzY4cHgsXG4gICAgbWVkaXVtOiAxMjUwcHhcbikgIWRlZmF1bHQ7XG4kdGFibGUtc2Nyb2xsLWxpbWl0LXdpZHRoOiAyMDAwcHggIWRlZmF1bHQ7XG4kdGFibGUtc2Nyb2xsLWdyaWQtcHJlZml4OiBcInRjb2xcIiAhZGVmYXVsdDtcbiR0YWJsZS1wdXJlLXNjcm9sbC1kZWZhdWx0LWNsYXNzTmFtZTogXCJ0YWJsZVB1cmVTY3JvbGxcIiAhZGVmYXVsdDtcbiR0YWJsZS1oeWJyaWQtc2Nyb2xsLWRlZmF1bHQtY2xhc3NOYW1lOiBcInRhYmxlTmF0aXZlU2Nyb2xsXCIgIWRlZmF1bHQ7XG4kdGFibGUtaHlicmlkLXNvbmF0YS1zY3JvbGwtY2xhc3NOYW1lOiBcInRhYmxlU2Nyb2xsXCIgIWRlZmF1bHQ7XG5cbiR0YWJsZS1oYXMtcHVyZS1zY3JvbGwtZ3JpZC1zeXN0ZW06IHRydWUgIWRlZmF1bHQ7XG4kdGFibGUtaGFzLWdyaWQtY2xhc3NlczogdHJ1ZSAgIWRlZmF1bHQ7XG5cblxuIiwiJHRhYmxlLXJvdy1ob3Zlci1iZzogbWl4KCR3aGl0ZSwgJGJsYWNrLCA5MiUpICFkZWZhdWx0O1xuJHRhYmxlLWZvbnQtc2l6ZTogJGJhc2UtZm9udC1zaXplcyAhZGVmYXVsdDtcbiR0YWJsZS1ldmVuLXJvdy1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLW9kZC1yb3ctYmc6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuJHRhYmxlLXN0eWxlLWJvcmRlcjogMXB4IHNvbGlkICR0YWJsZS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtYm9yZGVyOiBmYWxzZSAhZGVmYXVsdDtcbiR0YWJsZS1zdHlsZS1zaGFkb3c6IG5vbmUgIWRlZmF1bHQ7XG4kdGFibGUtY29udHJvbC1pY29uLWd1dHRlcjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kdGFibGUtbWFpbi1jb250ZW50LXdyYXBwZXItcGFkZGluZzogJG1haW4tY29udGVudC13cmFwcGVyLXBhZGRpbmcgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1oYXMtYm9yZGVyLXZlcnRpY2FsOiB0cnVlICFkZWZhdWx0O1xuXG4kdGFibGUtaGVhZC1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWhlYWQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcbiR0YWJsZS1ib2R5LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG4kdGFibGUtZm9vdC1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiR0YWJsZS1ncmlkLWNvbHM6IDEwICFkZWZhdWx0O1xuJHRhYmxlLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMgIWRlZmF1bHQ7XG4kdGFibGUtaWNvbi1zdmctY29sb3I6ICRzZWNvbmRhcnktY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtaWNvbi1zdmctd2lkdGg6IDE4cHggIWRlZmF1bHQ7XG4kdGFibGUtaWNvbi1zdmctaGVpZ2h0OiAxOHB4ICFkZWZhdWx0O1xuJHRhYmxlLWJ1dHRvbi1pY29uLXJhdGlvOiAwLjYgIWRlZmF1bHQ7XG4kdGFibGUtYnV0dG9uLXNpemVzOihcbiAgICAgICAgbnVsbDogMzVweCxcbiAgICAgICAgbWVkaXVtIDogNDJweCxcbikgIWRlZmF1bHQ7XG5cbiRwYWdpbmF0aW9uLWl0ZW0tYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWl0ZW0taG92ZXItYmc6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1pdGVtLWhvdmVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7IiwiQGltcG9ydCAnLi4vc2V0dGluZ3MvY29tcG9uZW50cy9sb2dpbi1zY3JlZW4tc2V0dGluZ3MnO1xuXG4ubG9naW5TY3JlZW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgPiAucm93e1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgfVxuICAgIC5sb2dpbkNvbnRlbnQge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkbG9naW4tYmc7XG4gICAgICAgIEBpZiAkbG9naW4taGFzLXNoYWRvdyB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwcHggMnB4IDRweCAtMXB4IHJnYmEoMTAsMTAsMTAsMC4zKTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAubG9naW5Mb2dvQmxvY2sge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxvZ2luLWxvZ29CbG9jay1ib3JkZXItY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tYm90dG9tLCAkYmFzZS1lbGVtZW50LWd1dHRlci1oYWxmKTtcbiAgICAgICAgQGlmICRsb2dpbi1oYXMtbG9nbyB7XG4gICAgICAgICAgICAubG9nbyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmctYm90dG9tLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy10b3AsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBzdmcge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICRsb2dpbi1sb2dvLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6ICRsb2dpbi1sb2dvLWhlaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmxvZ2luRm9ybUJsb2NrIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1ib3R0b20sICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWhhbGYpO1xuICAgIH1cbn1cbiIsIiRsb2dpbi1iZzogJHdoaXRlICFkZWZhdWx0O1xuJGxvZ2luLWhhcy1zaGFkb3c6IHRydWUgIWRlZmF1bHQ7XG4kbG9naW4taGFzLWxvZ286IHRydWUgIWRlZmF1bHQ7XG4kbG9naW4tbG9nby13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRsb2dpbi1sb2dvLWhlaWdodDogcmVtLWNhbGMoNTApICFkZWZhdWx0O1xuJGxvZ2luLWxvZ29CbG9jay1ib3JkZXItY29sb3I6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuJGxvZ2luLWZvcm0tYm9yZGVyLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0OyIsIkBpbXBvcnQgXCIuLi9zZXR0aW5ncy90YWJsZS1yZXNwb25zaXZlLXNldHRpbmdzXCI7XG5cbkBtaXhpbiByZXNwb25zaXZlVGFibGVCZWhhdmlvcigkdHlwZTogXCJuYXRpdmVcIikge1xuICAgIEBpZiAkdHlwZSA9PSBcIm5hdGl2ZVwiIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tYm90dG9tLCAkYmFzZS1lbGVtZW50LWd1dHRlci1ib3R0b20pO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IFwiZmxleFwiKSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIEBpbmNsdWRlIGlzU2V0KCR0YWJsZS1zdHlsZS1zaGFkb3cpIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiB0YWJsZVJvd0JlaGF2aW9yKCR0eXBlOiBcIm5hdGl2ZVwiKSB7XG4gICAgQGlmICR0eXBlID09IFwibmF0aXZlXCIge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3c7XG4gICAgfSBAZWxzZSBpZiAoJHR5cGUgPT0gXCJmbGV4XCIpIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0cmV0Y2g7XG4gICAgfVxufVxuXG5AbWl4aW4gdGFibGVDZWxsQmVoYXZpb3IoJHR5cGU6IFwibmF0aXZlXCIsICR0YWJsZS1jb2x1bW4tc2l6ZTogJHRhYmxlLWNvbHVtbi1kZWZhdWx0LXNpemUpIHtcbiAgICBAaWYgJHR5cGUgPT0gXCJuYXRpdmVcIiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH0gQGVsc2UgaWYgKCR0eXBlID09IFwiZmxleFwiKSB7XG4gICAgICAgIHdpZHRoOiAkdGFibGUtY29sdW1uLXNpemU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbn1cblxuQG1peGluIHRhYmxlRmxleCgkdGFibGUtZGVmYXVsdC1jb2x1bW4tc2l6ZTogJHRhYmxlLWNvbHVtbi1kZWZhdWx0LXNpemUsICRtYXJnaW4tYm90dG9tLXNpemVzOiAkYmFzZS1lbGVtZW50LWd1dHRlci1ib3R0b20sXG4gICAgICAgICAgICAgICAgICR0YWJsZS1zdHlsZS1zaGFkb3c6ICR0YWJsZS1zdHlsZS1zaGFkb3cpIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tYm90dG9tLCAkbWFyZ2luLWJvdHRvbS1zaXplcyk7XG4gICAgQGluY2x1ZGUgaXNTZXQoJHRhYmxlLXN0eWxlLXNoYWRvdykge1xuICAgICAgICBib3gtc2hhZG93OiAkdGFibGUtc3R5bGUtc2hhZG93O1xuICAgIH1cbiAgICAucmVzcG9uc2l2ZS10YWJsZS1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZVRhYmxlQmVoYXZpb3IoXCJmbGV4XCIpO1xuICAgIH1cbiAgICB0ciB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxlUm93QmVoYXZpb3IoXCJmbGV4XCIpO1xuICAgIH1cbiAgICB0ZCwgdGgge1xuICAgICAgICBAaW5jbHVkZSB0YWJsZUNlbGxCZWhhdmlvcihcImZsZXhcIiwgJHRhYmxlLWRlZmF1bHQtY29sdW1uLXNpemUpXG4gICAgfVxuICAgIC5jb250cm9sQnV0dG9uc3tcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxufVxuXG5AbWl4aW4gdGFibGVOYXRpdmUoJHRhYmxlLXN0eWxlLXNoYWRvdzogJHRhYmxlLXN0eWxlLXNoYWRvdywgJGJyZWFrcG9pbnQtdGFibGUtc2Nyb2xsOiBcIlwiKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaWYgJGJyZWFrcG9pbnQtdGFibGUtc2Nyb2xsICE9IFwiXCIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCN7JGJyZWFrcG9pbnQtdGFibGUtc2Nyb2xsfSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICAgICAgICB9XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgICB9XG4gICAgLnJlc3BvbnNpdmUtdGFibGUtZ3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmVUYWJsZUJlaGF2aW9yKFwibmF0aXZlXCIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBpc1NldCgkdGFibGUtc3R5bGUtc2hhZG93KSB7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgIC5yZXNwb25zaXZlLXRhYmxlLWdyaWQge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogJHRhYmxlLXN0eWxlLXNoYWRvdztcbiAgICAgICAgfVxuICAgIH1cbiAgICB0ciB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxlUm93QmVoYXZpb3IoXCJuYXRpdmVcIik7XG4gICAgfVxuICAgIHRkLCB0aCB7XG4gICAgICAgIEBpbmNsdWRlIHRhYmxlQ2VsbEJlaGF2aW9yKFwibmF0aXZlXCIpXG4gICAgfVxufVxuXG5AbWl4aW4gY3JlYXRlU29uYXRhVGFibGVXcmFwcGVyKCRjbGFzc05hbWUsICR0YWJsZS1zaXplcywgJHNjcm9sbC10YWJsZS1kZWZhdWx0LWNvbHVtbi1zaXplOiAkdGFibGUtY29sdW1uLWRlZmF1bHQtc2l6ZSxcbiAgICAgICAgICAgICAgICAgICAgICRzY3JvbGwtbWFyZ2luLWJvdHRvbS1zaXplczogJGJhc2UtZWxlbWVudC1ndXR0ZXItYm90dG9tLCAkc2Nyb2xsLXRhYmxlLXN0eWxlLXNoYWRvdzogJHRhYmxlLXN0eWxlLXNoYWRvdyxcbiAgICAgICAgICAgICAgICAgICAgICR0YWJsZS1zdHlsZS1zaGFkb3c6ICR0YWJsZS1zdHlsZS1zaGFkb3cpIHtcbiAgICAgICAgQGluY2x1ZGUgdGFibGVGbGV4KCRzY3JvbGwtdGFibGUtZGVmYXVsdC1jb2x1bW4tc2l6ZSwgJHNjcm9sbC1tYXJnaW4tYm90dG9tLXNpemVzLCAkc2Nyb2xsLXRhYmxlLXN0eWxlLXNoYWRvdyk7XG4gICAgICAgICRtYXhXaWR0aDogbGFzdChtYXAtdmFsdWVzKCR0YWJsZS1zaXplcykpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRtYXhXaWR0aCB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGFibGVOYXRpdmUoJHRhYmxlLXN0eWxlLXNoYWRvdyk7XG4gICAgICAgIH1cbn1cblxuLy8vIEdlbmVydWplIMWhw61ya3UgdGQgdiB0YWJ1bGtlIG5hIHrDoWtsYWRlIHphZGFuw6lobyBwb21lcnUgdnljaMOhZHphasO6Y2VobyB6IG5hc3RhdmVuw6lobyBwb8SNdHUgc3TEunBjb3YgdiBHcmlkZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sIC0gbmFzdGF2ZW5pZSBwb21lcnVcbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC1jb2wgLSBuYXN0YXZlbsO9IHBvxI1ldCBzdMS6cGNvdiB2IGdyaWRlXG4vLy8gQHBhcmFtIHtNYXB9ICRzLXRhYmxlLXNpemVzIC0gaG9kbm90eSDFocOtcmt5IHRhYnXEvmt5IHYgZGFuw71jaCBicmVha3BvaW50b2NoXG5AbWl4aW4gdGQtY29sKCRjb2wsICRtYXgtY29sOiAkdGFibGUtZ3JpZC1jb2xzLCAkcy10YWJsZS1zaXplczogJHRhYmxlLXNpemVzKSB7XG4gICAgJGxpc3QtdGFibGUtc2l6ZXM6IG1hcC12YWx1ZXMoJHMtdGFibGUtc2l6ZXMpO1xuICAgICRtaW5TaXplOiAje250aCgkbGlzdC10YWJsZS1zaXplcywgMSkgLSAxfTtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbWluU2l6ZSkge1xuICAgICAgICB3aWR0aDogbnRoKCRsaXN0LXRhYmxlLXNpemVzLCAxKSAgLyAkbWF4LWNvbCAqICRjb2w7XG4gICAgfVxuICAgIEBmb3IgJGkgZnJvbSAxIHRvIGxlbmd0aCgkbGlzdC10YWJsZS1zaXplcykge1xuICAgICAgICAkb2xkLWluZGV4OiAkaSArIDE7XG4gICAgICAgICRtaW5TaXplOiAje250aCgkbGlzdC10YWJsZS1zaXplcywgJGkpIC0gMX07XG4gICAgICAgICRtYXhTaXplOiBudGgoJGxpc3QtdGFibGUtc2l6ZXMsICRvbGQtaW5kZXgpO1xuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAkbWluU2l6ZSkgYW5kIChtYXgtd2lkdGg6ICRtYXhTaXplKSB7XG4gICAgICAgICAgICB3aWR0aDogbnRoKCRsaXN0LXRhYmxlLXNpemVzLCAkb2xkLWluZGV4KSAvICRtYXgtY29sICogJGNvbDtcbiAgICAgICAgfVxuICAgIH1cbiAgICAkbWF4V2lkdGg6IGxhc3QobWFwLXZhbHVlcygkcy10YWJsZS1zaXplcykpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCRtYXhXaWR0aCB1cCkge1xuICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgkY29sLyRtYXgtY29sKTtcbiAgICB9XG59XG5cbi8vIEdyaWQgc3lzdMOpbSBzY3JvbGwgdGFidWxreVxuLy8gMiB2YXJpYW50eSBwb3XFvml0aSBuZXBvc2x1IGJyZWFrcG9pbnQgamUgc2Nyb2xsIHBvcmFkLCBwb3NsdSBicmVha3BvaW50IGEgb2QgbmVobyB0YWJ1bGthIHNjcm9sbG92YXRlbG5hIG5lbmkuLlxuQG1peGluIGNyZWF0ZVNjcm9sbFRhYmxlV3JhcHBlcigkYnJlYWtwb2ludC10YWJsZS1iZWhhdmlvciwgJHRhYmxlLXN0eWxlLXNoYWRvdzogJHRhYmxlLXN0eWxlLXNoYWRvdykge1xuICAgIEBpbmNsdWRlIHRhYmxlRmxleCgpO1xuICAgIEBpZiAoJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3IgIT0gXCJcIikge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50LXRhYmxlLWJlaGF2aW9yIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0YWJsZU5hdGl2ZSgkdGFibGUtc3R5bGUtc2hhZG93KTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5AZnVuY3Rpb24gZ2V0UmF0aW9XaWR0aENvbHVtbigkY29sdW1uLWNvdW50LCAkbWF4LWNvbCwgJGJhc2Utd2lkdGg6IFwiXCIpIHtcbiAgICBAaWYgJGJhc2Utd2lkdGggIT0gXCJcIiB7XG4gICAgICAgIEByZXR1cm4gcmVtLWNhbGMoJGJhc2Utd2lkdGggLyAkbWF4LWNvbCAqICRjb2x1bW4tY291bnQpO1xuICAgIH1cbiAgICBAcmV0dXJuICRjb2x1bW4tY291bnQvJG1heC1jb2wgKiAxMDAlXG59XG5AbWl4aW4gdGFibGUtYnJlYWtwb2ludHMtZ2VuZXJhdG9yKCRicmVha3BvaW50LWluZGV4LCAkY29sdW1uLWNvdW50LCAkYnJlYWtwb2ludHMtZ3JpZC13aWR0aCwgJGJyZWFrcG9pbnRzLWdyaWQta2V5cywgJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3ItaW5kZXgsICR0YWJsZUlzU2Nyb2xsYWJsZSwgJG1heC1jb2wpIHtcbiAgICBAZm9yICRrIGZyb20gJGJyZWFrcG9pbnQtaW5kZXggKyAxIHRocm91Z2ggbGVuZ3RoKCRicmVha3BvaW50cy1ncmlkLXdpZHRoKSB7XG4gICAgICAgICRhY3R1YWwtd2lkdGg6IG50aCgkYnJlYWtwb2ludHMtZ3JpZC13aWR0aCwgJGspO1xuICAgICAgICAkdGVtcC1icmVha3BvaW50OiBudGgoJGJyZWFrcG9pbnRzLWdyaWQta2V5cywgJGsgLSAxKTtcbiAgICAgICAgQGlmICRicmVha3BvaW50LXRhYmxlLWJlaGF2aW9yLWluZGV4ICE9IG51bGwge1xuICAgICAgICAgICAgQGlmICgkYnJlYWtwb2ludC10YWJsZS1iZWhhdmlvci1pbmRleCA8PSAkayAtIDEpIHtcbiAgICAgICAgICAgICAgICAkdGFibGVJc1Njcm9sbGFibGU6IGZhbHNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQgKCN7JHRlbXAtYnJlYWtwb2ludH0gdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiBpZigkdGFibGVJc1Njcm9sbGFibGUsXG4gICAgICAgICAgICAgICAgZ2V0UmF0aW9XaWR0aENvbHVtbigkY29sdW1uLWNvdW50LCAkbWF4LWNvbCwgJGFjdHVhbC13aWR0aCksXG4gICAgICAgICAgICAgICAgZ2V0UmF0aW9XaWR0aENvbHVtbigkY29sdW1uLWNvdW50LCAkbWF4LWNvbCkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gdGNvbC1jbGFzcy1nZW5lcmF0b3IoJGxpbWl0LXdpZHRoOiAyMDAwcHgsICR0YWJsZS1icmVha3BvaW50LWJlaGF2aW9yOiBsYXJnZSwgJG1heC1jb2w6IDI0LCAkdGFibGUtZ3JpZC1wcmVmaXg6IFwidGNvbFwiICwgJHRhYmxlLWdyaWQtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICRicmVha3BvaW50cy1ncmlkLXdpZHRoOiBhcHBlbmQodG8tbGlzdCgkdGFibGUtZ3JpZC1icmVha3BvaW50cywgdmFsdWVzKSwgJGxpbWl0LXdpZHRoKTtcbiAgICAkYnJlYWtwb2ludHMtZ3JpZC1rZXlzOiBtYXAta2V5cygkdGFibGUtZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3ItaW5kZXg6IGluZGV4KCRicmVha3BvaW50cy1ncmlkLWtleXMsICR0YWJsZS1icmVha3BvaW50LWJlaGF2aW9yKTtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkYnJlYWtwb2ludHMtZ3JpZC1rZXlzKSB7XG4gICAgICAgICRhY3R1YWwtYnJlYWtwb2ludDogbnRoKCRicmVha3BvaW50cy1ncmlkLWtleXMsICRpKTtcbiAgICAgICAgQGZvciAkaiBmcm9tIDEgdGhyb3VnaCAkbWF4LWNvbCB7XG4gICAgICAgICAgICAkdGFibGVJc1Njcm9sbGFibGU6IHRydWU7XG4gICAgICAgICAgICAuI3skdGFibGUtZ3JpZC1wcmVmaXh9LSN7JGFjdHVhbC1icmVha3BvaW50fS0jeyRqfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdGFibGUtYnJlYWtwb2ludHMtZ2VuZXJhdG9yKCRpLCAkaiwgJGJyZWFrcG9pbnRzLWdyaWQtd2lkdGgsICRicmVha3BvaW50cy1ncmlkLWtleXMsICRicmVha3BvaW50LXRhYmxlLWJlaGF2aW9yLWluZGV4LCAkdGFibGVJc1Njcm9sbGFibGUsICRtYXgtY29sKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbi8vICB0YWJsZSBncmlkIHN5c3RlbVxuQG1peGluIHRkLWNvbC1ncmlkLXNpemVzKCRjb2wsICRsaW1pdC13aWR0aDogMjAwMHB4LCAkdGFibGUtYnJlYWtwb2ludC1iZWhhdmlvcjogbGFyZ2UsICRtYXgtY29sOiAyNCwgJHRhYmxlLWdyaWQtYnJlYWtwb2ludHM6ICRicmVha3BvaW50cykge1xuICAgICRicmVha3BvaW50cy1ncmlkLXdpZHRoOiBhcHBlbmQodG8tbGlzdCgkdGFibGUtZ3JpZC1icmVha3BvaW50cywgdmFsdWVzKSwgJGxpbWl0LXdpZHRoKTtcbiAgICAkYnJlYWtwb2ludHMtZ3JpZC1rZXlzOiBtYXAta2V5cygkdGFibGUtZ3JpZC1icmVha3BvaW50cyk7XG4gICAgJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3ItaW5kZXg6IGluZGV4KCRicmVha3BvaW50cy1ncmlkLWtleXMsICR0YWJsZS1icmVha3BvaW50LWJlaGF2aW9yKTtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkYnJlYWtwb2ludHMtZ3JpZC1rZXlzKSB7XG4gICAgICAgICRhY3R1YWwtYnJlYWtwb2ludDogbnRoKCRicmVha3BvaW50cy1ncmlkLWtleXMsICRpKTtcbiAgICAgICAgJHRhYmxlSXNTY3JvbGxhYmxlOiB0cnVlO1xuICAgICAgICBAaW5jbHVkZSB0YWJsZS1icmVha3BvaW50cy1nZW5lcmF0b3IoJGksICRjb2wsICRicmVha3BvaW50cy1ncmlkLXdpZHRoLCAkYnJlYWtwb2ludHMtZ3JpZC1rZXlzLCAkYnJlYWtwb2ludC10YWJsZS1iZWhhdmlvci1pbmRleCwgJHRhYmxlSXNTY3JvbGxhYmxlLCAkbWF4LWNvbCk7XG4gICAgfVxufVxuXG5AbWl4aW4gZ2VuZXJhdGVTcm9sbFRhYmxlKCR0Y29sLWdyaWQtZ2VuZXJhdG9yOiAkdGFibGUtaGFzLWdyaWQtY2xhc3NlcywgJGRlZmF1bHQtY2xhc3NOYW1lOiAkdGFibGUtaHlicmlkLXNjcm9sbC1kZWZhdWx0LWNsYXNzTmFtZSwgJHRhYmxlLXNjcm9sbC1wcmVmaXg6ICR0YWJsZS1zY3JvbGwtZ3JpZC1wcmVmaXgsICRsaW1pdC13aWR0aDogJHRhYmxlLXNjcm9sbC1saW1pdC13aWR0aCwgJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3I6IGxhcmdlLCAkbWF4LWNvbDogMjQsICRzLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHMsICAkdGFibGUtc3R5bGUtc2hhZG93OiAkdGFibGUtc3R5bGUtc2hhZG93KSB7XG4gICAgJGNsYXNzLWNvbnRleHQ6IGlmKCRkZWZhdWx0LWNsYXNzTmFtZSAhPSBcIlwiLCBzdHItaW5zZXJ0KCRkZWZhdWx0LWNsYXNzTmFtZSwgXCIuXCIsIDEpLCBcIiZcIik7XG4gICAgI3skY2xhc3MtY29udGV4dH0ge1xuICAgICAgICBAaW5jbHVkZSBjcmVhdGVTY3JvbGxUYWJsZVdyYXBwZXIoJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3IsICR0YWJsZS1zdHlsZS1zaGFkb3cpO1xuICAgICAgICBAaWYgKCR0Y29sLWdyaWQtZ2VuZXJhdG9yID09IHRydWUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRjb2wtY2xhc3MtZ2VuZXJhdG9yKCRsaW1pdC13aWR0aCwgJGJyZWFrcG9pbnQtdGFibGUtYmVoYXZpb3IsICRtYXgtY29sLCAkdGFibGUtc2Nyb2xsLXByZWZpeCwgJHMtYnJlYWtwb2ludHMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gZ2VuZXJhdGVGbGV4U29uYXRhVGFibGUoXG4gICAgJGRlZmF1bHQtY2xhc3NOYW1lOiBcInRhYmxlU2Nyb2xsXCIsXG4gICAgJHRhYmxlLXNpemVzOiAkdGFibGUtZGVmYXVsdC1zaXplcyxcbiAgICAkc2Nyb2xsLXRhYmxlLWRlZmF1bHQtY29sdW1uLXNpemU6ICR0YWJsZS1jb2x1bW4tZGVmYXVsdC1zaXplLFxuICAgICRzY3JvbGwtbWFyZ2luLWJvdHRvbS1zaXplczogJGJhc2UtZWxlbWVudC1ndXR0ZXItYm90dG9tLFxuICAgICRzY3JvbGwtdGFibGUtc3R5bGUtc2hhZG93OiAkdGFibGUtc3R5bGUtc2hhZG93LFxuICAgICR0YWJsZS1uYXRpdmUtc3R5bGUtc2hhZG93OiAkdGFibGUtc3R5bGUtc2hhZG93XG4pIHtcbiAgICAkY2xhc3MtY29udGV4dDogaWYoJGRlZmF1bHQtY2xhc3NOYW1lICE9IFwiXCIsIHN0ci1pbnNlcnQoJGRlZmF1bHQtY2xhc3NOYW1lLCBcIi5cIiwgMSksIFwiJlwiKTtcbiAgICAjeyRjbGFzcy1jb250ZXh0fSB7XG4gICAgICAgIEBpbmNsdWRlIGNyZWF0ZVNvbmF0YVRhYmxlV3JhcHBlcigkZGVmYXVsdC1jbGFzc05hbWUsICR0YWJsZS1zaXplcywgJHNjcm9sbC10YWJsZS1kZWZhdWx0LWNvbHVtbi1zaXplLCAkc2Nyb2xsLW1hcmdpbi1ib3R0b20tc2l6ZXMsXG4gICAgICAgICAgICAkc2Nyb2xsLXRhYmxlLXN0eWxlLXNoYWRvdywgJHRhYmxlLW5hdGl2ZS1zdHlsZS1zaGFkb3cpO1xuICAgIH1cbn1cbiIsIkBpbXBvcnQgJy4uL3NldHRpbmdzL2NvbXBvbmVudHMvc29uYXRhLXRhYmxlLXNldHRpbmdzJztcblxuLmJ1dHRvbi1pY29ue1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSh3aWR0aCwgJHNvbmF0YS1idXR0b24taWNvbi1zaXplKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUoaGVpZ2h0LCAkc29uYXRhLWJ1dHRvbi1pY29uLXNpemUpO1xuICAgIGZpbGw6ICRzb25hdGEtYnV0dG9uLWljb24tY29sb3I7XG4gICAgc3Zne1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbn1cbi50YWdMaXN0e1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4sICRzb25hdGEtdGFnLWxpc3QtbWFyZ2luKTtcbiAgICBhLnRhZ3tcbiAgICAgICAgYmFja2dyb3VuZDogJHNvbmF0YS10YWctbGlzdC10YWctYmc7XG4gICAgICAgIGJvcmRlcjogJHNvbmF0YS10YWctbGlzdC10YWctYm9yZGVyO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBjb2xvcjogJHNvbmF0YS10YWctbGlzdC10YWctY29sb3I7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLCAkc29uYXRhLXRhZy1saXN0LXRhZy1wYWRkaW5nKTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbiwgJHNvbmF0YS10YWctbGlzdC10YWctbWFyZ2luKTtcbiAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGZvbnQtc2l6ZSwgJHNvbmF0YS10YWctbGlzdC1mb250LXNpemUpO1xuICAgICAgICBzdmd7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogJHNvbmF0YS10YWctbGlzdC10YWctaWNvbi1zaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc29uYXRhLXRhZy1saXN0LXRhZy1pY29uLXNpemU7XG4gICAgICAgICAgICBmaWxsOiAkc29uYXRhLXRhZy1saXN0LXRhZy1pY29uLWNvbG9yO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCRzb25hdGEtdGFnLWxpc3QtdGFnLWljb24tc2l6ZS8yKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShyaWdodCwgJHNvbmF0YS10YWctbGlzdC10YWctY2xvc2UtcmlnaHQpXG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciwgJjpmb2N1c3tcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRzb25hdGEtdGFnLWxpc3QtdGFnLWhvdmVyLWJnO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkc29uYXRhLXRhZy1saXN0LXRhZy1ob3Zlci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxudGFibGUge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRoW2NsYXNzKj1cInNvbmF0YS1iYS1saXN0LWZpZWxkLWhlYWRlclwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgYSwgPiBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLXRvcCwgJHNvbmF0YS10YWJsZS1oZWFkLXBhZGRpbmctdG9wKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLWJvdHRvbSwgJHNvbmF0YS10YWJsZS1oZWFkLXBhZGRpbmctYm90dG9tKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLWxlZnQsICRzb25hdGEtdGFibGUtaGVhZC1wYWRkaW5nLWxlZnQpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNvbmF0YS10YWJsZS1pY29uLXN2Zy13aWR0aCArIHJlbS1jYWxjKDdweCk7XG4gICAgICAgICAgICBjb2xvcjogJHNvbmF0YS10aGVhZC1jb2xvcjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkc29uYXRhLXRhYmxlLWhlYWQtd2VpZ2h0O1xuICAgICAgICB9XG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgICBmaWxsOiAkc29uYXRhLXRhYmxlLWljb24tc3ZnLWNvbG9yO1xuICAgICAgICAgICAgd2lkdGg6ICRzb25hdGEtdGFibGUtaWNvbi1zdmctd2lkdGg7XG4gICAgICAgICAgICBoZWlnaHQ6ICRzb25hdGEtdGFibGUtaWNvbi1zdmctaGVpZ2h0O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAje3JlbS1jYWxjKGNlaWwoLSR0YWJsZS1pY29uLXN2Zy1oZWlnaHQvMikpfTtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0aFtjbGFzcyo9XCJzb25hdGEtYmEtbGlzdC1maWVsZC1vcmRlci1hY3RpdmVcIl0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkc29uYXRhLXRhYmxlLWhlYWQtYmctYWN0aXZlO1xuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkc29uYXRhLXRhYmxlLWhlYWQtY29sb3ItYWN0aXZlO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc29uYXRhLXRhYmxlLWhlYWQtYWN0aXZlLWxpbmUtaGVpZ2h0O1xuICAgICAgICAgICAgYm90dG9tOiAkc29uYXRhLXRhYmxlLWhlYWQtYm9yZGVyLWJvdHRvbS1vZmZzZXQ7XG4gICAgICAgICAgICBsZWZ0OiAkc29uYXRhLXRhYmxlLWhlYWQtYm9yZGVyLWxlZnQtb2Zmc2V0O1xuICAgICAgICAgICAgcmlnaHQ6ICRzb25hdGEtdGFibGUtaGVhZC1ib3JkZXItcmlnaHQtb2Zmc2V0O1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHNvbmF0YS10YWJsZS1oZWFkLWJvcmRlci1ib3R0b20tYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHRoW2NsYXNzKj1cInNvbmF0YS1iYS1saXN0LWZpZWxkLWhlYWRlci1iYXRjaFwiXSwgdGRbY2xhc3MqPVwic29uYXRhLWJhLWxpc3QtZmllbGQtYmF0Y2hcIl0ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbiAgICB0ZFtjbGFzcyo9XCJzb25hdGEtYmEtbGlzdC1maWVsZC1hY3Rpb25zXCJdIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59IiwiJHNvbmF0YS10YWJsZS1oZWFkLXBhZGRpbmctdG9wOiAoXG4gICAgeHNtYWxsOiByZW0tY2FsYygxMClcbikgIWRlZmF1bHQ7XG4kc29uYXRhLXRhYmxlLWhlYWQtcGFkZGluZy1ib3R0b206ICRzb25hdGEtdGFibGUtaGVhZC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcbiRzb25hdGEtdGFibGUtaGVhZC1wYWRkaW5nLWxlZnQ6IChcbiAgICB4c21hbGw6IHJlbS1jYWxjKDEwKVxuKSAhZGVmYXVsdDtcblxuJHNvbmF0YS10YWJsZS1ib3JkZXItY29sb3I6ICR0YWJsZS1ib3JkZXItY29sb3IgIWRlZmF1bHQ7XG4kc29uYXRhLXRoZWFkLWNvbG9yOiAkdGFibGUtaGVhZC1jb2xvciAhZGVmYXVsdDtcbiRzb25hdGEtdGFibGUtaWNvbi1zdmctY29sb3I6ICR0YWJsZS1pY29uLXN2Zy1jb2xvciAhZGVmYXVsdDtcbiRzb25hdGEtdGFibGUtaWNvbi1zdmctd2lkdGg6IHJlbS1jYWxjKDE4cHgpICFkZWZhdWx0O1xuJHNvbmF0YS10YWJsZS1pY29uLXN2Zy1oZWlnaHQ6IHJlbS1jYWxjKDE4cHgpICFkZWZhdWx0O1xuJHNvbmF0YS1idXR0b24taWNvbi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc29uYXRhLWJ1dHRvbi1pY29uLXNpemU6IChcbiAgICBudWxsIDogcmVtLWNhbGMoMTYpLFxuICAgIG1lZGl1bSA6IHJlbS1jYWxjKDE4KSxcbiAgICBsYXJnZTogcmVtLWNhbGMoMjIpXG4pICFkZWZhdWx0O1xuXG4kc29uYXRhLXRhZy1saXN0LW1hcmdpbjogKFxuICAgIG51bGw6IHJlbS1jYWxjKDAgMCAxMCAwKSxcbiAgICBsYXJnZSA6IHJlbS1jYWxjKDAgMCAxNSAwKSxcbikgIWRlZmF1bHQ7XG4kc29uYXRhLXRhZy1saXN0LXRhZy1tYXJnaW46IChcbiAgICBudWxsOiByZW0tY2FsYyg1IDAgNSAwKSxcbiAgICBsYXJnZSA6IHJlbS1jYWxjKDEwIDAgMTAgMCksXG4pICFkZWZhdWx0O1xuJHNvbmF0YS10YWctbGlzdC1mb250LXNpemU6IChcbiAgICBudWxsOiByZW0tY2FsYygxMSksXG4gICAgbWVkaXVtOiByZW0tY2FsYygxMyksXG4pICFkZWZhdWx0O1xuJHNvbmF0YS10YWctbGlzdC10YWctcGFkZGluZzogKFxuICAgIG51bGw6IHJlbS1jYWxjKDUgMzAgNSA1KSxcbiAgICBtZWRpdW06IHJlbS1jYWxjKDUgMzAgNSA1KSxcbikgIWRlZmF1bHQ7XG4kc29uYXRhLXRhZy1saXN0LXRhZy1jbG9zZS1yaWdodDogKFxuICAgIG51bGw6IHJlbS1jYWxjKDcpLFxuICAgIG1lZGl1bTogcmVtLWNhbGMoNylcbikgIWRlZmF1bHQ7XG5cbiRzb25hdGEtdGFnLWxpc3QtdGFnLWljb24tc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHNvbmF0YS10YWctbGlzdC10YWctYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuJHNvbmF0YS10YWctbGlzdC10YWctYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzb25hdGEtdGFnLWxpc3QtdGFnLWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuJHNvbmF0YS10YWctbGlzdC10YWctaWNvbi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc29uYXRhLXRhZy1saXN0LXRhZy1ob3Zlci1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHNvbmF0YS10YWctbGlzdC10YWctaG92ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4kc29uYXRhLXRhYmxlLWhlYWQtd2VpZ2h0OiBub3JtYWwgIWRlZmF1bHQ7XG4kc29uYXRhLXRhYmxlLWhlYWQtYmctYWN0aXZlOiBtaXgoJHRhYmxlLWhlYWQtYmcsICRibGFjaywgOTAlKSAhZGVmYXVsdDtcbiRzb25hdGEtdGFibGUtaGVhZC1jb2xvci1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHNvbmF0YS10YWJsZS1oZWFkLWJvcmRlci1ib3R0b20tYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRzb25hdGEtdGFibGUtaGVhZC1hY3RpdmUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDJweCkgIWRlZmF1bHQ7XG4kc29uYXRhLXRhYmxlLWhlYWQtYm9yZGVyLWJvdHRvbS1vZmZzZXQ6IC0xcHggIWRlZmF1bHQ7XG4kc29uYXRhLXRhYmxlLWhlYWQtYm9yZGVyLWxlZnQtb2Zmc2V0OiAtMXB4ICFkZWZhdWx0O1xuJHNvbmF0YS10YWJsZS1oZWFkLWJvcmRlci1yaWdodC1vZmZzZXQ6IC0xcHggIWRlZmF1bHQ7IiwiLnRhYmxlU2Nyb2xsIHtcbiAgW25hbWUqPVwiLWJhdGNoXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgQGluY2x1ZGUgdGQtY29sKDEpO1xuICAgIH1cbiAgfVxuICBcbiAgW25hbWUqPVwiYWN0aW9uXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCg1KTtcbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHRkW25hbWUqPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmRcIl0sIHRoW25hbWUqPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmRcIl0ge1xuICAgICAgICAmLCAmOmZpcnN0LWNoaWxkLCAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IHNvbGlkIDFweCAkZGFyay1ncmF5O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi50YWJsZVNjcm9sbCAge1xuICBbbmFtZSo9XCJiYXRjaFwiXSB7XG4gICAgbWF4LXdpZHRoOiA1MHB4O1xuICB9XG4gIFtuYW1lKj1cInBhcnRpY2lwYW50Om5vdChiYXRjaClcIl0ge1xuICAgIEBpbmNsdWRlIHRkLWNvbCg2KTtcbiAgfVxuICBbbmFtZSo9XCJ1c2VybmFtZVwiXSB7XG4gICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICB9XG4gIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woOCk7XG4gIH1cbiAgW25hbWUqPVwid29ya3BsYWNlXCJdIHtcbiAgfVxuICBbbmFtZT1cInVzZXItX2FjdGlvblwiXSB7XG4gICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICB9XG4gIFtuYW1lPVwiZW1haWwtYWN0aXZlXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gIH1cbiAgW25hbWU9XCJlbWFpbC1fYWN0aW9uXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gIH1cbiAgW25hbWU9XCJza2lsbC1fYWN0aW9uXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gIH1cbiAgW25hbWU9XCJjZXJ0aWZpY2F0ZS10ZXJyaXRvcmlhbHZhbGlkaXR5XCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gIH1cbiAgW25hbWU9XCJjZXJ0aWZpY2F0ZS1fYWN0aW9uXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gIH1cbiAgW25hbWU9XCJjYXRlZ29yeS1fYWN0aW9uXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gIH1cbiAgW25hbWU9XCJjb3N0dHlwZS1fYWN0aW9uXCJdIHtcbiAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gIH1cbiAgW25hbWU9XCJ0b29sY2F0ZWdvcnktX2FjdGlvblwiXSB7XG4gICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICB9XG5cbiAgLndlZWtEYXkge1xuICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgfVxuICAudGFibGVEZXNjcmlwdGlvbiB7XG4gICAgQGluY2x1ZGUgdGQtY29sKDI0KTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIEBleHRlbmQgLmJyZWFrV29yZDtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCB1cCkge1xuICAgIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCg5KTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIFtuYW1lKj1cInBhcnRpY2lwYW50Om5vdChiYXRjaClcIl0ge1xuICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZSo9XCJ1c2VybmFtZVwiXSB7XG4gICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgfVxuICAgIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCg3KTtcbiAgICB9XG4gICAgW25hbWU9XCJ1c2VyLV9hY3Rpb25cIl0ge1xuICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgIH1cbiAgICBbbmFtZT1cImVtYWlsLWFjdGl2ZVwiXSB7XG4gICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgfVxuICAgIFtuYW1lPVwiZW1haWwtX2FjdGlvblwiXSwgW25hbWU9XCJza2lsbC1fYWN0aW9uXCJdLCBbbmFtZT1cImNlcnRpZmljYXRlLV9hY3Rpb25cIl0sIFtuYW1lPVwiY2F0ZWdvcnktX2FjdGlvblwiXSwgW25hbWU9XCJjb3N0dHlwZS1fYWN0aW9uXCJdLCBbbmFtZT1cInRvb2xjYXRlZ29yeS1fYWN0aW9uXCJdIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCgxKTtcbiAgICB9XG4gICAgW25hbWU9XCJjZXJ0aWZpY2F0ZS10ZXJyaXRvcmlhbHZhbGlkaXR5XCJdIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICB9XG4gICAgLndlZWtEYXkge1xuICAgICAgQGluY2x1ZGUgdGQtY29sKDEpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICBbbmFtZSo9XCJ1c2VybmFtZVwiXSB7XG4gICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICBbbmFtZSo9XCJ0aXRsZVwiXSB7XG4gICAgICBAaW5jbHVkZSB0ZC1jb2woNik7XG4gICAgfVxuICAgIFtuYW1lKj1cIndvcmtwbGFjZVwiXSB7XG4gICAgICBAaW5jbHVkZSB0ZC1jb2woNik7XG4gICAgfVxuICAgIFtuYW1lPVwidXNlci1fYWN0aW9uXCJdIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCgxLjUpO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuICAgIFtuYW1lKj1cInRpdGxlXCJdIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICB9XG4gICAgW25hbWUqPVwid29ya3BsYWNlXCJdIHtcbiAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICB9XG4gICAgLnRhYmxlRGVzY3JpcHRpb24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59IiwiQG1peGluIGNhbGxvdXQtYXJyb3coJGhvcml6b250YWwtcGxhY2UsICR2ZXJ0aWNhbC1wbGFjZSwgJHNpemUsICRjb2xvciwgJGRpcmVjdGlvbiwgJG1hcmdpbi1sZWZ0OiAkYmFzZS1lbGVtZW50LWd1dHRlci1oYWxmKSB7XG4gICY6YmVmb3JlLCAmOmFmdGVyIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWxlZnQsICRtYXJnaW4tbGVmdCk7XG4gIH1cbiAgQGlmICR2ZXJ0aWNhbC1wbGFjZSA9PSB0b3Age1xuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCAkZGlyZWN0aW9uKTtcbiAgICB9XG4gIH1cbiAgQGlmICR2ZXJ0aWNhbC1wbGFjZSA9PSBib3R0b20ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsICRkaXJlY3Rpb24pO1xuICAgIH1cbiAgfVxufVxuXG4vLyBodG1sIGVkaXRvclxuLmVkaXRvciB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLWJvdHRvbSwgJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZik7XG59XG5cbi5jbG9zZUJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogJGNsb3NlLWJ1dHRvbi1zaXplO1xufVxuLmNhbGxvdXRBcnJvdyB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlKTtcbiAgLmNhbGxvdXRDb250ZW50IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2IDE2IDAgMTYpO1xuICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICB9XG4gIEBpbmNsdWRlIGNhbGxvdXQtYXJyb3cobGVmdCwgYm90dG9tLCAxcmVtLCAkYmFja2dyb3VuZCwgZG93bik7XG59XG5bZGF0YS1jbG9zYWJsZV0ge1xuICBwIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNSk7XG4gIH1cbn1cbi5wYXJ0aWNpcGFudHMtcnVsZSB7XG4gIG1hcmdpbjogcmVtLWNhbGMoMCkgMCByZW0tY2FsYygxNSkgMDtcbn1cbi5wYXJ0aWNpcGFudCAuYmxvY2tBY3Rpb25zLCAuY29zdFBhcnRpY2lwYW50IHtcbiAgLmJhZGdlLCAuY2xvc2VCdXR0b24sIC5sb2FkaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG4uZG9jdW1lbnRzIHtcbiAgLmhlYWRlciB7XG4gICAgJi5kb2N1bWVudHMtdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmRvY3VtZW50cy1jYXRlZ29yeSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgICYuZG9jdW1lbnRzLWRlc2NyaXB0aW9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5kb2N1bWVudHMtZmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgICYuZG9jdW1lbnRzLV9kZWxldGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBbY2xhc3MqPVwiLV9kZWxldGVcIl0ge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDI0LCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigzLCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMiwgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICB9XG4gIFtjbGFzcyo9XCJkb2N1bWVudHMtdGl0bGVcIl0ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMjQsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDcsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig2LCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICB9XG4gIH1cbiAgW2NsYXNzKj1cImRvY3VtZW50cy1jYXRlZ29yeVwiXSB7XG4gICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbigyNCwgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNywgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDYsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIH1cbiAgfVxuICBbY2xhc3MqPVwiZG9jdW1lbnRzLWRlc2NyaXB0aW9uXCJdIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oNiwgJGdyaWQtY29sdW1uLWd1dHRlcik7XG4gICAgfVxuICB9XG4gIFtjbGFzcyo9XCJkb2N1bWVudHMtZmlsZVwiXSB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oMjQsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDcsICRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHhsYXJnZSB1cCkge1xuICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWNvbHVtbig0LCAkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcbiAgICB9XG4gIH1cbn1cbi5zdHJpcGVkIHtcbiAgQGluY2x1ZGUgYWRkLXN0cmlwZWQoI2Y1ZjVmNSwgdHJ1ZSk7XG59XG4uY2FsbG91dCB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLWxlZnQsICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWhhbGYpO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy10b3AsICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWhhbGYpO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1yaWdodCwgJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZik7XG59XG4udHlwb2dyYXBoeS10ZXh0IHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKGZvbnQtc2l6ZSwgJGJhc2UtZm9udC1zaXplcyk7XG59XG5cbi5pbnNlcnQtYXR0ZW5kYW5jZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tYm90dG9tLCAkaHItbWFyZ2luLXNpemVzKTtcbiAgc3ZnIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLXJpZ2h0LCAkYmFzZS1lbGVtZW50LWd1dHRlci1xdWFydGVyKTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi5oaWdobGlnaHQtcm93IHtcbiAgYmFja2dyb3VuZDogbWl4KCRjYWxsb3V0LWJhY2tncm91bmQsIG1hcF9nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyksICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSkgIWltcG9ydGFudDtcbn1cblxuLmhlYWRlckJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6ICRoZWFkZXItaWNvbnMtcGFkZGluZy1sZWZ0O1xuXG4gIHN2ZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGZpbGw6ICR3aGl0ZTtcbiAgICB3aWR0aDogJGhlYWRlci1pY29ucy1zaXplO1xuICAgIGhlaWdodDogJGhlYWRlci1pY29ucy1zaXplO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0oJGhlYWRlci1pY29ucy1zaXplLzIpO1xuICAgIGxlZnQ6ICgkaGVhZGVyLWljb25zLXBhZGRpbmctbGVmdC82KTtcbiAgfVxufVxuXG4uaHlwZXJsaW5rQnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctbGVmdDogJGhlYWRlci1pY29ucy1wYWRkaW5nLWxlZnQ7XG5cbiAgc3ZnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZmlsbDogbWFwX2dldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB3aWR0aDogJGhlYWRlci1pY29ucy1zaXplO1xuICAgIGhlaWdodDogJGhlYWRlci1pY29ucy1zaXplO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0oJGhlYWRlci1pY29ucy1zaXplLzIpO1xuICAgIGxlZnQ6ICgkaGVhZGVyLWljb25zLXBhZGRpbmctbGVmdC82KTtcbiAgfVxufVxuXG4ubGlzdEljb25CdXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZSgncGFkZGluZy1sZWZ0JywgZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDQpKTtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKCdwYWRkaW5nLXJpZ2h0JywgZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDQpKTtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKCdwYWRkaW5nLWJvdHRvbScsIGdldE1hcERpdigkZ3JpZC1jb2x1bW4tZ3V0dGVyLCA0KSk7XG4gIHN2ZyB7XG4gICAgZmlsbDogbWFwX2dldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB3aWR0aDogJGhlYWRlci1pY29ucy1zaXplIC8gMS41O1xuICAgIGhlaWdodDogJGhlYWRlci1pY29ucy1zaXplIC8gMS41O1xuICB9XG59XG5cbi5wYXltZW50RGV0YWlsIHtcbiAgLmNvbnRyb2xCdXR0b25zIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbiAgLnBheW1lbnRTdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLXRvcCwgJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZik7XG4gIH1cbiAgLmxvYWRpbmcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnRleHQtdXBwZXJjYXNlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLnRleHQtYWxlcnQge1xuICBjb2xvcjogIG1hcF9nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xufVxuXG4uZmxleC13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcblxuICAuY2FsbG91dCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi5pY29uQnV0dG9ucyB7XG4gIC5pY29uQnV0dG9uRmlsbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gICAgc3ZnIHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwKTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1yaWdodCwgJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZik7XG4gICAgfVxuICAgIC5idXR0b24ge1xuICAgICAgZmxleDogMSAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCB1cCkge1xuICAgIC5pY29uQnV0dG9uRmlsbCB7XG4gICAgICAuYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5ob3VyUmF0ZSB7XG4gIC5zdHJpcGVkIHtcbiAgICBAaW5jbHVkZSBhZGQtc3RyaXBlZCgjZjVmNWY1LCBmYWxzZSk7XG4gIH1cbiAgLmNvbnRyb2xCdXR0b25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9ybSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIHVwKSB7XG4gICAgLmNvbnRyb2xCdXR0b25zIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuICB9XG59XG4ubGFiZWwge1xuICAmLnNtYWxsIHtcbiAgICBmb250LXNpemU6IHNtYWxsO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuICB9XG59XG5AbWl4aW4gcHJvamVjdENvbG9yc0dlbmVyYXRvcigkY29sb3IpIHtcbiAgJGN1c3RvbUNvbG9yc1BhbGV0ZTogbWFwX2dldCgkY3VzdG9tQ29sb3JzUGFsZXRlLCAkY29sb3IpO1xuICAucm93IHtcbiAgICAmLmhpZ2hsaWdodFJvdyN7JGNvbG9yfSB7XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKCRjdXN0b21Db2xvcnNQYWxldGUsIDAuMTUpO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpiZWZvcmV7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICRjdXN0b21Db2xvcnNQYWxldGU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogLTFweDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAubGlzdFRhYmxle1xuICAgIC5oaWdobGlnaHRSb3cjeyRjb2xvcn0ge1xuICAgICAgdGR7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoJGN1c3RvbUNvbG9yc1BhbGV0ZSwgMC4xNSk7XG4gICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAkY3VzdG9tQ29sb3JzUGFsZXRlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC50YWJsZVN0YXRlQ2xhc3NlcyB7XG4gICAgdHIge1xuICAgICAgJi4jeyRjb2xvcn0ge1xuICAgICAgICB0ZCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkY3VzdG9tQ29sb3JzUGFsZXRlLCAwLjE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB0ZCwgdGgge1xuICAgICAgJi4jeyRjb2xvcn0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjdXN0b21Db2xvcnNQYWxldGUsIDAuMTUpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5AZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY3VzdG9tQ29sb3JzUGFsZXRlIHtcbiAgQGluY2x1ZGUgcHJvamVjdENvbG9yc0dlbmVyYXRvcigkY29sb3IpO1xufVxuXG4jc3RpY2tlciB7XG4gICYuaXNTdGlja2VkIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAxMjFweDtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgIGJveC1zaGFkb3c6ICR0b3AtYmFyLXNoYWRvdztcbiAgICB6LWluZGV4OiAxO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShsZWZ0LCAkYXNpZGUtc2l6ZXMpO1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLCAkYmFzZS1lbGVtZW50LWd1dHRlci1oYWxmKTtcbiAgICBociB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuXG4ubW9udGhseUF0dGVuZGFuY2Uge1xuICBib3JkZXItYm90dG9tOiAkdGFibGUtc3R5bGUtYm9yZGVyO1xuICB0ciB7XG4gICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIHRkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGgsIHRkIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXRvcDogJHRhYmxlLXN0eWxlLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogJHRhYmxlLXN0eWxlLWJvcmRlcjtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiBtYXBfZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cbiAgfVxuICAubW9udGhDZWxsIHtcbiAgICBib3JkZXItcmlnaHQ6ICR0YWJsZS1zdHlsZS1ib3JkZXI7XG4gIH1cbiAgLndlZWtEYXkge1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG4gIC50YWJsZURlc2NyaXB0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHAge1xuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jbW9udGhseUF0dGVuZGFuY2VUYWJsZVdyYXBwZXIsICNidWlsZGluZ0pvdXJuYWxUYWJsZVdyYXBwZXIge1xuICAubG9hZGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uaXNMb2FkaW5nIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAmOmJlZm9yZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwuOSk7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgdG9wOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgY29udGVudDogXCJcIjtcbiAgfVxuICAubG9hZGluZyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMjAwO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtKCRsb2FkaW5nLXNwaW5uZXItbGFyZ2Utc2l6ZSAvIDIpO1xuICAgIG1hcmdpbi1sZWZ0OiAtKCRsb2FkaW5nLXNwaW5uZXItbGFyZ2Utc2l6ZSAvIDIpO1xuICB9XG59XG5cbi5pbnB1dC1ncm91cCB7XG4gIGlucHV0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBib3JkZXItbGVmdDogbm9uZTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICAgIGkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIH1cbiAgfVxufVxuXG4uY29sb3JwaWNrZXItY29tcG9uZW50IHtcbiAgJi5pbnB1dC1ncm91cCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5pbnB1dC1ncm91cC1hZGRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogMTA7XG4gIH1cbn1cblxuLmNvbG9ycGlja2VyLWRyb3Bkb3duLW1lbnUge1xuICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ubXVsdGlwbGVSb3dDZWxsIHtcbiAgdGQge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcCB7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbnRleHRhcmVhOmRpc2FibGVkIHtcbiAgY29sb3I6ICRkYXJrLWdyYXlcbn1cblxuLmRhdGVQaWNrZXIge1xuICBpbnB1dCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG59XG5cbi5ib3JkZXJMZWZ0IHtcbiAgYm9yZGVyLWxlZnQ6ICRjb250ZW50LWhlYWRlci1ib3JkZXI7XG59XG5cbi53eXNpd3lnRXJyb3Ige1xuICBzcGFuIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDgpO1xuICB9XG59XG5cbi5jb2xvcldyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmNvbG9ycGljayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICBtYXJnaW46IHJlbS1jYWxjKDUgNSAwIDUpO1xuICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTJlMmUyO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgxMCwgMTAsIDEwLCAwLjEpO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgb3BhY2l0eTogLjY7XG4gIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgc3BhbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gIH1cbiAgJjpob3ZlciB7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuICBAZWFjaCAkY29sb3IsICR2YWx1ZSBpbiAkY3VzdG9tQ29sb3JzUGFsZXRlIHtcbiAgICAmLiN7JGNvbG9yfSB7XG4gICAgICBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHZhbHVlO1xuICAgICAgICBAaWYgJGNvbG9yID09ICdXaGl0ZScge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5pbnB1dFtyZWFkb25seV06bm90KFtkaXNhYmxlZF0pIHtcbiAgJi5mZGF0ZXBpY2tlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIH1cbn1cblxuLmV4Y2VsRXhwb3J0V3JhcHBlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxufVxuXG4uaW52b2ljZVRlbXBsYXRlVmlzdWFsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBpbWcsIGxhYmVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICBsYWJlbCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlcjogc29saWQgMXB4ICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW46IDA7XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdHlwZTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZywgJGJhc2UtZWxlbWVudC1ndXR0ZXItcXVhcnRlcik7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKG1hcmdpbi1ib3R0b20sICRiYXNlLWVsZW1lbnQtZ3V0dGVyLWhhbGYpO1xuICAgICY6aG92ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiBtYXBfZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cbiAgfVxuICBpbnB1dCB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAxO1xuICB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgYm9yZGVyLWNvbG9yOiBtYXBfZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICB9XG59XG5cbi50YWdMaXN0IHtcbiAgZm9udC1zaXplOiAkc29uYXRhLXRhZy1saXN0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShtYXJnaW4tYm90dG9tLCBnZXRNYXBEaXYoJGdyaWQtY29sdW1uLWd1dHRlciwgMikpO1xuICBhLnRhZyB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gIH1cbn1cblxuLm1pZGRsZVJpZ2h0V3JhcHBlciB7XG4gIGFydGljbGUge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLXRvcCwgZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDIpKTtcbiAgfVxufVxuXG5hc2lkZSB7XG4gIC5ibG9ja0ZpZWxkcyB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gIC5ibG9ja0J1dHRvbkNvbnRyb2wge1xuICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKHBhZGRpbmctbGVmdCwgZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDQpKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1yaWdodCwgZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDQpKTtcbiAgICAuY29sdW1uIHtcbiAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLWxlZnQsIGdldE1hcERpdigkZ3JpZC1jb2x1bW4tZ3V0dGVyLCA0KSk7XG4gICAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1yaWdodCwgZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDQpKTtcbiAgICB9XG4gIH1cbn1cblxuLmNhbGxvdXQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWJvdHRvbSwgZ2V0TWFwRGl2KCRncmlkLWNvbHVtbi1ndXR0ZXIsIDIpKTtcbn1cblxuLmNvbnN0cnVjdGlvblJldmVhbExpbmsge1xuICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn0iLCIvLy8gR2VuZXJldWplIHZpenVhbG5lIHJvemRlbGVuaWUgcHJpYW1pY2ggcG90b21rb3YgcyBtb3pub3N0b3UgbmFzdGF2ZW5pYSBpbnRlcnZhbHVcbi8vLyBASW5jbHVkZSBwcmViaWVoYSB2IHJvZGljb3Zza2VqIGNsYXNzZVxuLy8vIEBwYXJhbSB7Y29sb3J9ICRiZ0NvbG9yIC0gaG9kbm90YSB2bGFzdG5vc3RpIGJhY2tncm91bmQtY29sb3IgLSAjZmZmLCAjYWZhZmFmLi4uXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RlZEVsZW1lbnQgLSBlbGVtZW50IHByZSBrdG9yeSBtYSB2bGFzdG5vc3QgcGxhdGl0LiAtID5kaXYsID4uZXhhbXBsZS4uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2VsZWN0TnRoIC0gbmFzdGF2ZW5pZSBpbnRlcnZhbHUgcHJlIG9wYWtvdmFuaWVcbkBtaXhpbiBhZGQtc3RyaXBlZCgkYmdDb2xvciwgJHBhZGRpbmc6IHRydWUsICRzZWxlY3RlZEVsZW1lbnQ6ICcqJywgJHNlbGVjdE50aDogMikge1xuICAgID4gI3skc2VsZWN0ZWRFbGVtZW50fSB7XG4gICAgICBAaWYgJHBhZGRpbmcgPT0gdHJ1ZSB7XG4gICAgICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtc2l6ZShwYWRkaW5nLXRvcCwgJGJhc2UtZWxlbWVudC1ndXR0ZXItaGFsZik7XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgjeyRzZWxlY3ROdGh9bikge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmdDb2xvcjtcbiAgICAgIH1cbiAgICB9XG59IiwiJGRhc2hib2FyZC1ndXR0ZXI6IGdldE1hcERpdigkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAyKTtcblxuLmRpdmlzaW9uRGFzaGJvYXJkIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1sZWZ0LCBnZXRNYXBEaXYoJGRhc2hib2FyZC1ndXR0ZXIsIDIpKTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUocGFkZGluZy1yaWdodCwgZ2V0TWFwRGl2KCRkYXNoYm9hcmQtZ3V0dGVyLCAyKSk7XG4gICAgLnVpLXN0YXRlLWhpZ2hsaWdodHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyLCAmOmJlZm9yZXtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVye1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBzY2FsZUJhY2tncm91bmQgLjVzIGVhc2Utb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgICAgICAgIC8vYm9yZGVyOiAycHggZGFzaGVkICRlbGVtZW50U3R5bGVDb2xvcjtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkZWxlbWVudFN0eWxlQ29sb3IsIDAuOCk7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDJweCA1cHggMCByZ2JhKG1hcF9nZXQoJGN1c3RvbUNvbG9yc1BhbGV0ZSwgQnJvd24pLCAuMTUpO1xuICAgICAgICAgICAgYW5pbWF0aW9uOiBwdWxzYXRlIDJzIGVhc2Utb3V0O1xuICAgICAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjA7XG5cbiAgICAgICAgfVxuICAgICAgICBAa2V5ZnJhbWVzIHB1bHNhdGUge1xuICAgICAgICAgICAgMCUge2JveC1zaGFkb3c6IDAgMCA1cHggMCByZ2JhKG1hcF9nZXQoJGN1c3RvbUNvbG9yc1BhbGV0ZSwgQnJvd24pLCAuMTUpOyBvcGFjaXR5OiAwLjA7fVxuICAgICAgICAgICAgNTAlIHtvcGFjaXR5OiAxLjA7fVxuICAgICAgICAgICAgMTAwJSB7IGJveC1zaGFkb3c6IDAgMCAyMHB4IDAgcmdiYShtYXBfZ2V0KCRjdXN0b21Db2xvcnNQYWxldGUsIEJyb3duKSwgLjE1KTsgb3BhY2l0eTogMC4wO31cbiAgICAgICAgfVxuICAgICAgICBAa2V5ZnJhbWVzIHNjYWxlQmFja2dyb3VuZCB7XG4gICAgICAgICAgICAwJSB7dHJhbnNmb3JtOiBzY2FsZSgwLjk5KTsgb3BhY2l0eTogMC42O31cbiAgICAgICAgICAgIDEwMCUgeyB0cmFuc2Zvcm06IHNjYWxlKDEpOyBvcGFjaXR5OiAxO31cbiAgICAgICAgfVxuICAgIH1cbiAgICAuY2FsbG91dCB7XG4gICAgICAgICYuaW5mbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgobWFwX2dldCgkY3VzdG9tQ29sb3JzUGFsZXRlLCBCbHVlKSwgJHdoaXRlLCAyMCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwX2dldCgkY3VzdG9tQ29sb3JzUGFsZXRlLCBCbHVlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLmVtcHR5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnByZWxvYWRlcldyYXBwZXJ7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKGRlc2F0dXJhdGUobGlnaHRlbigkc2Vjb25kYXJ5LWNvbG9yLCA0MCUpLCA1JSksIC42KTtcbiAgICAgICAgfVxuICAgIH1cbiAgICAucm93IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLXJvdyhudWxsLCAkZ3JpZC1yb3ctd2lkdGgsICRncmlkLWNvbHVtbi1jb3VudCwgJGRhc2hib2FyZC1ndXR0ZXIpO1xuICAgIH1cbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICAgICYueHNtYWxsLTI0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW4oJGdyaWQtY29sdW1uLWNvdW50LCAkZGFzaGJvYXJkLWd1dHRlcik7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICYubWVkaXVtLTEyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uKDEyLCAkZGFzaGJvYXJkLWd1dHRlcik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4uZGFzaGJvYXJkV2lkZ2V0e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgYm94LXNoYWRvdzogMCAycHggNXB4IDAgcmdiYShtYXBfZ2V0KCRjdXN0b21Db2xvcnNQYWxldGUsIEJyb3duKSwgLjE1KTtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLXNpemUobWFyZ2luLWJvdHRvbSwgJGRhc2hib2FyZC1ndXR0ZXIpO1xuICAgICY6YWZ0ZXIsICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1peCgkd2hpdGUsICRibGFjaywgMjApO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtKCRsb2FkaW5nLXNwaW5uZXItbGFyZ2Utc2l6ZSAvIDIpO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSgkbG9hZGluZy1zcGlubmVyLWxhcmdlLXNpemUgLyAyKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoMikgc29saWQgJHByaW1hcnktY29sb3I7XG4gICAgICAgIGJvcmRlci10b3AtY29sb3I6IHJnYmEoJGJsYWNrLC4xKTs7XG4gICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogcmdiYSgkYmxhY2ssLjEpOztcbiAgICAgICAgd2lkdGg6ICRsb2FkaW5nLXNwaW5uZXItbGFyZ2Utc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkbG9hZGluZy1zcGlubmVyLWxhcmdlLXNpemU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgei1pbmRleDogMTAxO1xuICAgICAgICBhbmltYXRpb246IHNwaW5uZXItYW5pbWF0aW9uIC42NXMgaW5maW5pdGUgbGluZWFyO1xuICAgIH1cbiAgICBoZWFkZXJ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkZWxlbWVudFN0eWxlQ29sb3I7XG4gICAgICAgIGJhY2tncm91bmQ6ICR0YWJsZS1oZWFkLWJnO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDE1KTtcbiAgICAgICAgaDJ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjogJHNlY29uZGFyeS1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1zaXplKCdmb250LXNpemUnLCAkZC13aWRnZXQtaGVhZGVyLWZvbnQtc2l6ZSk7XG4gICAgICAgIH1cbiAgICAgICAgLmNvbnRyb2xze1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjNzIGVhc2U7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlcntcbiAgICAgICAgICAgIC5jb250cm9sc3tcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGgyIHtcbiAgICAgICAgQGV4dGVuZCAuYnJlYWtXb3JkO1xuICAgIH1cbiAgICBmb290ZXJ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTUgMCAxNSk7XG4gICAgfVxuICAgIC5jb250ZW50e1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxNSAwIDE1KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gICAgfVxuICAgIC5saXN0VGFibGV7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICB9XG4gICAgJi5pc0VkaXRlZHtcbiAgICAgICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmc7XG4gICAgICAgIGlucHV0W3R5cGU9XCJ0ZXh0XCJde1xuICAgICAgICAgICAgJjpmb2N1c3tcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaGVhZGVye1xuICAgICAgICAgICAgLmNvbnRyb2xze1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbiAgICAmLnByZWxvYWRlcldyYXBwZXJ7XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCR3aGl0ZSwgLjgpO1xuICAgICAgICB9XG4gICAgfVxuICAgIFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICB9XG4gICAgLnRhYmxlU2Nyb2xsSGFsZiB7XG4gICAgICAgIEBpbmNsdWRlIGdlbmVyYXRlU3JvbGxUYWJsZSh0cnVlLCAnJywgJHRhYmxlLXNjcm9sbC1ncmlkLXByZWZpeCwgJHRhYmxlLXNjcm9sbC1saW1pdC13aWR0aCwgeHhsYXJnZSk7XG4gICAgfVxuICAgICYucHJlbG9hZGVySXNWaXNpYmxlIHtcbiAgICAgICAgJjphZnRlciwgJjpiZWZvcmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCl7XG4gICAgICAgIFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApe1xuICAgICAgICBbbmFtZT1cIndpZGdldC1hY3Rpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCl7XG4gICAgICAgIFtuYW1lPVwid2lkZ2V0LWFjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4udWktc29ydGFibGUtaGVscGVye1xuICAgICY6aG92ZXJ7XG4gICAgICAgIGhlYWRlcntcbiAgICAgICAgICAgIC5jb250cm9sc3tcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuICAgIGhlYWRlcntcbiAgICAgICAgLmNvbnRyb2xze1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cbi5kYWhzYm9hcmREcm9wZG93biB7XG4gICAgei1pbmRleDogMTA7XG4gICAgd2lkdGg6IHJlbS1jYWxjKDIwMCk7XG4gICAgcmlnaHQ6IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIGJvcmRlcjogcmVtLWNhbGMoMSkgc29saWQgJGRyb3Bkb3duLW1lbnUtYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGRyb3Bkb3duLW1lbnUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHJlbS1jYWxjKC0xOCkpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuM3MgZWFzZSwgb3BhY2l0eSAuM3MgZWFzZTtcbiAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkd2hpdGUgdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTEyKTtcbiAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgei1pbmRleDogODk7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXI6IGluc2V0IDdweDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJGRyb3Bkb3duLW1lbnUtYm9yZGVyLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKC0xNCk7XG4gICAgICAgIGxlZnQ6IDlweDtcbiAgICAgICAgei1pbmRleDogODg7XG4gICAgfVxuICAgIGxpIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWUgJHRyYW5zaXRpb24tdHlwZTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoJHdoaXRlLCAkYmxhY2ssIDk3KTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgY29sb3I6ICRkcm9wZG93bi1tZW51LWFuY2hvci1jb2xvcjtcbiAgICAgICAgfVxuICAgIH1cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygxNzcpO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMTc2KTtcbiAgICAgICAgfVxuICAgIH1cbn1cbkBpbmNsdWRlIHNwaW5uZXIta2V5ZnJhbWVzOyIsIiRkYWlseS1jb25zdHJ1Y3Rpb24tcmVjb3JkLXRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDEwIDYpO1xuXG4udGFibGVTY3JvbGwgIHtcbiAgICBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgfVxuICAgIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtcmVjb3JkXCJdIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtX2FjdGlvblwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWpvYm9yZGVyXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyLjUpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtZGF5XCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyLjI1KTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLXJlY29yZFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1sYXN0bW9kaWZpY2F0aW9uXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLV9hY3Rpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDEpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1qb2JvcmRlclwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UgdXApIHtcbiAgICAgICAgW25hbWU9XCJkYWlseWNvbnN0cnVjdGlvbnJlY29yZC1kYXlcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtam9ib3JkZXJcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiZGFpbHljb25zdHJ1Y3Rpb25yZWNvcmQtcmVjb3JkXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgxNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kYWlseS1jb25zdHJ1Y3Rpb24tcmVjb3JkIHtcbiAgICAubGlzdFRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIHRoLCB0ZCB7XG4gICAgICAgIHBhZGRpbmc6ICRkYWlseS1jb25zdHJ1Y3Rpb24tcmVjb3JkLXRhYmxlLXBhZGRpbmc7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuICAgICAgICBbbmFtZT1cImRhaWx5Y29uc3RydWN0aW9ucmVjb3JkLWRheVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5kYWlseS1jb25zdHJ1Y3Rpb24tcmVjb3JkLXdpZGdldCB7XG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJGRhaWx5LWNvbnN0cnVjdGlvbi1yZWNvcmQtdGFibGUtcGFkZGluZztcbiAgICB9XG59IiwiLnRhYmxlU2Nyb2xsIHtcbiAgICBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcmZyb21cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNik7XG4gICAgfVxuICAgIFtuYW1lPVwiZW1haWxsb2ctaGVhZGVydG9cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNik7XG4gICAgfVxuICAgIFtuYW1lPVwiZW1haWxsb2ctbWVzc2FnZXN1YmplY3RcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNyk7XG4gICAgfVxuICAgIFtuYW1lPVwiZW1haWxsb2ctZGF0ZXNlbmRcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgW25hbWU9XCJlbWFpbGxvZy1oZWFkZXJmcm9tXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg1KTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImVtYWlsbG9nLWhlYWRlcnRvXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg1KTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImVtYWlsbG9nLW1lc3NhZ2VzdWJqZWN0XCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg2KTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImVtYWlsbG9nLWRhdGVzZW5kXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIudGFibGVTY3JvbGwge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIFtuYW1lPVwiZW1haWwtZGVzY3JpcHRpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBbbmFtZT1cImVtYWlsLWRlc2NyaXB0aW9uXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg4KTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIudGFibGVTY3JvbGwge1xuICAgIFtuYW1lPVwiam9iaW50ZXJ2aWV3LWRhdGVcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXBsYWNlXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDYpO1xuICAgIH1cbiAgICBbbmFtZT1cImpvYmludGVydmlldy10b3RhbGNvdW50b2ZwYXJ0aWNpcGFudHNcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwiam9iaW50ZXJ2aWV3LV9hY3Rpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgW25hbWU9XCJqb2JpbnRlcnZpZXctZGF0ZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJqb2JpbnRlcnZpZXctcGxhY2VcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXRvdGFsY291bnRvZnBhcnRpY2lwYW50c1wiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJqb2JpbnRlcnZpZXctX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIFtuYW1lPVwiam9iaW50ZXJ2aWV3LXBsYWNlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg3KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuICAgICAgICBbbmFtZT1cImpvYmludGVydmlldy1wbGFjZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNik7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJqb2JpbnRlcnZpZXctX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRhYmxlU2Nyb2xsIHtcbiAgICBbbmFtZT1cImpvYm9yZGVyLWlkXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgIH1cbiAgICBbbmFtZT1cImpvYm9yZGVyLXRpdGxlXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uZW5kZGF0ZVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICB9XG4gICAgW25hbWU9XCJqb2JvcmRlci1zdGF0ZVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICB9XG4gICAgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDYpO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgdXApIHtcbiAgICAgICAgW25hbWU9XCJqb2JvcmRlci1pZFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBbbmFtZT1cImpvYm9yZGVyLXRpdGxlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uc3RhcnRkYXRlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImpvYm9yZGVyLXJlYWxpemF0aW9uZW5kZGF0ZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJqb2JvcmRlci1zdGF0ZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJqb2JvcmRlci1fYWN0aW9uXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXItaWRcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDEpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25zdGFydGRhdGVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXItcmVhbGl6YXRpb25lbmRkYXRlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImpvYm9yZGVyLXN0YXRlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImpvYm9yZGVyLV9hY3Rpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi50YWJsZVNjcm9sbCB7XG4gICAgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtZGF5XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgIH1cbiAgICBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICAgIH1cbiAgICBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wcmVzZW50cGVvcGxlY291bnRcIl0sIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9ub3RoZXJidWlsZGluZ2NvdW50XCJdLCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbnZhY2F0aW9uY291bnRcIl0sIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXNpY2twZW9wbGVjb3VudFwiXSwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcGVvcGxlY291bnRcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgfVxuICAgIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLV9hY3Rpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCB1cCkge1xuICAgICAgICBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1qb2JvcmRlclwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1kYXlcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWpvYm9yZGVyXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wcmVzZW50cGVvcGxlY291bnRcIl0sIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXBlb3BsZW9ub3RoZXJidWlsZGluZ2NvdW50XCJdLCBbbmFtZT1cImpvYm9yZGVyYXR0ZW5kYW5jZS1wZW9wbGVvbnZhY2F0aW9uY291bnRcIl0sIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLXNpY2twZW9wbGVjb3VudFwiXSwgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2UtcGVvcGxlY291bnRcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLV9hY3Rpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgW25hbWU9XCJqb2JvcmRlcmF0dGVuZGFuY2Utam9ib3JkZXJcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLV9hY3Rpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4eGxhcmdlIHVwKSB7XG4gICAgICAgIFtuYW1lPVwiam9ib3JkZXJhdHRlbmRhbmNlLWpvYm9yZGVyXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRlbkhvdXJzV2FybmluZyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YzNjcxN1xufSIsIi50YWJsZVNjcm9sbCB7XG4gICAgW25hbWU9XCJ0b29sLW5hbWVcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwidG9vbC1pbnRlcm5hbG51bWJlclwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg1KTtcbiAgICB9XG4gICAgW25hbWU9XCJ0b29sLWNhdGVnb3J5LnRpdGxlXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICAgIH1cbiAgICBbbmFtZT1cInRvb2wtbG9jYXRpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgfVxuICAgIFtuYW1lPVwidG9vbC13YXJyYW50eWV4cGlyYXRpb25kYXRlXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZT1cInRvb2wtcGF0ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgfVxuICAgIFtuYW1lPVwidG9vbC1zdGF0ZVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICB9XG4gICAgW25hbWU9XCJ0b29sLV9hY3Rpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgfVxuXG4gICAgW25hbWU9XCJ0b29sd2FyZWhvdXNlLW5hbWVcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwidG9vbHdhcmVob3VzZS1sb2NhdGlvblwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICB9XG4gICAgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWNvdW50b2Z0b29sc1wiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICB9XG4gICAgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWNvdW50b2ZhdmFpbGFibGV0b29sc1wiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICB9XG4gICAgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWNvdW50b2Zib3Jyb3dlZHRvb2xzXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZT1cInRvb2x3YXJlaG91c2UtX2FjdGlvblwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBbbmFtZT1cInRvb2wtbmFtZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJ0b29sLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInRvb2wtY2F0ZWdvcnkudGl0bGVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwidG9vbC1sb2NhdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJ0b29sLXdhcnJhbnR5ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwidG9vbC1wYXRleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJ0b29sLXN0YXRlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInRvb2wtX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cblxuICAgICAgICBbbmFtZT1cInRvb2x3YXJlaG91c2UtbmFtZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJ0b29sd2FyZWhvdXNlLWxvY2F0aW9uXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZnRvb2xzXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmF2YWlsYWJsZXRvb2xzXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInRvb2x3YXJlaG91c2UtY291bnRvZmJvcnJvd2VkdG9vbHNcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwidG9vbHdhcmVob3VzZS1fYWN0aW9uXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuICAgICAgICBbbmFtZT1cInRvb2wtbmFtZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJ0b29sLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInRvb2wtY2F0ZWdvcnkudGl0bGVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwidG9vbC1sb2NhdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJ0b29sLXdhcnJhbnR5ZXhwaXJhdGlvbmRhdGVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwidG9vbC1wYXRleHBpcmF0aW9uZGF0ZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJ0b29sLXN0YXRlXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInRvb2wtX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgICAgICAgJjpudGgtY2hpbGQoLW4rMikge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4rMikge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoLW4rMykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6bnRoLWxhc3QtY2hpbGQoLW4rMykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeHhsYXJnZSB1cCkge1xuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnRhYmxlU2Nyb2xsIHtcbiAgICBbbmFtZT1cInBheW1lbnQtbW9udGhcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgfVxuICAgIFtuYW1lPVwicGF5bWVudC1wZXJzb25zdXJuYW1lYW5kZmlyc3RuYW1lXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICAgIH1cbiAgICBbbmFtZT1cInBheW1lbnQtbGlzdHJlcXVpcmVkXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICAgIH1cbiAgICBbbmFtZT1cInBheW1lbnQtbGlzdGNvc3RzXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpO1xuICAgIH1cbiAgICBbbmFtZT1cInBheW1lbnQtbGlzdGFkdmFuY2VwYXltZW50c1wiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg1KTtcbiAgICB9XG4gICAgW25hbWU9XCJwYXltZW50LWxpc3RwYXltZW50dG90YWxcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwicGF5bWVudC1sb2NrZWRcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgfVxuICAgIFtuYW1lPVwicGF5bWVudC1fYWN0aW9uXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgIH1cblxuXG4gICAgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1wYXltZW50Lm1vbnRoXCJdLCBbbmFtZT1cImNvc3QtbW9udGgubW9udGhcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtcGVyc29uLnN1cm5hbWVcIl0sIFtuYW1lPVwiY29zdC1wZXJzb24uc3VybmFtZVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg2KTtcbiAgICB9XG4gICAgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1tZXRob2RcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtYW1vdW50XCJdLCBbbmFtZT1cImNvc3QtYW1vdW50XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZT1cImFkdmFuY2VwYXltZW50LWxhc3Rtb2RpZmljYXRpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNSk7XG4gICAgfVxuICAgIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICB9XG4gICAgW25hbWU9XCJjb3N0LV9hY3Rpb25cIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgW25hbWU9XCJwYXltZW50LW1vbnRoXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInBheW1lbnQtcGVyc29uc3VybmFtZWFuZGZpcnN0bmFtZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJwYXltZW50LWxpc3RyZXF1aXJlZFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJwYXltZW50LWxpc3Rjb3N0c1wiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJwYXltZW50LWxpc3RhZHZhbmNlcGF5bWVudHNcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwicGF5bWVudC1saXN0cGF5bWVudHRvdGFsXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInBheW1lbnQtbG9ja2VkXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cblxuICAgICAgICBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBheW1lbnQubW9udGhcIl0sIFtuYW1lPVwiY29zdC1tb250aC5tb250aFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1wZXJzb24uc3VybmFtZVwiXSwgW25hbWU9XCJjb3N0LXBlcnNvbi5zdXJuYW1lXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg0KTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cImFkdmFuY2VwYXltZW50LW1ldGhvZFwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1hbW91bnRcIl0sIFtuYW1lPVwiY29zdC1hbW91bnRcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwiYWR2YW5jZXBheW1lbnQtbGFzdG1vZGlmaWNhdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1fYWN0aW9uXCJdLCBbbmFtZT1cImNvc3QtX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIFtuYW1lPVwicGF5bWVudC1wZXJzb25zdXJuYW1lYW5kZmlyc3RuYW1lXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInBheW1lbnQtbG9ja2VkXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInBheW1lbnQtX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMSk7XG4gICAgICAgIH1cblxuICAgICAgICBbbmFtZT1cImFkdmFuY2VwYXltZW50LXBlcnNvbi5zdXJuYW1lXCJdLCBbbmFtZT1cImNvc3QtcGVyc29uLnN1cm5hbWVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDUpXG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJhZHZhbmNlcGF5bWVudC1fYWN0aW9uXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgxKTtcbiAgICAgICAgfVxuICAgIH1cbn0iLCIudGFibGVTY3JvbGwge1xuICAgIFtuYW1lPVwicGVyc29uLWludGVybmFsbnVtYmVyXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgIH1cbiAgICBbbmFtZT1cInBlcnNvbi1maXJzdHBhcnRpY2lwYW50XCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgIH1cbiAgICBbbmFtZT1cInBlcnNvbi1zdXJuYW1lXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgIH1cbiAgICBbbmFtZT1cInBlcnNvbi1maXJzdG5hbWVcIl0ge1xuICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgfVxuXG4gICAgW25hbWU9XCJwZXJzb24tc3RhdHVzLm5hbWVcIl0ge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTEwKTtcbiAgICB9XG5cbiAgICBbbmFtZT1cInBlcnNvbi1kYXRlY3JlYXRlXCJdIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzMCk7XG4gICAgfVxuXG4gICAgW25hbWU9XCJwZXJzb24tX2FjdGlvblwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCgzKTtcbiAgICB9XG5cbiAgICBbbmFtZT1cInBlcnNvbi1ib251c2hvdXJzXCJdLCBbbmFtZT1cInBlcnNvbi1ob3Vyc3NpbmNlaG91cmx5cmF0ZWluY3JlYXNlXCJdIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzMCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgW25hbWU9XCJwZXJzb24taW50ZXJuYWxudW1iZXJcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwicGVyc29uLWZpcnN0cGFydGljaXBhbnRcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDEpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwicGVyc29uLXN1cm5hbWVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwicGVyc29uLWZpcnN0bmFtZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMyk7XG4gICAgICAgIH1cbiAgICAgICAgW25hbWU9XCJwZXJzb24tX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIFtuYW1lPVwicGVyc29uLXN1cm5hbWVcIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDQpO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwicGVyc29uLWZpcnN0bmFtZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woNCk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudGFibGVTY3JvbGwge1xuICAgIFtuYW1lPVwicHVyY2hhc2VyLWljXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgdGQtY29sKDMpO1xuICAgIH1cbiAgICBbbmFtZT1cInB1cmNoYXNlci1jb21wYW55bmFtZVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCg1KTtcbiAgICB9XG4gICAgW25hbWU9XCJwdXJjaGFzZXItX2FjdGlvblwiXSB7XG4gICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIHVwKSB7XG4gICAgICAgIFtuYW1lPVwicHVyY2hhc2VyLWNvbXBhbnluYW1lXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCg5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIFtuYW1lPVwicHVyY2hhc2VyLWljXCJdIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRkLWNvbCgyKTtcbiAgICAgICAgfVxuICAgICAgICBbbmFtZT1cInB1cmNoYXNlci1jb21wYW55bmFtZVwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMTApO1xuICAgICAgICB9XG4gICAgICAgIFtuYW1lPVwicHVyY2hhc2VyLV9hY3Rpb25cIl0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgdGQtY29sKDIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgW25hbWU9XCJwdXJjaGFzZXItX2FjdGlvblwiXSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0ZC1jb2woMSk7XG4gICAgICAgIH1cbiAgICB9XG59IiwiLnN3aXRjaCB7XG4gICAgbGFiZWwge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG59IiwiLm5tYiB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59IiwiLyohXG4gKiBCb290c3RyYXAgQ29sb3JwaWNrZXIgdjIuNS4xXG4gKiBodHRwczovL2l0c2phdmkuY29tL2Jvb3RzdHJhcC1jb2xvcnBpY2tlci9cbiAqXG4gKiBPcmlnaW5hbGx5IHdyaXR0ZW4gYnkgKGMpIDIwMTIgU3RlZmFuIFBldHJlXG4gKiBMaWNlbnNlZCB1bmRlciB0aGUgQXBhY2hlIExpY2Vuc2UgdjIuMFxuICogaHR0cDovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wLnR4dFxuICpcbiAqL1xuJGNvbG9ycGlja2VyLWltZy1wYXRoOiBcIi4uL2ltZy9ib290c3RyYXAtY29sb3JwaWNrZXJcIiAhZGVmYXVsdDtcblxuQG1peGluIGJnSW1nKCRpbWdGaWxlbmFtZSkge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIjeyRjb2xvcnBpY2tlci1pbWctcGF0aH0vI3skaW1nRmlsZW5hbWV9XCIpO1xufVxuXG5AbWl4aW4gYm9yZGVyUmFkaXVzKCRzaXplKSB7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogJHNpemU7XG4gIC1tb3otYm9yZGVyLXJhZGl1czogJHNpemU7XG4gIGJvcmRlci1yYWRpdXM6ICRzaXplO1xufVxuXG4uY29sb3JwaWNrZXItc2F0dXJhdGlvbiB7XG4gIHdpZHRoOiAxMDBweDtcbiAgaGVpZ2h0OiAxMDBweDtcbiAgQGluY2x1ZGUgYmdJbWcoJ3NhdHVyYXRpb24ucG5nJyk7XG4gIGN1cnNvcjogY3Jvc3NoYWlyO1xuICBmbG9hdDogbGVmdDtcbiAgaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDVweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgIEBpbmNsdWRlIGJvcmRlclJhZGl1cyg1cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IC00cHggMCAwIC00cHg7XG4gICAgYiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgd2lkdGg6IDVweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gICAgICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNXB4KTtcbiAgICB9XG4gIH1cbn1cblxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIHdpZHRoOiAxNXB4O1xuICBoZWlnaHQ6IDEwMHB4O1xuICBmbG9hdDogbGVmdDtcbiAgY3Vyc29yOiByb3ctcmVzaXplO1xuICBtYXJnaW4tbGVmdDogNHB4O1xuICBtYXJnaW4tYm90dG9tOiA0cHg7XG59XG5cbi5jb2xvcnBpY2tlci1odWUgaSxcbi5jb2xvcnBpY2tlci1hbHBoYSBpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tdG9wOiAtMXB4O1xufVxuXG4uY29sb3JwaWNrZXItaHVlIHtcbiAgQGluY2x1ZGUgYmdJbWcoJ2h1ZS5wbmcnKTtcbn1cblxuLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgQGluY2x1ZGUgYmdJbWcoJ2FscGhhLnBuZycpO1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4uY29sb3JwaWNrZXItc2F0dXJhdGlvbixcbi5jb2xvcnBpY2tlci1odWUsXG4uY29sb3JwaWNrZXItYWxwaGEge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG59XG5cbi5jb2xvcnBpY2tlciB7XG4gIHBhZGRpbmc6IDRweDtcbiAgbWluLXdpZHRoOiAxMzBweDtcbiAgbWFyZ2luLXRvcDogMXB4O1xuICBAaW5jbHVkZSBib3JkZXJSYWRpdXMoNHB4KTtcbiAgei1pbmRleDogMjUwMDtcbn1cblxuLmNvbG9ycGlja2VyOmJlZm9yZSxcbi5jb2xvcnBpY2tlcjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIlwiO1xuICBsaW5lLWhlaWdodDogMDtcbn1cblxuLmNvbG9ycGlja2VyOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5jb2xvcnBpY2tlcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWJvdHRvbTogN3B4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1ib3R0b20tY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IC03cHg7XG4gIGxlZnQ6IDZweDtcbn1cblxuLmNvbG9ycGlja2VyOmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0OiA2cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTZweDtcbiAgbGVmdDogN3B4O1xufVxuXG4uY29sb3JwaWNrZXIgZGl2IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItd2l0aC1hbHBoYSB7XG4gIG1pbi13aWR0aDogMTQwcHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci13aXRoLWFscGhhIC5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uY29sb3JwaWNrZXItY29sb3Ige1xuICBoZWlnaHQ6IDEwcHg7XG4gIG1hcmdpbi10b3A6IDVweDtcbiAgY2xlYXI6IGJvdGg7XG4gIEBpbmNsdWRlIGJnSW1nKCdhbHBoYS5wbmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAxMDAlO1xufVxuXG4uY29sb3JwaWNrZXItY29sb3IgZGl2IHtcbiAgaGVpZ2h0OiAxMHB4O1xufVxuXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiA1cHg7XG4gIGNsZWFyOiBib3RoO1xufVxuXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAxMHB4O1xufVxuXG4uY29sb3JwaWNrZXItc2VsZWN0b3JzIGkgKyBpIHtcbiAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cblxuLmNvbG9ycGlja2VyLWVsZW1lbnQgLmlucHV0LWdyb3VwLWFkZG9uIGksXG4uY29sb3JwaWNrZXItZWxlbWVudCAuYWRkLW9uIGkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxNnB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG4gIHdpZHRoOiAxNnB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaW5saW5lIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBub25lO1xuICB6LWluZGV4OiBhdXRvO1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCB7XG4gIHdpZHRoOiAxMTBweDtcbiAgbWluLXdpZHRoOiAxMTBweDtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItc2F0dXJhdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWNvbG9yIHtcbiAgd2lkdGg6IDEwMHB4O1xufVxuXG4uY29sb3JwaWNrZXIuY29sb3JwaWNrZXItaG9yaXpvbnRhbCAuY29sb3JwaWNrZXItaHVlLFxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWFscGhhIHtcbiAgd2lkdGg6IDEwMHB4O1xuICBoZWlnaHQ6IDE1cHg7XG4gIGZsb2F0OiBsZWZ0O1xuICBjdXJzb3I6IGNvbC1yZXNpemU7XG4gIG1hcmdpbi1sZWZ0OiAwcHg7XG4gIG1hcmdpbi1ib3R0b206IDRweDtcbn1cblxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWh1ZSBpLFxuLmNvbG9ycGlja2VyLmNvbG9ycGlja2VyLWhvcml6b250YWwgLmNvbG9ycGlja2VyLWFscGhhIGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxNXB4O1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDFweDtcbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tdG9wOiAwcHg7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1odWUge1xuICBAaW5jbHVkZSBiZ0ltZygnaHVlLWhvcml6b250YWwucG5nJyk7XG59XG5cbi5jb2xvcnBpY2tlci5jb2xvcnBpY2tlci1ob3Jpem9udGFsIC5jb2xvcnBpY2tlci1hbHBoYSB7XG4gIEBpbmNsdWRlIGJnSW1nKCdhbHBoYS1ob3Jpem9udGFsLnBuZycpO1xufVxuXG4uY29sb3JwaWNrZXItcmlnaHQ6YmVmb3JlIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDZweDtcbn1cblxuLmNvbG9ycGlja2VyLXJpZ2h0OmFmdGVyIHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDdweDtcbn1cblxuLmNvbG9ycGlja2VyLW5vLWFycm93OmJlZm9yZSB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5jb2xvcnBpY2tlci1uby1hcnJvdzphZnRlciB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWxlZnQ6IDA7XG59XG5cbi5jb2xvcnBpY2tlcixcbi5jb2xvcnBpY2tlci1hbHBoYSxcbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLFxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMge1xuICAmLmNvbG9ycGlja2VyLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi5jb2xvcnBpY2tlcixcbi5jb2xvcnBpY2tlci1hbHBoYSxcbi5jb2xvcnBpY2tlci1zYXR1cmF0aW9uLFxuLmNvbG9ycGlja2VyLWh1ZSxcbi5jb2xvcnBpY2tlci1zZWxlY3RvcnMge1xuICAmLmNvbG9ycGlja2VyLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4uY29sb3JwaWNrZXItaW5saW5lLmNvbG9ycGlja2VyLXZpc2libGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG4iXX0= */
