/*!
 * rustemtastanov@gmail.com, 2020
 */
/*! normalize.css v2.1.3 | MIT License | git.io/normalize */
/* ==========================================================================
   HTML5 display definitions
   ========================================================================== */
/**
 * Correct `block` display not defined in IE 8/9.
 */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
nav,
section,
summary {
  display: block;
}

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

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

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

/* ==========================================================================
   Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after 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;
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

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

/* ==========================================================================
   Forms
   ========================================================================== */
/**
 * Define consistent border, margin, and padding.
 */
fieldset {
  border: 0.0625rem solid #c0c0c0;
  margin: 0 0.125rem;
  padding: 0.35em 0.625em 0.75em;
}

/**
 * 1. Correct `color` not being inherited in IE 8/9.
 * 2. Remove padding so people aren't caught out if they zero out fieldsets.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

.text--primary {
  color: #00adef;
}

.container {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-right: auto;
  margin-left: auto;
}

.container:before, .container:after {
  display: table;
  content: " ";
}

.container:after {
  clear: both;
}

@media (min-width: 768px) {
  .container {
    width: 46.25rem;
  }
}

@media (min-width: 992px) {
  .container {
    width: 60rem;
  }
}

@media (min-width: 1200px) {
  .container {
    width: 76.25rem;
  }
}

.container-fluid {
  padding-right: 0.625rem;
  padding-left: 0.625rem;
  margin-right: auto;
  margin-left: auto;
}

.container-fluid:before, .container-fluid:after {
  display: table;
  content: " ";
}

.container-fluid:after {
  clear: both;
}

.row {
  margin-right: -0.625rem;
  margin-left: -0.625rem;
}

.row:before, .row:after {
  display: table;
  content: " ";
}

.row:after {
  clear: both;
}

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

.row-no-gutters [class*="col-"] {
  padding-right: 0;
  padding-left: 0;
}

.col-xs-1, .col-sm-1, .col-md-1, .col-lg-1, .col-xs-2, .col-sm-2, .col-md-2, .col-lg-2, .col-xs-3, .col-sm-3, .col-md-3, .col-lg-3, .col-xs-4, .col-sm-4, .col-md-4, .col-lg-4, .col-xs-5, .col-sm-5, .col-md-5, .col-lg-5, .col-xs-6, .col-sm-6, .col-md-6, .col-lg-6, .col-xs-7, .col-sm-7, .col-md-7, .col-lg-7, .col-xs-8, .col-sm-8, .col-md-8, .col-lg-8, .col-xs-9, .col-sm-9, .col-md-9, .col-lg-9, .col-xs-10, .col-sm-10, .col-md-10, .col-lg-10, .col-xs-11, .col-sm-11, .col-md-11, .col-lg-11, .col-xs-12, .col-sm-12, .col-md-12, .col-lg-12 {
  position: relative;
  min-height: 0.0625rem;
  padding-right: 0.625rem;
  padding-left: 0.625rem;
}

.col-xs-1, .col-xs-2, .col-xs-3, .col-xs-4, .col-xs-5, .col-xs-6, .col-xs-7, .col-xs-8, .col-xs-9, .col-xs-10, .col-xs-11, .col-xs-12 {
  float: left;
}

.col-xs-1 {
  width: 8.3333333333%;
}

.col-xs-2 {
  width: 16.6666666667%;
}

.col-xs-3 {
  width: 25%;
}

.col-xs-4 {
  width: 33.3333333333%;
}

.col-xs-5 {
  width: 41.6666666667%;
}

.col-xs-6 {
  width: 50%;
}

.col-xs-7 {
  width: 58.3333333333%;
}

.col-xs-8 {
  width: 66.6666666667%;
}

.col-xs-9 {
  width: 75%;
}

.col-xs-10 {
  width: 83.3333333333%;
}

.col-xs-11 {
  width: 91.6666666667%;
}

.col-xs-12 {
  width: 100%;
}

.col-xs-pull-0 {
  right: auto;
}

.col-xs-pull-1 {
  right: 8.3333333333%;
}

.col-xs-pull-2 {
  right: 16.6666666667%;
}

.col-xs-pull-3 {
  right: 25%;
}

.col-xs-pull-4 {
  right: 33.3333333333%;
}

.col-xs-pull-5 {
  right: 41.6666666667%;
}

.col-xs-pull-6 {
  right: 50%;
}

.col-xs-pull-7 {
  right: 58.3333333333%;
}

.col-xs-pull-8 {
  right: 66.6666666667%;
}

.col-xs-pull-9 {
  right: 75%;
}

.col-xs-pull-10 {
  right: 83.3333333333%;
}

.col-xs-pull-11 {
  right: 91.6666666667%;
}

.col-xs-pull-12 {
  right: 100%;
}

.col-xs-push-0 {
  left: auto;
}

.col-xs-push-1 {
  left: 8.3333333333%;
}

.col-xs-push-2 {
  left: 16.6666666667%;
}

.col-xs-push-3 {
  left: 25%;
}

.col-xs-push-4 {
  left: 33.3333333333%;
}

.col-xs-push-5 {
  left: 41.6666666667%;
}

.col-xs-push-6 {
  left: 50%;
}

.col-xs-push-7 {
  left: 58.3333333333%;
}

.col-xs-push-8 {
  left: 66.6666666667%;
}

.col-xs-push-9 {
  left: 75%;
}

.col-xs-push-10 {
  left: 83.3333333333%;
}

.col-xs-push-11 {
  left: 91.6666666667%;
}

.col-xs-push-12 {
  left: 100%;
}

.col-xs-offset-0 {
  margin-left: 0%;
}

.col-xs-offset-1 {
  margin-left: 8.3333333333%;
}

.col-xs-offset-2 {
  margin-left: 16.6666666667%;
}

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

.col-xs-offset-4 {
  margin-left: 33.3333333333%;
}

.col-xs-offset-5 {
  margin-left: 41.6666666667%;
}

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

.col-xs-offset-7 {
  margin-left: 58.3333333333%;
}

.col-xs-offset-8 {
  margin-left: 66.6666666667%;
}

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

.col-xs-offset-10 {
  margin-left: 83.3333333333%;
}

.col-xs-offset-11 {
  margin-left: 91.6666666667%;
}

.col-xs-offset-12 {
  margin-left: 100%;
}

@media (min-width: 768px) {
  .col-sm-1, .col-sm-2, .col-sm-3, .col-sm-4, .col-sm-5, .col-sm-6, .col-sm-7, .col-sm-8, .col-sm-9, .col-sm-10, .col-sm-11, .col-sm-12 {
    float: left;
  }
  .col-sm-1 {
    width: 8.3333333333%;
  }
  .col-sm-2 {
    width: 16.6666666667%;
  }
  .col-sm-3 {
    width: 25%;
  }
  .col-sm-4 {
    width: 33.3333333333%;
  }
  .col-sm-5 {
    width: 41.6666666667%;
  }
  .col-sm-6 {
    width: 50%;
  }
  .col-sm-7 {
    width: 58.3333333333%;
  }
  .col-sm-8 {
    width: 66.6666666667%;
  }
  .col-sm-9 {
    width: 75%;
  }
  .col-sm-10 {
    width: 83.3333333333%;
  }
  .col-sm-11 {
    width: 91.6666666667%;
  }
  .col-sm-12 {
    width: 100%;
  }
  .col-sm-pull-0 {
    right: auto;
  }
  .col-sm-pull-1 {
    right: 8.3333333333%;
  }
  .col-sm-pull-2 {
    right: 16.6666666667%;
  }
  .col-sm-pull-3 {
    right: 25%;
  }
  .col-sm-pull-4 {
    right: 33.3333333333%;
  }
  .col-sm-pull-5 {
    right: 41.6666666667%;
  }
  .col-sm-pull-6 {
    right: 50%;
  }
  .col-sm-pull-7 {
    right: 58.3333333333%;
  }
  .col-sm-pull-8 {
    right: 66.6666666667%;
  }
  .col-sm-pull-9 {
    right: 75%;
  }
  .col-sm-pull-10 {
    right: 83.3333333333%;
  }
  .col-sm-pull-11 {
    right: 91.6666666667%;
  }
  .col-sm-pull-12 {
    right: 100%;
  }
  .col-sm-push-0 {
    left: auto;
  }
  .col-sm-push-1 {
    left: 8.3333333333%;
  }
  .col-sm-push-2 {
    left: 16.6666666667%;
  }
  .col-sm-push-3 {
    left: 25%;
  }
  .col-sm-push-4 {
    left: 33.3333333333%;
  }
  .col-sm-push-5 {
    left: 41.6666666667%;
  }
  .col-sm-push-6 {
    left: 50%;
  }
  .col-sm-push-7 {
    left: 58.3333333333%;
  }
  .col-sm-push-8 {
    left: 66.6666666667%;
  }
  .col-sm-push-9 {
    left: 75%;
  }
  .col-sm-push-10 {
    left: 83.3333333333%;
  }
  .col-sm-push-11 {
    left: 91.6666666667%;
  }
  .col-sm-push-12 {
    left: 100%;
  }
  .col-sm-offset-0 {
    margin-left: 0%;
  }
  .col-sm-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-sm-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-sm-offset-3 {
    margin-left: 25%;
  }
  .col-sm-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-sm-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-sm-offset-6 {
    margin-left: 50%;
  }
  .col-sm-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-sm-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-sm-offset-9 {
    margin-left: 75%;
  }
  .col-sm-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-sm-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-sm-offset-12 {
    margin-left: 100%;
  }
}

@media (min-width: 992px) {
  .col-md-1, .col-md-2, .col-md-3, .col-md-4, .col-md-5, .col-md-6, .col-md-7, .col-md-8, .col-md-9, .col-md-10, .col-md-11, .col-md-12 {
    float: left;
  }
  .col-md-1 {
    width: 8.3333333333%;
  }
  .col-md-2 {
    width: 16.6666666667%;
  }
  .col-md-3 {
    width: 25%;
  }
  .col-md-4 {
    width: 33.3333333333%;
  }
  .col-md-5 {
    width: 41.6666666667%;
  }
  .col-md-6 {
    width: 50%;
  }
  .col-md-7 {
    width: 58.3333333333%;
  }
  .col-md-8 {
    width: 66.6666666667%;
  }
  .col-md-9 {
    width: 75%;
  }
  .col-md-10 {
    width: 83.3333333333%;
  }
  .col-md-11 {
    width: 91.6666666667%;
  }
  .col-md-12 {
    width: 100%;
  }
  .col-md-pull-0 {
    right: auto;
  }
  .col-md-pull-1 {
    right: 8.3333333333%;
  }
  .col-md-pull-2 {
    right: 16.6666666667%;
  }
  .col-md-pull-3 {
    right: 25%;
  }
  .col-md-pull-4 {
    right: 33.3333333333%;
  }
  .col-md-pull-5 {
    right: 41.6666666667%;
  }
  .col-md-pull-6 {
    right: 50%;
  }
  .col-md-pull-7 {
    right: 58.3333333333%;
  }
  .col-md-pull-8 {
    right: 66.6666666667%;
  }
  .col-md-pull-9 {
    right: 75%;
  }
  .col-md-pull-10 {
    right: 83.3333333333%;
  }
  .col-md-pull-11 {
    right: 91.6666666667%;
  }
  .col-md-pull-12 {
    right: 100%;
  }
  .col-md-push-0 {
    left: auto;
  }
  .col-md-push-1 {
    left: 8.3333333333%;
  }
  .col-md-push-2 {
    left: 16.6666666667%;
  }
  .col-md-push-3 {
    left: 25%;
  }
  .col-md-push-4 {
    left: 33.3333333333%;
  }
  .col-md-push-5 {
    left: 41.6666666667%;
  }
  .col-md-push-6 {
    left: 50%;
  }
  .col-md-push-7 {
    left: 58.3333333333%;
  }
  .col-md-push-8 {
    left: 66.6666666667%;
  }
  .col-md-push-9 {
    left: 75%;
  }
  .col-md-push-10 {
    left: 83.3333333333%;
  }
  .col-md-push-11 {
    left: 91.6666666667%;
  }
  .col-md-push-12 {
    left: 100%;
  }
  .col-md-offset-0 {
    margin-left: 0%;
  }
  .col-md-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-md-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-md-offset-3 {
    margin-left: 25%;
  }
  .col-md-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-md-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-md-offset-6 {
    margin-left: 50%;
  }
  .col-md-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-md-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-md-offset-9 {
    margin-left: 75%;
  }
  .col-md-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-md-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-md-offset-12 {
    margin-left: 100%;
  }
}

@media (min-width: 1200px) {
  .col-lg-1, .col-lg-2, .col-lg-3, .col-lg-4, .col-lg-5, .col-lg-6, .col-lg-7, .col-lg-8, .col-lg-9, .col-lg-10, .col-lg-11, .col-lg-12 {
    float: left;
  }
  .col-lg-1 {
    width: 8.3333333333%;
  }
  .col-lg-2 {
    width: 16.6666666667%;
  }
  .col-lg-3 {
    width: 25%;
  }
  .col-lg-4 {
    width: 33.3333333333%;
  }
  .col-lg-5 {
    width: 41.6666666667%;
  }
  .col-lg-6 {
    width: 50%;
  }
  .col-lg-7 {
    width: 58.3333333333%;
  }
  .col-lg-8 {
    width: 66.6666666667%;
  }
  .col-lg-9 {
    width: 75%;
  }
  .col-lg-10 {
    width: 83.3333333333%;
  }
  .col-lg-11 {
    width: 91.6666666667%;
  }
  .col-lg-12 {
    width: 100%;
  }
  .col-lg-pull-0 {
    right: auto;
  }
  .col-lg-pull-1 {
    right: 8.3333333333%;
  }
  .col-lg-pull-2 {
    right: 16.6666666667%;
  }
  .col-lg-pull-3 {
    right: 25%;
  }
  .col-lg-pull-4 {
    right: 33.3333333333%;
  }
  .col-lg-pull-5 {
    right: 41.6666666667%;
  }
  .col-lg-pull-6 {
    right: 50%;
  }
  .col-lg-pull-7 {
    right: 58.3333333333%;
  }
  .col-lg-pull-8 {
    right: 66.6666666667%;
  }
  .col-lg-pull-9 {
    right: 75%;
  }
  .col-lg-pull-10 {
    right: 83.3333333333%;
  }
  .col-lg-pull-11 {
    right: 91.6666666667%;
  }
  .col-lg-pull-12 {
    right: 100%;
  }
  .col-lg-push-0 {
    left: auto;
  }
  .col-lg-push-1 {
    left: 8.3333333333%;
  }
  .col-lg-push-2 {
    left: 16.6666666667%;
  }
  .col-lg-push-3 {
    left: 25%;
  }
  .col-lg-push-4 {
    left: 33.3333333333%;
  }
  .col-lg-push-5 {
    left: 41.6666666667%;
  }
  .col-lg-push-6 {
    left: 50%;
  }
  .col-lg-push-7 {
    left: 58.3333333333%;
  }
  .col-lg-push-8 {
    left: 66.6666666667%;
  }
  .col-lg-push-9 {
    left: 75%;
  }
  .col-lg-push-10 {
    left: 83.3333333333%;
  }
  .col-lg-push-11 {
    left: 91.6666666667%;
  }
  .col-lg-push-12 {
    left: 100%;
  }
  .col-lg-offset-0 {
    margin-left: 0%;
  }
  .col-lg-offset-1 {
    margin-left: 8.3333333333%;
  }
  .col-lg-offset-2 {
    margin-left: 16.6666666667%;
  }
  .col-lg-offset-3 {
    margin-left: 25%;
  }
  .col-lg-offset-4 {
    margin-left: 33.3333333333%;
  }
  .col-lg-offset-5 {
    margin-left: 41.6666666667%;
  }
  .col-lg-offset-6 {
    margin-left: 50%;
  }
  .col-lg-offset-7 {
    margin-left: 58.3333333333%;
  }
  .col-lg-offset-8 {
    margin-left: 66.6666666667%;
  }
  .col-lg-offset-9 {
    margin-left: 75%;
  }
  .col-lg-offset-10 {
    margin-left: 83.3333333333%;
  }
  .col-lg-offset-11 {
    margin-left: 91.6666666667%;
  }
  .col-lg-offset-12 {
    margin-left: 100%;
  }
}

@-ms-viewport {
  width: device-width;
}

.visible-xs {
  display: none !important;
}

.visible-sm {
  display: none !important;
}

.visible-md {
  display: none !important;
}

.visible-lg {
  display: none !important;
}

.visible-xs-block,
.visible-xs-inline,
.visible-xs-inline-block,
.visible-sm-block,
.visible-sm-inline,
.visible-sm-inline-block,
.visible-md-block,
.visible-md-inline,
.visible-md-inline-block,
.visible-lg-block,
.visible-lg-inline,
.visible-lg-inline-block {
  display: none !important;
}

@media (max-width: 767px) {
  .visible-xs {
    display: block !important;
  }
  table.visible-xs {
    display: table !important;
  }
  tr.visible-xs {
    display: table-row !important;
  }
  th.visible-xs,
  td.visible-xs {
    display: table-cell !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-block {
    display: block !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline {
    display: inline !important;
  }
}

@media (max-width: 767px) {
  .visible-xs-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm {
    display: block !important;
  }
  table.visible-sm {
    display: table !important;
  }
  tr.visible-sm {
    display: table-row !important;
  }
  th.visible-sm,
  td.visible-sm {
    display: table-cell !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-block {
    display: block !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline {
    display: inline !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .visible-sm-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md {
    display: block !important;
  }
  table.visible-md {
    display: table !important;
  }
  tr.visible-md {
    display: table-row !important;
  }
  th.visible-md,
  td.visible-md {
    display: table-cell !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-block {
    display: block !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline {
    display: inline !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .visible-md-inline-block {
    display: inline-block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg {
    display: block !important;
  }
  table.visible-lg {
    display: table !important;
  }
  tr.visible-lg {
    display: table-row !important;
  }
  th.visible-lg,
  td.visible-lg {
    display: table-cell !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-block {
    display: block !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline {
    display: inline !important;
  }
}

@media (min-width: 1200px) {
  .visible-lg-inline-block {
    display: inline-block !important;
  }
}

@media (max-width: 767px) {
  .hidden-xs {
    display: none !important;
  }
}

@media (min-width: 768px) and (max-width: 991px) {
  .hidden-sm {
    display: none !important;
  }
}

@media (min-width: 992px) and (max-width: 1199px) {
  .hidden-md {
    display: none !important;
  }
}

@media (min-width: 1200px) {
  .hidden-lg {
    display: none !important;
  }
}

.visible-print {
  display: none !important;
}

@media print {
  .visible-print {
    display: block !important;
  }
  table.visible-print {
    display: table !important;
  }
  tr.visible-print {
    display: table-row !important;
  }
  th.visible-print,
  td.visible-print {
    display: table-cell !important;
  }
}

.visible-print-block {
  display: none !important;
}

@media print {
  .visible-print-block {
    display: block !important;
  }
}

.visible-print-inline {
  display: none !important;
}

@media print {
  .visible-print-inline {
    display: inline !important;
  }
}

.visible-print-inline-block {
  display: none !important;
}

@media print {
  .visible-print-inline-block {
    display: inline-block !important;
  }
}

@media print {
  .hidden-print {
    display: none !important;
  }
}

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

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

html {
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

input,
button,
select,
textarea {
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

figure {
  margin: 0;
}

[role="button"] {
  cursor: pointer;
}

@font-face {
  font-family: 'CorporateA';
  src: url("../fonts/CorporateACyr-Demi.woff2") format("woff2"), url("../fonts/CorporateACyr-Demi.woff") format("woff"), url("../fonts/CorporateACyr-Demi.ttf") format("truetype");
  font-weight: 600;
  font-style: normal;
}

@font-face {
  font-family: 'CorporateA';
  src: url("../fonts/CorporateSTCY-Bol.woff2") format("woff2"), url("../fonts/CorporateSTCY-Bol.woff") format("woff"), url("../fonts/CorporateSTCY-Bol.ttf") format("truetype");
  font-weight: 700;
  font-style: normal;
}

@font-face {
  font-family: 'CorporateA';
  src: url("../fonts/CorporateSTCY-Reg.woff2") format("woff2"), url("../fonts/CorporateSTCY-Reg.woff") format("woff"), url("../fonts/CorporateSTCY-Reg.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

html {
  font-size: 16PX;
}

body {
  font-family: "CorporateA", sans-serif;
  color: white;
  background-color: #1a1a1a;
  -webkit-text-size-adjust: none;
  -webkit-overflow-scrolling: touch;
}

a, label {
  -webkit-tap-highlight-color: transparent;
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
}

.title-1,
.title-2,
.title-3 {
  font-weight: 600;
}

p {
  margin: 0 0 1.8125rem;
}

ul,
ol {
  margin-top: 0;
  margin-bottom: 1.8125rem;
}

ul ul,
ul ol,
ol ul,
ol ol {
  margin-bottom: 0;
}

.list--unstyled {
  padding-left: 0;
  list-style: none;
}

.list--inline {
  padding-left: 0;
  list-style: none;
  margin-left: 0;
}

.list--inline > li {
  display: inline-block;
  padding-left: 0;
  padding-right: 0;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 992px) {
  .title-2 {
    font-size: 2.25rem;
    line-height: 2.6875rem;
  }
}

/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 1200px) {
  body {
    font-size: 1.5rem;
    line-height: 1.8125rem;
  }
  .title-1 {
    font-size: 3rem;
    line-height: 3.625rem;
  }
  .title-3 {
    font-size: 2.25rem;
    line-height: 2.6875rem;
  }
}

/*
	styles for Desktop
 -------------------------------------------------------------------- */
@media (min-width: 992px) and (max-width: 1199px) {
  body {
    font-size: 1.375rem;
    line-height: 1.6875rem;
  }
  .title-1 {
    font-size: 2.5rem;
    line-height: 3rem;
  }
  .title-3 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
}

/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  body {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
  .title-1 {
    font-size: 2.25rem;
    line-height: 2.6875rem;
  }
  .title-2 {
    font-size: 1.875rem;
    line-height: 2.25rem;
  }
  .title-3 {
    font-size: 1.625rem;
    line-height: 2rem;
  }
}

/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  body {
    font-size: 1rem;
    line-height: 1.1875rem;
  }
  .title-1 {
    font-size: 1.5rem;
    line-height: 1.8125rem;
  }
  .title-2,
  .title-3 {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
}

.icon {
  position: relative;
  background-size: 100% 100%;
  display: inline-block;
  vertical-align: middle;
}

.icon-tenge {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAA3CAYAAACYV8NnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM1N0I4REU2MzRCMDExRUI5RUZBOUJGMTI3QjMxNENCIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM1N0I4REU3MzRCMDExRUI5RUZBOUJGMTI3QjMxNENCIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzU3QjhERTQzNEIwMTFFQjlFRkE5QkYxMjdCMzE0Q0IiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzU3QjhERTUzNEIwMTFFQjlFRkE5QkYxMjdCMzE0Q0IiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4qH6DPAAAAcElEQVR42uzZwQ2AIBAEQM5YALVZqLXZwVmBhPhAMLNfPhMgxyZEZpbVspUFsz8txHl9egR51PjVTkNDQ0O/S3gRoaEVJoUJGhoaekBh6p3prdnrekBDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NPEd/Mo3ILMAD1bBhjG0E44wAAAABJRU5ErkJggg==');
}

.icon-eur {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAC0AAAA3CAYAAACYV8NnAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkM5MDc5NDRGMzRCMDExRUJBNTQ1Q0IxRjhBNTFCQjJDIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkM5MDc5NDUwMzRCMDExRUJBNTQ1Q0IxRjhBNTFCQjJDIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QzkwNzk0NEQzNEIwMTFFQkE1NDVDQjFGOEE1MUJCMkMiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QzkwNzk0NEUzNEIwMTFFQkE1NDVDQjFGOEE1MUJCMkMiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7BJoAjAAAC2ElEQVR42uyagW2rMBCGDeoAzx0hHYE3AizQKBkhGYGMEEYoIzzEBGGEZoSygkdIbezkAQHuDuxApJxkpLaJ/fW3785n4zEXlouVfG7MT7FsvOeTqWylbIKteYrp+nK5MM8iqALbAZCQZbIVQ/+APehcHA2sLVPqHyR8Zh86F6F8fsm2Ym6skG0r4UUd2p8ArJQ9OQRWpkT5MeLczJsAfGSPtUgqXoxbHrnYmSUxh0WXzz+FTwQOZgRm19l9I4a0f8RBziaMZXJqy44Z48RlltHWNC2sKW/fd4WsAR+B4rvq80MuD+EhO11VXoxXN6qHKeJMhj2fUHE7oYQ8rMLlKGBl6jtrHpnY3JfyK/ORCuyQQ+9HATfhIzNbTeBavxilscCq48JSlNiaWbtaUv8jBnqDHCixFth0pDncIkYr8vgIBwxQe4R2SJsOnhkh7nZ8b5ZULpgLW/ND16+h5RHMCt1jEHSISiRrfl4GtF7PfGkqN9O43rOe2DKsStldMb+dEWO2HEuGkpS3QJVLCfwxVNj6i1QZXNNPpDJcjefiB1G0goPYtmnV+Iz2gn5BIzMixvGcHsTQHFGX83MBF9SKxyfum2dJJvfQOrmEz6LyVen4mVRuOuJ9RlRVyzeyn/fJRwfwUcZK1aFQRqQUqo9w4iMcp7Vy2DIqdKxyXK9XoeSChQ4cAgesdbIKQWOXyMYcn9kG7jxehqAp4WjnALjzTscHDkvOhCVyNFNpJ1Jo4GDshikjDHeaDK63FN9DfmIbmlcDam+nwiq/ULBf0HkL9ibgNDKsHVjfvff/+3OOzMpVaYe/kltG8XuDxhUBelOTsoWYT5zqckbWhA6t03rE9Dnbo21f9wtajahP+x8Nvm07Mr2w1QnnLyHpjDU9TscF6tT3PVy8jSCYvuhM+wpbW2/WxGbvMWVfXTB9k5VC1bhnVaPmC1cbYMuaGFXRL13doNXj2exXgAEAFs4b1fazQWgAAAAASUVORK5CYII=');
}

.icon-phone {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBFNzUwNUU3NjJFOTExRUI5QTAzREVEMzEwQ0EwMDMxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBFNzUwNUU4NjJFOTExRUI5QTAzREVEMzEwQ0EwMDMxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEU3NTA1RTU2MkU5MTFFQjlBMDNERUQzMTBDQTAwMzEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MEU3NTA1RTY2MkU5MTFFQjlBMDNERUQzMTBDQTAwMzEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4tJ6r1AAAGU0lEQVR42uxa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');
}

.icon-chat {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ1MjBCNTYzMzRCNjExRUI4RTc0Q0QwM0JGQ0YzMkY0IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ1MjBCNTY0MzRCNjExRUI4RTc0Q0QwM0JGQ0YzMkY0Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDUyMEI1NjEzNEI2MTFFQjhFNzRDRDAzQkZDRjMyRjQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDUyMEI1NjIzNEI2MTFFQjhFNzRDRDAzQkZDRjMyRjQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6pJshwAAAEm0lEQVR42uyaTUhVQRTH70vNhYhlVIYJlWBBYC2EhCQl0lVmiUG6EJIkExIXRkSKiJSQLsSFFJqCiwz6NFtlhPZFQYsSBIu+wOyTnom4ENPXf+w8GI9z79z33n0fSQd+eGfeezPzvzNz5syMLo/HYywHW2EsE1s2QqLlhOvmr0DKSgTZIAdsB2mUF0efTwM3eANGwCAYorwF8xSu8rtylzxH/BAiXkQBKAN5/MXYsN/gHugCfRDyO9RCXKAU1IFUh0bHO9AIeiDIEwoh6eASyDT5fJ6GzigYA1OUHw9SwDYaembz8xk4DjHDwRRSAVpBLMufBf2gFwyASU05CSAXFIN8EMM+nwHVEHPRaSFRoA1UKgS0g2Yw7ueQSganqGwuSJRdBUFzTggRInpACct/DMppCDlhYsh1gCyWf0XMR50YO+tIm0LEOXKzTokwqKwcKlu2EmpDQAtiBRtO8+Rqa8Gc4bCJtw5qqY556aNKjJYKf4Wk08SW7RjoDvYqDTHdVJdsrRCT7qsQF7nYWDacgi6CiZGHmWjLJYhx+SKklK0TYmLXhyGEqqe6vZZJbbMlJJpWbNnFlgdjTtiZM1T3rJRdh16JtiOkgIUd7Q57J1/FjFIbvJZKbdQKKWO90RwBUXoz65UynZBEimK91h/Aiu1kr4xTW7yWh+GVaCUkm4XivRG0d+pl8zjbSkgOW/wGIkjIAFskc6yEbJeeR2xEsaEcXpPUJlVblwhJY7GPzmLJi0RZfGctYRVZpyq2BmbxmKqtysnutTFNoRnkCN7Sm0oy8TbfCZX3S6LfijLGMYEzNHWOmbR1iZA46XlKU+gZsIaet9LCxXuiRkrXKHqmnH5rUFlnNHVOmbTVMmj8p46KVih2fMquU1gT+EnPr2lTJNsP0CKlWyhPtg76rUFlNWnqjJeep03PtWBf6YDA0ExQYS9om7oRfDSJxcQW9oIkzFDUJ7zPJvAJnmlGU2eK9Oy2EvJe+vJOGz06Q8c4VvZD8/mcjTLk7bDX3lgNrVfMva2OlDkAj5agWOdMhTxh6b0RNJ9zWXsHrYQMsLF+JIKEFEvP4mh1yErIBLjP9iYbImBYCaeSL2Xdg2Nw69aKTulZHJidjoDeOGUsPrzrsrPo3QYfpPQJsDmMvbGNHUkJD9dnR4gYfw1SemW45gpERNGiKfdGo+r6wSwMcbP0tzB1iHih8hGqOKnv8SWeKmQbrLth6I2j+HOWLb7Hze5OVEJi2CnFIwrDQy2ik2VXW92ZqK7K9rAV/UaI50QD64mFIyndXYlKyGGWvsXS68B+sB5cZR4uELO6VqjyNYwX6QNS+rmISinCPUlhwRdwGZynrWdrgItmMpUxrBAhDuZK/bnoyaI5IYfqopBdmnJmybeLHnpAEYKVOX71xofWIcW+3I6JhhQR3hD7JYXwbvJ8Qb0M5UKKNN+foDd/k3aQ9Sarfho/5bBhjl5PzyrEiTlxB1wDD9l2WHz3oPH3Umaf5ljIMIkiHPmHAd7oenJ/n8F18lhPjcUnfLwh14nVNO53gx1gCx33xEh7bMt/4QjIdf//N6f/QoJjfwQYAO7HWv+VZh1tAAAAAElFTkSuQmCC');
}

.icon-download {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjQ5OTczMUJCMzRCNjExRUJCMzlCQ0M0NTYwQUJENzUxIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjQ5OTczMUJDMzRCNjExRUJCMzlCQ0M0NTYwQUJENzUxIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6NDk5NzMxQjkzNEI2MTFFQkIzOUJDQzQ1NjBBQkQ3NTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NDk5NzMxQkEzNEI2MTFFQkIzOUJDQzQ1NjBBQkQ3NTEiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz5PeVp1AAAB50lEQVR42uyaMUvDQBTHU3Gxgy10KaKLIIhYEckgVVDo5iIUFFepX0Ckk2v9CF10cOxQKbg3kMEWB+lQF0FcBbfSQekU/4FXPNNc2pikPct78INLcknfj8u7S0hjlmVp0xAz2pQEi6gWs84dsVonzOtvgFtqn4L2sBOsfFLJESmBLaL0n2+teUmba4RFWIRFWIRFWIRFWIRFWIRFpvdVN0DsgkswJ+zbdLRNYfsLXIEH1UQqYNHjeALsOfatgyW+tSISOR/TOZGL3IGyj/5lOkfJWesCtEbo16K+yk6/PXAMuh59utSnF7WIDuo0C6X+cM03UPA4XqA+viJW66RABdSBPorINciBE1AMuV6C1EWRcspRjkNFloV2OsR6CVoXaUmOoS+IbvVyQKu3Rqt+L6ofi1LEjg9wxg+NLPIzz/cjrlCucUmOUpF3oZ1RSCQjyVEq8ii0V0F20gZYALOUi1uOUpGqY/uG3iUmJZGgHLxydBVpAEPYXgPNSYwMjUSTcuiHYeWTjYG+zn8+0FfdFfCkDX73ewHP4HMMhZ1x3E79Itch8jqqiB374F6L+COmj7AlDiFh+l1HTHoSNhSQMGgkTOlt6DEiYuyAI7ANFsYwSl2aYu3ZqepWE0NF+BGFRVjkV3wLMAAWu2/fjoBYkwAAAABJRU5ErkJggg==');
}

.icon-close {
  background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xml%3Aspace%3D%22preserve%22%20width%3D%22378px%22%20height%3D%22378px%22%20version%3D%221.1%22%20style%3D%22shape-rendering%3AgeometricPrecision%3B%20text-rendering%3AgeometricPrecision%3B%20image-rendering%3AoptimizeQuality%3B%20fill-rule%3Aevenodd%3B%20clip-rule%3Aevenodd%22%20viewBox%3D%220%200%20130104%20130104%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%3E%0D%0A%09%3Cpath%20fill%3D%22%2300adef%22%20d%3D%22M65009%2054984l53085%20-52925c2330%2C-2139%203141%2C-2151%205630%2C-1998%203669%2C517%203878%2C1463%204788%2C2625%202102%2C2680%202311%2C6109%20-559%2C9207l-53085%2052919%2053146%2052981c4837%2C5230%20-2532%2C16570%20-9858%2C9828l-53147%20-52981%20-53140%2052981c-3909%2C3589%20-4948%2C2458%20-7277%2C1635%20-4395%2C-1562%20-6017%2C-7757%20-2588%2C-11463l53147%20-52981%20-53086%20-52919c-1247%2C-1346%20-1419%2C-1875%20-1727%2C-2852%20-1290%2C-4118%201224%2C-8697%206516%2C-9017%20190%2C7%20374%2C7%20559%2C13%202766%2C276%203202%2C817%204511%2C2022l53085%2052925z%22%2F%3E%0D%0A%3C%2Fsvg%3E');
}

.icon-whatsapp {
  background-image: url('data:image/svg+xml;charset=utf-8,%3Csvg%20height%3D%22682pt%22%20viewBox%3D%22-23%20-21%20682%20682.66669%22%20width%3D%22682pt%22%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%3E%0D%0A%09%3Cpath%20d%3D%22m544.386719%2093.007812c-59.875-59.945312-139.503907-92.9726558-224.335938-93.007812-174.804687%200-317.070312%20142.261719-317.140625%20317.113281-.023437%2055.894531%2014.578125%20110.457031%2042.332032%20158.550781l-44.992188%20164.335938%20168.121094-44.101562c46.324218%2025.269531%2098.476562%2038.585937%20151.550781%2038.601562h.132813c174.785156%200%20317.066406-142.273438%20317.132812-317.132812.035156-84.742188-32.921875-164.417969-92.800781-224.359376zm-224.335938%20487.933594h-.109375c-47.296875-.019531-93.683594-12.730468-134.160156-36.742187l-9.621094-5.714844-99.765625%2026.171875%2026.628907-97.269531-6.269532-9.972657c-26.386718-41.96875-40.320312-90.476562-40.296875-140.28125.054688-145.332031%20118.304688-263.570312%20263.699219-263.570312%2070.40625.023438%20136.589844%2027.476562%20186.355469%2077.300781s77.15625%20116.050781%2077.132812%20186.484375c-.0625%20145.34375-118.304687%20263.59375-263.59375%20263.59375zm144.585938-197.417968c-7.921875-3.96875-46.882813-23.132813-54.148438-25.78125-7.257812-2.644532-12.546875-3.960938-17.824219%203.96875-5.285156%207.929687-20.46875%2025.78125-25.09375%2031.066406-4.625%205.289062-9.242187%205.953125-17.167968%201.984375-7.925782-3.964844-33.457032-12.335938-63.726563-39.332031-23.554687-21.011719-39.457031-46.960938-44.082031-54.890626-4.617188-7.9375-.039062-11.8125%203.476562-16.171874%208.578126-10.652344%2017.167969-21.820313%2019.808594-27.105469%202.644532-5.289063%201.320313-9.917969-.664062-13.882813-1.976563-3.964844-17.824219-42.96875-24.425782-58.839844-6.4375-15.445312-12.964843-13.359374-17.832031-13.601562-4.617187-.230469-9.902343-.277344-15.1875-.277344-5.28125%200-13.867187%201.980469-21.132812%209.917969-7.261719%207.933594-27.730469%2027.101563-27.730469%2066.105469s28.394531%2076.683594%2032.355469%2081.972656c3.960937%205.289062%2055.878906%2085.328125%20135.367187%20119.648438%2018.90625%208.171874%2033.664063%2013.042968%2045.175782%2016.695312%2018.984374%206.03125%2036.253906%205.179688%2049.910156%203.140625%2015.226562-2.277344%2046.878906-19.171875%2053.488281-37.679687%206.601563-18.511719%206.601563-34.375%204.617187-37.683594-1.976562-3.304688-7.261718-5.285156-15.183593-9.253906zm0%200%22%20fill-rule%3D%22evenodd%22%20fill%3D%22%2300adef%22%20%2F%3E%0D%0A%3C%2Fsvg%3E');
}

.icon-more {
  background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAZCAYAAADE6YVjAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4RpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2YzQ2MjZiOC0zZTE0LTk0NDUtODU1NS0xMWQzN2NkOTNkYTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6MUEzQ0IwNjY4OEE5MTFFQjkxMzZDNjg1NkJBOTJFRTkiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6MUEzQ0IwNjU4OEE5MTFFQjkxMzZDNjg1NkJBOTJFRTkiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTkgKFdpbmRvd3MpIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MTc0MmRhYTctZmFmOS1hMTQxLTljYjgtODA3MDcxODhlOGQ1IiBzdFJlZjpkb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6MjNkN2YyMjktODNmZC0zYjQyLTg4ZDUtMDkyNzk0NjU4MGVjIi8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+CmMoJwAAAkdJREFUeNq8lktIFVEYx+9Y9NQeIhfy0qLWRpRBi0BRqMAgqEWFUEFBhYsWQQYuogc90NoVBbXpXYskiErSKIseUBtbB0GYhSR1MbKFMP0++E8Mh5kzc8E68OO75zHnP9833/nODcIwLPzrNj3o/ZG1pgRrYDkshgCGYQhehZsXfMoU8cw1wEHY4duAl7yJ6UZsKHVN4e73pPET0KXf43Ad3sEXjS2CldAOCzXWg1BnXpE+WA+/oAOugu/DbYdzMA+eItTqLqhy+o8lMAD1cCVDoMCm1/TdHkIL4Rv0iRyDtfBCtpw3exD6CRv4+QSaEOpOCldJGTMhtycrEHATwdJ1Pixl7mPck1Oy+1IEfitsLkltT5QIcU9qsWPyYk7Kg5amRWfMEmOj64m8KSsiJeZH7Jys09wtT1TaKzzkttdeaIPLFq5GTbz0PDSh8EzK6zAj657LLotOfL0Gvma8WR00g4XXSslrz/oR2aKbwoHnoV0Wf7it/knY5qs27jkZjpWKrFYtW5ujqP6Njom81UBzDpEgh9fWWmTfRyL9GtgyhVfIVtkHkYjl9CWYobTztRrZ2Z7SvxMzF25wRkbjHz4q6+djGyW1UZX+corALMwFdTvdAvlNg9Ng0COyWyf5TMr8M3l5xE56UhW2WnMPVsCbnNkWeVBUiV8NjxA46rtPNkGvFtub7PfUM2sz2bxDqdoE9xFoy3v9HoLTsf4dpfpn9a1KrFIWRS96GIHjldzx1pbAAV3BVR5vLsJZBD6khvN//O/6I8AAc/Kjs9nRZ8QAAAAASUVORK5CYII=');
}

a {
  color: #00adef;
  text-decoration: none;
  outline: none !important;
}

a:hover, a:focus {
  color: #0076a3;
  text-decoration: none;
}

.link--block {
  display: block;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
.clearfix:before, .clearfix:after {
  display: table;
  content: " ";
}

.clearfix:after {
  clear: both;
}

.pull-right {
  float: right;
}

.pull-left {
  float: left;
}

.hidden {
  display: none !important;
}

img {
  vertical-align: middle;
  display: block;
  max-width: 100%;
  height: auto;
}

.img--cover {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}

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

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

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

[data-role="lazyimg"] {
  position: relative;
}

[data-role="lazyimg"]::before {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 2.5rem;
  height: 2.5rem;
  background-size: 100% 100%;
  background-image: url('data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22margin%3A%20auto%3B%20background%3A%20none%3B%20display%3A%20block%3B%20shape-rendering%3A%20auto%3B%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22xMidYMid%22%3E%0A%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2240%22%20stroke-width%3D%225%22%20stroke%3D%22%2300adef%22%20stroke-dasharray%3D%2262.83185307179586%2062.83185307179586%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%0A%20%20%3CanimateTransform%20attributeName%3D%22transform%22%20type%3D%22rotate%22%20repeatCount%3D%22indefinite%22%20dur%3D%221s%22%20keyTimes%3D%220%3B1%22%20values%3D%220%2050%2050%3B360%2050%2050%22%3E%3C%2FanimateTransform%3E%0A%3C%2Fcircle%3E%0A%3C!--%20%5Bldio%5D%20generated%20by%20https%3A%2F%2Floading.io%2F%20--%3E%3C%2Fsvg%3E');
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

[data-role="lazyimg"] img {
  opacity: 0;
  -webkit-transition: opacity 1s;
  transition: opacity 1s;
}

[data-role="lazyimg"].loaded::before {
  opacity: 0;
}

[data-role="lazyimg"].loaded img {
  opacity: 1;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .row {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
  }
  [class^="col-"] {
    float: none;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
html,
body {
  height: 100%;
}

body {
  min-width: 20rem;
  overflow-x: hidden;
}

.container {
  width: auto;
}

/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 1200px) {
  body {
    padding-left: 12.5rem;
  }
  .container {
    max-width: 76.25rem;
  }
}

/*
	styles for Desktop
 -------------------------------------------------------------------- */
@media (min-width: 992px) and (max-width: 1199px) {
  body {
    padding-left: 12.5rem;
  }
  .container {
    max-width: 60rem;
  }
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phone
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  body {
    padding-left: 3.75rem;
  }
  .container {
    max-width: 46.25rem;
  }
}

/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .container {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
}

.consultant {
  position: fixed;
  z-index: 9;
}

.consultant .links a {
  -webkit-transition: color .3s;
  transition: color .3s;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .consultant .icon {
    width: 1.5625rem;
    height: 1.5625rem;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 992px) {
  .consultant {
    padding: 0.625rem;
    top: 50%;
    left: 0.625rem;
    -webkit-transform: translateY(-50%) scale(0.9);
            transform: translateY(-50%) scale(0.9);
    -webkit-transform-origin: 0 0;
            transform-origin: 0 0;
  }
  .consultant .ava {
    width: 13.125rem;
    height: 18.125rem;
    margin: 0 auto -3.1875rem;
    position: relative;
    z-index: 0;
  }
  .consultant .title {
    font-size: 1.25rem;
    line-height: 1.4375rem;
    width: 11.875rem;
    position: relative;
    z-index: 1;
    background: #0083ea;
    padding: 0.5rem 0.625rem;
    text-align: center;
    margin: 0 auto 1.75rem;
    font-weight: 700;
    border-radius: 0.4375rem;
  }
  .consultant .more {
    width: 15.0625rem;
    height: 3.6875rem;
    border-radius: 1.875rem;
    font-size: 1.125rem;
    line-height: 1.25rem;
    padding: 0.625rem 0 0.5rem;
    background: #0083ea;
    color: white;
    text-align: center;
    margin: 0 auto;
    font-weight: 700;
    -webkit-transition: background .3s;
    transition: background .3s;
  }
  .consultant .more:hover {
    background: #0075d1;
  }
  .consultant .links {
    position: relative;
    left: -0.5625rem;
    font-size: 0.9375rem;
    line-height: 0.9375rem;
    width: 7.5rem;
    margin: 0 auto 1.875rem;
  }
  .consultant .links a {
    display: inline-block;
  }
  .consultant .links a > * {
    display: inline-block;
    vertical-align: middle;
  }
  .consultant li {
    white-space: nowrap;
    margin-bottom: 1.3125rem;
    position: relative;
  }
  .consultant li:nth-child(1) {
    margin-bottom: 1.1875rem;
  }
  .consultant li:nth-child(2) {
    line-height: 1.25rem;
    margin-bottom: 0.9375rem;
  }
  .consultant .icon {
    margin-right: 0.4375rem;
  }
  .consultant .icon-phone {
    top: -0.25rem;
  }
  .consultant .icon-more {
    top: -0.125rem;
  }
}

/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  .consultant {
    top: 27.5rem;
    left: 1.25rem;
  }
  .consultant li {
    margin-bottom: 1.25rem;
  }
}

/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .consultant {
    right: 0.8125rem;
    top: 15.9375rem;
  }
  .consultant li {
    margin-bottom: 1.6875rem;
  }
  .consultant .icon {
    width: 1.6875rem;
    height: 1.6875rem;
  }
}

.section {
  position: relative;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
.promo-bg {
  background-size: 100% 100%;
}

.promo-logo {
  background-size: 100% 100%;
}

.promo-text {
  font-weight: 700;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .s--promo {
    padding-top: 3.1875rem;
  }
  .s--promo .container {
    position: relative;
    z-index: 1;
  }
  .promo-bg {
    position: absolute;
    top: 0;
    background-image: url(../img/promo-bg-2026-2.jpg);
    z-index: 0;
  }
}

@media all and (min-width: 768px) and (-webkit-min-device-pixel-ratio: 1.5), all and (min-width: 768px) and (-o-min-device-pixel-ratio: 3 / 2), all and (min-width: 768px) and (min--moz-device-pixel-ratio: 1.5), all and (min-width: 768px) and (min-device-pixel-ratio: 1.5) {
  .promo-bg {
    background-image: url(../img/promo-bg-2026-2@2x.jpg);
  }
}

@media (min-width: 768px) {
  .promo-logo {
    margin-bottom: 2.5625rem;
    background-image: url(../img/logo.png);
  }
  .promo-title {
    margin-bottom: 1.8125rem;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 992px) {
  .s--promo {
    min-height: 39.375rem;
  }
  .promo-logo {
    width: 18.125rem;
    height: 4.6875rem;
  }
  .promo-title,
  .promo-text {
    margin-left: 2.375rem;
  }
}

/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 1200px) {
  .promo-bg {
    width: 65.6875rem;
    height: 39.375rem;
    left: calc(50% - 12.5rem);
    background-size: cover;
    background-position: center;
  }
}

/*
	styles for Desktop
 -------------------------------------------------------------------- */
@media (min-width: 992px) and (max-width: 1199px) {
  .promo-bg {
    width: 56.25rem;
    height: 31.78251rem;
    left: calc(50% - 5.875rem);
  }
}

/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  .s--promo {
    min-height: 28.125rem;
    margin-left: -3.75rem;
  }
  .promo-bg {
    width: 43.125rem;
    height: 24.36659rem;
    left: calc(50% - 6.25rem);
  }
  .promo-logo {
    width: 15.625rem;
    height: 4.04095rem;
  }
  .promo-title,
  .promo-text {
    margin-left: 1.25rem;
  }
}

/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .promo-bg {
    height: 12.5rem;
    background-image: url(../img/promo-bg-phone-2026-2.jpg);
    margin-bottom: 1.6875rem;
  }
}

@media all and (max-width: 767px) and (-webkit-min-device-pixel-ratio: 1.5), all and (max-width: 767px) and (-o-min-device-pixel-ratio: 3 / 2), all and (max-width: 767px) and (min--moz-device-pixel-ratio: 1.5), all and (max-width: 767px) and (min-device-pixel-ratio: 1.5) {
  .promo-bg {
    background-image: url(../img/promo-bg-phone-2026-2@2x.jpg);
    position: relative;
  }
}

@media (max-width: 767px) {
  .promo-logo {
    width: 11.5625rem;
    height: 2.875rem;
    margin-bottom: 1.3125rem;
    background-image: url(../img/logo-phone.png);
  }
  .promo-title {
    margin-bottom: 0.75rem;
  }
  .promo-text {
    margin-left: 0.125rem;
  }
}

.benefits-item .img {
  position: relative;
}

.benefits-item .text {
  font-weight: 700;
}

.benefits-item b {
  color: #00adef;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .s--benefits {
    padding: 3.25rem 0 4.9375rem;
  }
  .benefits-title {
    margin-bottom: 7.625rem;
  }
  .benefits-item {
    position: relative;
    margin-bottom: 6.25rem;
  }
  .benefits-item .row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .benefits-item:nth-child(odd) [class^="col-"]:nth-child(1) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
  .benefits-item:nth-child(even) [class^="col-"]:nth-child(1) {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2;
  }
  .benefits-item:nth-child(even) [class^="col-"]:nth-child(2) {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1;
    text-align: right;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 992px) {
  .benefits-item .title {
    margin-bottom: 2.25rem;
  }
  .benefits-item:nth-child(1) .img {
    width: 13.75rem;
    height: 13.75rem;
    top: 0.75rem;
  }
  .benefits-item:nth-child(2) {
    top: 2.375rem;
  }
  .benefits-item:nth-child(2) .img {
    width: 25rem;
    height: 12.5rem;
    top: -0.375rem;
  }
  .benefits-item:nth-child(3) {
    top: 1.6875rem;
  }
  .benefits-item:nth-child(3) .img {
    width: 27.1875rem;
    height: 15.625rem;
    top: -0.875rem;
  }
  .benefits-item:nth-child(4) {
    top: 1.125rem;
  }
  .benefits-item:nth-child(4) .img {
    width: 26.5625rem;
    height: 14.0625rem;
  }
  .benefits-item:nth-child(5) {
    top: 2.0625rem;
  }
  .benefits-item:nth-child(5) .img {
    width: 23.75rem;
    height: 17.1875rem;
    top: -1.5625rem;
  }
  .benefits-item:nth-child(6) {
    top: 2.125rem;
  }
  .benefits-item:nth-child(6) .img {
    width: 25.625rem;
    height: 17.1875rem;
    top: -2.3125rem;
  }
  .benefits-item:nth-child(7) {
    top: 2.0625rem;
  }
  .benefits-item:nth-child(7) .img {
    width: 24.0625rem;
    height: 16.25rem;
    top: -2.8125rem;
  }
  .benefits-item:nth-child(8) {
    top: 0.8125rem;
  }
  .benefits-item:nth-child(8) .img {
    width: 26.25rem;
    height: 12.8125rem;
    top: 0.3125rem;
  }
}

/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
@media (min-width: 1200px) {
  .benefits-item .row {
    margin: 0 -4.375rem;
  }
  .benefits-item [class^="col-"] {
    padding: 0 4.375rem;
  }
  .benefits-item:nth-child(1) .img {
    left: 1.6875rem;
  }
  .benefits-item:nth-child(3) .img {
    left: 2.5rem;
  }
  .benefits-item:nth-child(4) .img {
    left: -1.875rem;
  }
  .benefits-item:nth-child(5) .img {
    left: 3.75rem;
  }
  .benefits-item:nth-child(6) .img {
    left: -2.125rem;
  }
  .benefits-item:nth-child(7) .img {
    left: 2.8125rem;
  }
  .benefits-item:nth-child(8) .img {
    left: -2.25rem;
  }
}

/*
	styles for Desktop
 -------------------------------------------------------------------- */
@media (min-width: 992px) and (max-width: 1199px) {
  .benefits-item {
    margin-bottom: 5rem;
  }
  .benefits-item .row {
    margin: 0 -2.5rem;
  }
  .benefits-item [class^="col-"] {
    padding: 0 2.5rem;
  }
}

/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  .benefits-item .row {
    margin: 0 -1.875rem;
  }
  .benefits-item [class^="col-"] {
    padding: 0 1.875rem;
  }
  .benefits-item .title {
    margin-bottom: 1.25rem;
  }
  .benefits-item:nth-child(1) .img {
    width: 10.375rem;
    height: 10.375rem;
  }
  .benefits-item:nth-child(2) .img {
    width: 18.8125rem;
    height: 9.40625rem;
  }
  .benefits-item:nth-child(3) .img {
    width: 20.4375rem;
    height: 11.74569rem;
  }
  .benefits-item:nth-child(4) .img {
    width: 20rem;
    height: 10.58824rem;
  }
  .benefits-item:nth-child(5) .img {
    width: 17.875rem;
    height: 12.93586rem;
  }
  .benefits-item:nth-child(6) .img {
    width: 19.3125rem;
    height: 12.95351rem;
  }
  .benefits-item:nth-child(7) .img {
    width: 18.125rem;
    height: 12.24026rem;
  }
  .benefits-item:nth-child(8) .img {
    width: 19.75rem;
    height: 9.63988rem;
  }
}

/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .s--benefits {
    padding: 5rem 0 6.25rem;
  }
  .benefits-title {
    margin-bottom: 6.25rem;
  }
  .benefits-item {
    text-align: center;
  }
  .benefits-item .title {
    margin-bottom: 0.9375rem;
  }
  .benefits-item .img {
    margin: 0 auto;
  }
  .benefits-item:nth-child(1) {
    margin-bottom: 5.8125rem;
  }
  .benefits-item:nth-child(1) .img {
    width: 6.5625rem;
    height: 6.5625rem;
    top: auto;
    left: auto;
    margin-bottom: 2rem;
  }
  .benefits-item:nth-child(2) {
    margin-bottom: 4.625rem;
  }
  .benefits-item:nth-child(2) .img {
    width: 12.0625rem;
    height: 6.03125rem;
    margin-bottom: 1.9375rem;
  }
  .benefits-item:nth-child(3) {
    margin-bottom: 5.5rem;
  }
  .benefits-item:nth-child(3) .img {
    width: 13.0625rem;
    height: 7.50718rem;
    left: -0.375rem;
    margin-bottom: 1.625rem;
  }
  .benefits-item:nth-child(4) {
    margin-bottom: 5.625rem;
  }
  .benefits-item:nth-child(4) .img {
    width: 12.3125rem;
    height: 6.51838rem;
    margin-bottom: 1.875rem;
  }
  .benefits-item:nth-child(5) {
    margin-bottom: 4.6875rem;
  }
  .benefits-item:nth-child(5) .img {
    width: 12.3125rem;
    height: 8.91036rem;
    margin-bottom: 1.75rem;
  }
  .benefits-item:nth-child(6) {
    margin-bottom: 4.25rem;
  }
  .benefits-item:nth-child(6) .img {
    width: 12.3125rem;
    height: 8.25838rem;
    margin-bottom: 1.875rem;
  }
  .benefits-item:nth-child(7) {
    margin-bottom: 5.3125rem;
  }
  .benefits-item:nth-child(7) .img {
    width: 12.625rem;
    height: 8.52597rem;
    margin-bottom: 1.875rem;
  }
  .benefits-item:nth-child(8) .img {
    width: 12.6875rem;
    height: 6.19271rem;
    margin-bottom: 1.9375rem;
  }
}

.s--terms::before {
  content: '';
  display: block;
  margin: 0 auto;
  background-size: 100% 100%;
}

.terms-item {
  font-weight: 700;
}

.terms-item .value {
  color: #00adef;
  line-height: 1;
  position: relative;
  display: inline-block;
}

.terms-item .value > * {
  display: inline-block;
  vertical-align: middle;
}

.terms-item .value div {
  display: block;
  position: relative;
  left: 0.3125rem;
}

.terms-item .title::before {
  content: '';
  display: block;
  margin: 0 auto;
  border-top: 1px solid white;
}

.terms-item sub {
  bottom: auto;
  position: absolute;
}

.terms-item strong {
  letter-spacing: -.1em;
}

.terms-item small {
  position: absolute;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .s--terms::before {
    margin-bottom: 7.5625rem;
    width: 30rem;
    height: 0.125rem;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAACCAYAAACALw+oAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA4NpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo2YzQ2MjZiOC0zZTE0LTk0NDUtODU1NS0xMWQzN2NkOTNkYTIiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6Qjg0QkUzODEzNEFGMTFFQjhEQUVCODVDQzRGNDgzRDciIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6Qjg0QkUzODAzNEFGMTFFQjhEQUVCODVDQzRGNDgzRDciIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDplZTQ2ZTVlYy0wNDI3LTQxZjgtYTlkYi02MTMxMGI2ODMyNDgiIHN0UmVmOmRvY3VtZW50SUQ9ImFkb2JlOmRvY2lkOnBob3Rvc2hvcDo4NDRlYzFmNi1hMmYxLTc3NDItOTQxOC0zYzVjNDAyOTRkYzciLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7OmbRGAAABVklEQVR42uyXaW5DIQyE87ZT5A69/93e1k6kD02nQNR/rYQlC3u8AEbPTqbn8/nx+KJpmh41El6zzfP8DUd3Fua468uyFF28rmvBtIrx27atYLAwfCV7vGRYNuVBJx6b5ySW3KzI1CP3505+P+WRLJIPscRQM3xku++75HP/rH/WuEWtt2Mv19M+aNCgv0d8t/kN/0Ym9rqu1wqOnDHygyQT5/HIx3H8yCfbeZ5lFYYOu105RFr3fS826fjgJ0bGTzGOE+tY5vWciXOvPEftHl4jYrMWYJJnL6wX35uwP4hj+aAZm4/5LpezP3pPZy8vQPq1bBQoB47XAvZiZpHzbP4wPtQYuP4ovpcP5FqtcsiLcp/eR9sb0s6DBg3638O51T96/cB7QK2/e8/1Pwf00MR6/T3Pkj3TB1VvrnjPqs0Fnw+tHxqtHx6tWdTrr+9yOaazfQowAJLGS7HeCDz+AAAAAElFTkSuQmCC');
  }
  .terms-title {
    margin-bottom: 4.125rem;
  }
  .terms-list [class^="col-"]:nth-child(1) .value {
    left: -0.3125rem;
  }
  .terms-list [class^="col-"]:nth-child(3) .value {
    left: -0.1875rem;
  }
  .terms-list [class^="col-"]:nth-child(4) .value {
    font-size: 2.6875rem;
    padding-top: 1.0625rem;
  }
  .terms-item {
    margin-bottom: 6.25rem;
  }
  .terms-item .value {
    font-size: 1.4375rem;
    height: 7.875rem;
  }
  .terms-item .value div {
    margin-top: -0.375rem;
  }
  .terms-item .title::before {
    margin-bottom: 2.5625rem;
    width: 2.6875rem;
  }
  .terms-item sub {
    top: 2.625rem;
    font-size: 2.25rem;
    left: -2.1875rem;
  }
  .terms-item strong {
    font-size: 5.5rem;
  }
  .terms-item small {
    top: 1.125rem;
    font-size: 3.125rem;
    right: -2.9375rem;
  }
  .terms-item .icon {
    width: 2.8125rem;
    height: 3.4375rem;
    left: 0.1875rem;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
@media (min-width: 992px) and (max-width: 1199px) {
  .terms-list [class^="col-"]:nth-child(3) {
    left: -1.25rem;
  }
}

/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 991px) {
  .terms-list {
    max-width: 36.25rem;
    margin: 0 auto;
  }
}

/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .s--terms {
    padding-bottom: 2.75rem;
  }
  .s--terms::before {
    margin-bottom: 5.5rem;
    width: 14.5rem;
    height: 0.0625rem;
    background-image: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAdAAAAACCAYAAADo3I2QAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyZpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTM4IDc5LjE1OTgyNCwgMjAxNi8wOS8xNC0wMTowOTowMSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTcgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjBDMkVDMEVEMzY0NzExRUJCRUVGOTAxNUVGNzY2RDc4IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOjBDMkVDMEVFMzY0NzExRUJCRUVGOTAxNUVGNzY2RDc4Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6MEMyRUMwRUIzNjQ3MTFFQkJFRUY5MDE1RUY3NjZENzgiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6MEMyRUMwRUMzNjQ3MTFFQkJFRUY5MDE1RUY3NjZENzgiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz7wBoWPAAABWklEQVR42uyXW27FIAxE81xFttD9by6vdiIdNHdKkr+qH1iysMfGgAn2vf2yLF9d1w1933c1Ep426cMw/NLxhcdxLLLs+AhHlzxNU5HdJnye5w+bdHwkuy5/mHnoPt8xYoOzH+2T2Od5lvWI42dDBhcxcnbHySejY5w9idzVbE93Ba4zuJ72Ro0a/T3xLvON1uQaxts9juNi94V9jnygfd8Lhi+ybOKcK8zHO1njtm3X3HVdL3YcWSwbODaNjoOJwWR3G/FSZm+O+9l9/54HcM+n5/hHPko19slZVP0SPFheoLC3eUm+bu3SM67rYg5e21/N5onKvWYO/CPiA/eLJ8bdev7DwZL+sQ6N8S5HNF988sN+epRPTda5UaNG/6+x3jVXr7tZL2vvvBZLNSj/3NTqVjbwWp32/dF8qYNeD7NnECNrUdZ498+G9vaDIZveW66f4iSmfX0LMAAoZD275/VTGQAAAABJRU5ErkJggg==');
  }
  .terms-title {
    margin-bottom: 5.25rem;
  }
  .terms-list [class^="col-"]:nth-child(1) .value {
    left: -0.375rem;
  }
  .terms-list [class^="col-"]:nth-child(2) .value {
    margin-bottom: 2rem;
  }
  .terms-list [class^="col-"]:nth-child(3) .value {
    margin-bottom: 1.6875rem;
  }
  .terms-list [class^="col-"]:nth-child(4) .value {
    font-size: 2.25rem;
  }
  .terms-item {
    margin-bottom: 4.8125rem;
  }
  .terms-item .value {
    font-size: 1.1875rem;
    margin-bottom: 2.1875rem;
  }
  .terms-item .value div {
    margin-top: -0.3125rem;
  }
  .terms-item .title {
    font-size: 1.25rem;
    line-height: 1.5rem;
  }
  .terms-item .title::before {
    margin-bottom: 1.375rem;
    width: 2.1875rem;
  }
  .terms-item sub {
    top: 2.1875rem;
    font-size: 1.875rem;
    left: -1.8125rem;
  }
  .terms-item strong {
    font-size: 4.5625rem;
  }
  .terms-item small {
    top: 0.9375rem;
    font-size: 2.625rem;
    right: -2.4375rem;
  }
  .terms-item .icon {
    width: 2.25rem;
    height: 2.75rem;
  }
}

.s--video {
  background: white;
  color: black;
}

.video {
  position: relative;
  overflow: hidden;
  border-radius: 1rem;
}

.video > * {
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
}

video {
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  display: block;
  text-align: center;
  width: 100%;
  height: 100%;
  min-height: 100%;
  min-width: 100%;
  position: absolute;
  left: 0;
  top: 0;
}

video:focus {
  outline: none;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .s--video {
    padding: 5.25rem 0 8.6875rem;
  }
  .s--video::before {
    content: '';
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
    left: -100%;
    background: inherit;
    z-index: -1;
  }
  .video-title {
    margin-bottom: 4.3125rem;
  }
  .video-content {
    margin: 0 auto;
    max-width: 54.375rem;
  }
  .video {
    padding-bottom: 56.2068965517%;
    -webkit-box-shadow: 0 33px 40px 0 rgba(0, 0, 0, 0.22);
            box-shadow: 0 33px 40px 0 rgba(0, 0, 0, 0.22);
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .s--video {
    padding: 1.875rem 0 8rem;
  }
  .s--video::after {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    height: 5.125rem;
    bottom: 0;
    background: #1a1a1a;
  }
  .video-title {
    margin-bottom: 2.0625rem;
  }
  .video {
    padding-bottom: 56.2068965517%;
  }
}

button {
  cursor: pointer;
  outline: none !important;
}

.btn,
.btn--unstyled {
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 0;
  font-weight: normal;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  cursor: pointer;
  outline: none !important;
  text-decoration: none !important;
  line-height: 1.428571428571429;
  line-height: normal;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  white-space: nowrap;
  background-image: none;
}

.btn--unstyled {
  padding: 0;
  border: 0;
  background: none;
}

.btn {
  text-align: center;
  border: 0.0625rem solid transparent;
  -webkit-transition-property: background-color, color, -webkit-box-shadow;
  transition-property: background-color, color, -webkit-box-shadow;
  transition-property: box-shadow, background-color, color;
  transition-property: box-shadow, background-color, color, -webkit-box-shadow;
  -webkit-transition-duration: .2s;
          transition-duration: .2s;
  position: relative;
  border-radius: 0.3125rem;
  font-weight: 700;
}

.btn > * {
  display: inline-block;
  vertical-align: middle;
}

.btn:active:not([disabled]), .btn.active:not([disabled]) {
  -webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
          box-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
}

.btn[disabled] {
  opacity: .9;
  pointer-events: none;
}

a.btn.disabled,
fieldset[disabled] a.btn {
  pointer-events: none;
}

.btn--block {
  display: block;
  width: 100%;
}

input[type="submit"].btn--block,
input[type="button"].btn--block {
  width: 100%;
}

.btn--submit::after {
  content: '';
  position: absolute;
  left: 50%;
  top: 50%;
  width: 2.5rem;
  height: 2.5rem;
  background-size: 100% 100%;
  -webkit-transform: translate(-50%, -50%) scale(0);
          transform: translate(-50%, -50%) scale(0);
  background-image: url('data:image/svg+xml;charset=utf-8,%3C%3Fxml%20version%3D%221.0%22%20encoding%3D%22utf-8%22%3F%3E%0A%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20xmlns%3Axlink%3D%22http%3A%2F%2Fwww.w3.org%2F1999%2Fxlink%22%20style%3D%22margin%3A%20auto%3B%20background%3A%20none%3B%20display%3A%20block%3B%20shape-rendering%3A%20auto%3B%22%20width%3D%22200px%22%20height%3D%22200px%22%20viewBox%3D%220%200%20100%20100%22%20preserveAspectRatio%3D%22xMidYMid%22%3E%0A%3Ccircle%20cx%3D%2250%22%20cy%3D%2250%22%20r%3D%2240%22%20stroke-width%3D%225%22%20stroke%3D%22%23ffffff%22%20stroke-dasharray%3D%2262.83185307179586%2062.83185307179586%22%20fill%3D%22none%22%20stroke-linecap%3D%22round%22%3E%0A%20%20%3CanimateTransform%20attributeName%3D%22transform%22%20type%3D%22rotate%22%20repeatCount%3D%22indefinite%22%20dur%3D%221s%22%20keyTimes%3D%220%3B1%22%20values%3D%220%2050%2050%3B360%2050%2050%22%3E%3C%2FanimateTransform%3E%0A%3C%2Fcircle%3E%0A%3C!--%20%5Bldio%5D%20generated%20by%20https%3A%2F%2Floading.io%2F%20--%3E%3C%2Fsvg%3E');
  -webkit-transition: -webkit-transform .2s;
  transition: -webkit-transform .2s;
  transition: transform .2s;
  transition: transform .2s, -webkit-transform .2s;
  pointer-events: none;
}

.form--loading .btn--submit > span {
  opacity: 0;
}

.form--loading .btn--submit::after {
  -webkit-transform: translate(-50%, -50%) scale(1);
          transform: translate(-50%, -50%) scale(1);
}

.btn--primary {
  color: white;
  background: #00adef;
  border-color: #00adef;
}

.btn--primary:hover {
  background: #0076a3;
  border-color: #0076a3;
}

.btn--close {
  position: absolute;
  z-index: 2;
  right: 1.25rem;
  top: 1.25rem;
}

.btn--close .icon {
  width: 1.25rem;
  height: 1.25rem;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .btn {
    font-size: 1.25rem;
    padding: 0.9375rem 2.5rem;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .btn {
    font-size: 1rem;
    padding: 0.625rem 1.875rem;
  }
}

fieldset {
  padding: 0;
  margin: 0;
  border: 0;
  min-width: 0;
}

.form-control {
  display: block;
  width: 100%;
  padding: 0.375rem 0.75rem;
  line-height: 1.428571428571429;
  line-height: 1;
  line-height: normal;
  color: black;
  background-color: white;
  background-image: none;
  border: 0.0625rem solid #ddd;
  border-radius: 0.3125rem;
  -webkit-transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
  transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s, -webkit-box-shadow ease-in-out .15s;
  outline: none !important;
}

.form-control::-webkit-input-placeholder {
  color: #999;
}

.form-control::-moz-placeholder {
  color: #999;
}

.form-control:-ms-input-placeholder {
  color: #999;
}

.form-control::-ms-input-placeholder {
  color: #999;
}

.form-control::placeholder {
  color: #999;
}

.form-control::-ms-expand {
  border: 0;
  background-color: transparent;
}

.form-control:focus {
  border-color: #00adef;
  -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(0, 173, 239, 0.6);
          box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075), 0 0 8px rgba(0, 173, 239, 0.6);
}

textarea.form-control {
  height: auto;
  resize: vertical;
}

.form-group {
  margin-bottom: 0.9375rem;
}

form {
  position: relative;
}

.form--loading::after {
  content: '';
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 1;
}

.form-response {
  color: #1a1a1a;
  text-align: center;
  font-weight: 700;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .form-control {
    height: 3.125rem;
    font-size: 1.25rem;
  }
  .form-controls {
    padding-top: 1.25rem;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .form-control {
    height: 2.5rem;
    font-size: 1rem;
  }
  .form-controls {
    padding-top: 0.625rem;
  }
}

.modal-open {
  overflow: hidden;
}

.modal {
  display: none;
  overflow: hidden;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1050;
  -webkit-overflow-scrolling: touch;
  outline: 0;
}

.modal.fade .modal-dialog {
  -webkit-transform: translate(0, -25%);
          transform: translate(0, -25%);
  -webkit-transition: -webkit-transform .4s ease-out;
  transition: -webkit-transform .4s ease-out;
  transition: transform .4s ease-out;
  transition: transform .4s ease-out, -webkit-transform .4s ease-out;
}

.modal.in .modal-dialog {
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
}

.modal-open .modal {
  overflow-x: hidden;
  overflow-y: auto;
}

.modal-dialog {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.modal-content {
  position: relative;
  background: white;
  -webkit-box-shadow: 0 0 10px 10px rgba(0, 173, 239, 0.3);
          box-shadow: 0 0 10px 10px rgba(0, 173, 239, 0.3);
  background-clip: padding-box;
  outline: 0;
  border-radius: 0.625rem;
  width: 100%;
}

.modal-backdrop {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1040;
  background: black;
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.in {
  opacity: .7;
}

.modal-scrollbar-measure {
  position: absolute;
  top: -624.9375rem;
  width: 3.125rem;
  height: 3.125rem;
  overflow: scroll;
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
@media (min-width: 768px) {
  .modal-content {
    margin-left: auto;
    margin-right: auto;
    max-width: 37.5rem;
    padding: 5rem 2.5rem 2.5rem;
  }
}

/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
@media (max-width: 767px) {
  .modal-dialog {
    padding: 0.625rem;
  }
  .modal-content {
    padding: 3.75rem 1.25rem 1.875rem;
  }
}

/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Large Desktops
 -------------------------------------------------------------------- */
/*
	styles for Desktop
 -------------------------------------------------------------------- */
/*
	styles for Desktop and Small
 -------------------------------------------------------------------- */
/*
	styles for Tablet and Phones
 -------------------------------------------------------------------- */
/*
	styles for Tablet
 -------------------------------------------------------------------- */
/*
	styles for Phone
 -------------------------------------------------------------------- */

.promo-bg:before {
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  left: 0;
  top: 0;
  box-shadow: inset 0px 0px 10px 15px #1a1a1a;
}

.promo-text b {
  color: #00adef;
}

.badge {
  max-width: 320px;
  position: absolute;
  right: 10%;
  top: 10%;
}

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLWNzcy9ub3JtYWxpemUuY3NzIiwic3R5bGUuY3NzIiwiX3ZhcmlhYmxlcy1jb2xvdXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9fZ3JpZC5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19ncmlkLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2NsZWFyZml4LnNjc3MiLCJfdmFyaWFibGVzLXJlc3BvbnNpdmUuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9fZ3JpZC1mcmFtZXdvcmsuc2NzcyIsIi4uLy4uL25vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL19yZXNwb25zaXZlLXV0aWxpdGllcy5zY3NzIiwiLi4vLi4vbm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL19yZXNwb25zaXZlLXZpc2liaWxpdHkuc2NzcyIsIl9yZWJvb3Quc2NzcyIsIl9mb250cy5zY3NzIiwiX3R5cG9ncmFwaHkuc2NzcyIsIl92YXJpYWJsZXMuc2NzcyIsIm1peGlucy9fdGV4dC5zY3NzIiwiX3R5cG9ncmFwaHkuYWRhcHRpdmUuc2NzcyIsIm1peGlucy9fdXRpbHMuc2NzcyIsIl9pY29ucy5zY3NzIiwiX2xpbmtzLnNjc3MiLCJfbGlua3MuYWRhcHRpdmUuc2NzcyIsIl9oZWxwZXJzLnNjc3MiLCIuLi8uLi9ub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvX2ltYWdlLnNjc3MiLCJfaGVscGVycy5hZGFwdGl2ZS5zY3NzIiwiX2xheW91dC5zY3NzIiwiX2xheW91dC5hZGFwdGl2ZS5zY3NzIiwiLi4vY29tcG9uZW50cy9jb25zdWx0YW50L19jb25zdWx0YW50LnNjc3MiLCIuLi9jb21wb25lbnRzL2NvbnN1bHRhbnQvX2NvbnN1bHRhbnQuYWRhcHRpdmUuc2NzcyIsIi4uL2NvbXBvbmVudHMvc2VjdGlvbi9fc2VjdGlvbi5zY3NzIiwiLi4vY29tcG9uZW50cy9zZWN0aW9uL19zZWN0aW9uLmFkYXB0aXZlLnNjc3MiLCIuLi9jb21wb25lbnRzL3NlY3Rpb24tcHJvbW8vX3NlY3Rpb24tcHJvbW8uc2NzcyIsIi4uL2NvbXBvbmVudHMvc2VjdGlvbi1wcm9tby9fc2VjdGlvbi1wcm9tby5hZGFwdGl2ZS5zY3NzIiwiLi4vY29tcG9uZW50cy9zZWN0aW9uLWJlbmVmaXRzL19zZWN0aW9uLWJlbmVmaXRzLnNjc3MiLCIuLi9jb21wb25lbnRzL3NlY3Rpb24tYmVuZWZpdHMvX3NlY3Rpb24tYmVuZWZpdHMuYWRhcHRpdmUuc2NzcyIsIi4uL2NvbXBvbmVudHMvc2VjdGlvbi10ZXJtcy9fc2VjdGlvbi10ZXJtcy5zY3NzIiwiLi4vY29tcG9uZW50cy9zZWN0aW9uLXRlcm1zL19zZWN0aW9uLXRlcm1zLmFkYXB0aXZlLnNjc3MiLCIuLi9jb21wb25lbnRzL3NlY3Rpb24tdmlkZW8vX3NlY3Rpb24tdmlkZW8uc2NzcyIsIi4uL2NvbXBvbmVudHMvc2VjdGlvbi12aWRlby9fc2VjdGlvbi12aWRlby5hZGFwdGl2ZS5zY3NzIiwiX2J1dHRvbnMuc2NzcyIsIl9idXR0b25zLmFkYXB0aXZlLnNjc3MiLCJfZm9ybXMuc2NzcyIsIl9mb3Jtcy5hZGFwdGl2ZS5zY3NzIiwiX21vZGFsLnNjc3MiLCJfbW9kYWwuYWRhcHRpdmUuc2NzcyIsIi4uL2NvbXBvbmVudHMvZm9ybS1vcmRlci9fZm9ybS1vcmRlci5hZGFwdGl2ZS5zY3NzIiwiLi4vY29tcG9uZW50cy9tb2RhbC1vcmRlci9fbW9kYWwtb3JkZXIuYWRhcHRpdmUuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQ0ZILDREQUE0RDtBQUU1RDs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBRUg7Ozs7Ozs7Ozs7OztFQVlJLGVBQWM7Q0FDakI7O0FBRUQ7O0dBRUc7QUFFSDs7O0VBR0ksc0JBQXFCO0NBQ3hCOztBQUVEOzs7R0FHRztBQUVIO0VBQ0ksY0FBYTtFQUNiLFVBQVM7Q0FDWjs7QUFFRDs7O0dBR0c7QUNESDs7RURLSSxjQUFhO0NBQ2hCOztBQUVEOztnRkFFZ0Y7QUFFaEY7Ozs7R0FJRztBQUVIO0VBQ0ksd0JBQXVCO0VBQUUsT0FBTztFQUNoQywyQkFBMEI7RUFBRSxPQUFPO0VBQ25DLCtCQUE4QjtFQUFFLE9BQU87Q0FDMUM7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLFVBQVM7Q0FDWjs7QUFFRDs7Z0ZBRWdGO0FBRWhGOztHQUVHO0FBRUg7RUFDSSx3QkFBdUI7Q0FDMUI7O0FBRUQ7O0dBRUc7QUFFSDtFQUNJLHFCQUFvQjtDQUN2Qjs7QUFFRDs7R0FFRztBQUVIOztFQUVJLFdBQVU7Q0FDYjs7QUFFRDs7Z0ZBRWdGO0FBRWhGOzs7R0FHRztBQUVIO0VBQ0ksZUFBYztFQUNkLGlCQUFnQjtDQUNuQjs7QUFFRDs7R0FFRztBQUVIO0VBQ0ksMEJBQXlCO0NBQzVCOztBQUVEOztHQUVHO0FBRUg7O0VBRUksa0JBQWlCO0NBQ3BCOztBQUVEOztHQUVHO0FBRUg7RUFDSSxtQkFBa0I7Q0FDckI7O0FBRUQ7O0dBRUc7QUFFSDtFQUVJLGdDQUF1QjtVQUF2Qix3QkFBdUI7RUFDdkIsVUFBUztDQUNaOztBQUVEOztHQUVHO0FBRUg7RUFDSSxpQkFBZ0I7RUFDaEIsWUFBVztDQUNkOztBQUVEOztHQUVHO0FBRUg7Ozs7RUFJSSw4QkFBNkI7RUFDN0IsZUFBYztDQUNqQjs7QUFFRDs7R0FFRztBQUVIO0VB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QUZEO0VBQ0Usc0JBQTJDO0NBQzVDOztBQUZEO0VBQ0Usc0JBQTJDO0NBQzVDOztBQUZEO0VBQ0UsV0FBMkM7Q0FDNUM7O0FBRkQ7RUFDRSxzQkFBMkM7Q0FDNUM7O0FBRkQ7RUFDRSxzQkFBMkM7Q0FDNUM7O0FBRkQ7RUFDRSxXQUEyQztDQUM1Qzs7QUFGRDtFQUNFLHNCQUEyQztDQUM1Qzs7QUFGRDtFQUNFLHNCQUEyQztDQUM1Qzs7QUFGRDtFQUNFLFlBQTJDO0NBQzVDOztBQWtCRDtFQUNFLFlBQVc7Q0FDWjs7QUFQRDtFQUNFLHFCQUEyQztDQUM1Qzs7QUFGRDtFQUNFLHNCQUEyQztDQUM1Qzs7QUFGRDtFQUNFLFdBQTJDO0NBQzVDOztBQUZEO0VBQ0Usc0JBQTJDO0NBQzVDOztBQUZEO0VBQ0Usc0JBQTJDO0NBQzVDOztBQUZEO0VBQ0UsV0FBMkM7Q0FDNUM7O0FBRkQ7RUFDRSxzQkFBMkM7Q0FDNUM7O0FBRkQ7RUFDRSxzQkFBMkM7Q0FDNUM7O0FBRkQ7RUFDRSxXQUEyQztDQUM1Qzs7QUFGRDtFQUNFLHNCQUEyQztDQUM1Qzs7QUFGRDtFQUNFLHNCQUEyQztDQUM1Qzs7QUFGRDtFQUNFLFlBQTJDO0NBQzVDOztBQVBEO0VBQ0UsV0FBVTtDQUNYOztBQVBEO0VBQ0Usb0JBQTBDO0NBQzNDOztBQUZEO0VBQ0UscUJBQTBDO0NBQzNDOztBQUZEO0VBQ0UsVUFBMEM7Q0FDM0M7O0FBRkQ7RUFDRSxxQkFBMEM7Q0FDM0M7O0FBRkQ7RUFDRSxxQkFBMEM7Q0FDM0M7O0FBRkQ7RUFDRSxVQUEwQztDQUMzQzs7QUFGRDtFQUNFLHFCQUEwQztDQUMzQzs7QUFGRDtFQUNFLHFCQUEwQztDQUMzQzs7QUFGRDtFQUNFLFVBQTBDO0NBQzNDOztBQUZEO0VBQ0UscUJBQTBDO0NBQzNDOztBQUZEO0VBQ0UscUJBQTBDO0NBQzNDOztBQUZEO0VBQ0UsV0FBMEM7Q0FDM0M7O0FBa0JEO0VBQ0UsZ0JBQWlEO0NBQ2xEOztBQUZEO0VBQ0UsMkJBQWlEO0NBQ2xEOztBQUZEO0VBQ0UsNEJBQWlEO0NBQ2xEOztBQUZE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QUNFLFdBQTJDO0dBQzVDO0VBRkQ7SUFDRSxzQkFBMkM7R0FDNUM7RUFGRDtJQUNFLHNCQUEyQztHQUM1QztFQUZEO0lBQ0UsV0FBMkM7R0FDNUM7RUFGRDtJQUNFLHNCQUEyQztHQUM1QztFQUZEO0lBQ0Usc0JBQTJDO0dBQzVDO0VBRkQ7SUFDRSxXQUEyQztHQUM1QztFQUZEO0lBQ0Usc0JBQTJDO0dBQzVDO0VBRkQ7SUFDRSxzQkFBMkM7R0FDNUM7RUFGRDtJQUNFLFlBQTJDO0dBQzVDO0VBa0JEO0lBQ0UsWUFBVztHQUNaO0VBUEQ7SUFDRSxxQkFBMkM7R0FDNUM7RUFGRDtJQUNFLHNCQUEyQztHQUM1QztFQUZEO0lBQ0UsV0FBMkM7R0FDNUM7RUFGRDtJQUNFLHNCQUEyQztHQUM1QztFQUZEO0lBQ0Usc0JBQTJDO0dBQzVDO0VBRkQ7SUFDRSxXQUEyQztHQUM1QztFQUZEO0lBQ0Usc0JBQTJDO0dBQzVDO0VBRkQ7SUFDRSxzQkFBMkM7R0FDNUM7RUFGRDtJQUNFLFdBQTJDO0dBQzVDO0VBRkQ7SUFDRSxzQkFBMkM7R0FDNUM7RUFGRDtJQUNFLHNCQUEyQztHQUM1QztFQUZEO0lBQ0UsWUFBMkM7R0FDNUM7RUFQRDtJQUNFLFdBQVU7R0FDWDtFQVBEO0lBQ0Usb0JBQTBDO0dBQzNDO0VBRkQ7SUFDRSxxQkFBMEM7R0FDM0M7RUFGRDtJQUNFLFVBQTBDO0dBQzNDO0VBRkQ7SUFDRSxxQkFBMEM7R0FDM0M7RUFGRDtJQUNFLHFCQUEwQztHQUMzQztFQUZEO0lBQ0UsVUFBMEM7R0FDM0M7RUFGRDtJQUNFLHFCQUEwQztHQUMzQztFQUZEO0lBQ0UscUJBQTBDO0dBQzNDO0VBRkQ7SUFDRSxVQUEwQztHQUMzQztFQUZEO0lBQ0UscUJBQTBDO0dBQzNDO0VBRkQ7SUFDRSxxQkFBMEM7R0FDM0M7RUFGRDtJQUNFLFdBQTBDO0dBQzNDO0VBa0JEO0lBQ0UsZ0JBQWlEO0dBQ2xEO0VBRkQ7SUFDRSwyQkFBaUQ7R0FDbEQ7RUFGRDtJQUNFLDRCQUFpRDtHQUNsRDtFQUZEO0lBQ0UsaUJBQWlEO0dBQ2xEO0VBRkQ7SUFDRSw0QkFBaUQ7R0FDbEQ7RUFGRDtJQUNFLDRCQUFpRDtHQUNsRDtFQUZEO0lBQ0UsaUJBQWlEO0dBQ2xEO0VBRkQ7SUFDRSw0QkFBaUQ7R0FDbEQ7RUFGRDtJQUNFLDRCQUFpRDtHQUNsRDtFQUZEO0lBQ0UsaUJBQWlEO0dBQ2xEO0VBRkQ7SUFDRSw0QkFBaUQ7R0FDbEQ7RUFGRDtJQUNFLDRCQUFpRDtHQUNsRDtFQUZEO0lBQ0Usa0JBQWlEO0dBQ2xEO0NOZ2tDSjs7QU94bUNDO0VBQ0Usb0JBQW1CO0NQMm1DdEI7O0FRcG5DQztFQUNFLHlCQUF3QjtDQUN6Qjs7QUFGRDtFQUNFLHlCQUF3QjtDQUN6Qjs7QUFGRDtFQUNFLHlCQUF3QjtDQUN6Qjs7QUFGRDtFQUNFLHlCQUF3QjtDQUN6Qjs7QURvQkg7Ozs7Ozs7Ozs7OztFQVlFLHlCQUF3QjtDQUN6Qjs7QUFFRDtFQ2hERTtJQUNFLDBCQUF5QjtHQUMxQjtFQUNEO0lBQW1CLDBCQUF5QjtHQUFJO0VBQ2hEO0lBQW1CLDhCQUE2QjtHQUFJO0VBQ3BEOztJQUNtQiwrQkFBOEI7R0FBSTtDUndxQ3REOztBTzFuQ0M7RUFERjtJQUVJLDBCQUF5QjtHQUU1QjtDUDZuQ0E7O0FPM25DQztFQURGO0lBRUksMkJBQTBCO0dBRTdCO0NQOG5DQTs7QU81bkNDO0VBREY7SUFFSSxpQ0FBZ0M7R0FFbkM7Q1ArbkNBOztBTzduQ0Q7RUNuRUU7SUFDRSwwQkFBeUI7R0FDMUI7RUFDRDtJQUFtQiwwQkFBeUI7R0FBSTtFQUNoRDtJQUFtQiw4QkFBNkI7R0FBSTtFQUNwRDs7SUFDbUIsK0JBQThCO0dBQUk7Q1Iwc0N0RDs7QU96b0NDO0VBREY7SUFFSSwwQkFBeUI7R0FFNUI7Q1A0b0NBOztBTzFvQ0M7RUFERjtJQUVJLDJCQUEwQjtHQUU3QjtDUDZvQ0E7O0FPM29DQztFQURGO0lBRUksaUNBQWdDO0dBRW5DO0NQOG9DQTs7QU81b0NEO0VDdEZFO0lBQ0UsMEJBQXlCO0dBQzFCO0VBQ0Q7SUFBbUIsMEJBQXlCO0dBQUk7RUFDaEQ7SUFBbUIsOEJBQTZCO0dBQUk7RUFDcEQ7O0lBQ21CLCtCQUE4QjtHQUFJO0NSNHVDdEQ7O0FPeHBDQztFQURGO0lBRUksMEJBQXlCO0dBRTVCO0NQMnBDQTs7QU96cENDO0VBREY7SUFFSSwyQkFBMEI7R0FFN0I7Q1A0cENBOztBTzFwQ0M7RUFERjtJQUVJLGlDQUFnQztHQUVuQztDUDZwQ0E7O0FPM3BDRDtFQ3pHRTtJQUNFLDBCQUF5QjtHQUMxQjtFQUNEO0lBQW1CLDBCQUF5QjtHQUFJO0VBQ2hEO0lBQW1CLDhCQUE2QjtHQUFJO0VBQ3BEOztJQUNtQiwrQkFBOEI7R0FBSTtDUjh3Q3REOztBT3ZxQ0M7RUFERjtJQUVJLDBCQUF5QjtHQUU1QjtDUDBxQ0E7O0FPeHFDQztFQURGO0lBRUksMkJBQTBCO0dBRTdCO0NQMnFDQTs7QU96cUNDO0VBREY7SUFFSSxpQ0FBZ0M7R0FFbkM7Q1A0cUNBOztBTzFxQ0Q7RUNqSEU7SUFDRSx5QkFBd0I7R0FDekI7Q1IreENGOztBTzVxQ0Q7RUNySEU7SUFDRSx5QkFBd0I7R0FDekI7Q1JxeUNGOztBTzlxQ0Q7RUN6SEU7SUFDRSx5QkFBd0I7R0FDekI7Q1IyeUNGOztBT2hyQ0Q7RUM3SEU7SUFDRSx5QkFBd0I7R0FDekI7Q1JpekNGOztBUW56Q0M7RUFDRSx5QkFBd0I7Q0FDekI7O0FEd0lIO0VDckpFO0lBQ0UsMEJBQXlCO0dBQzFCO0VBQ0Q7SUFBbUIsMEJBQXlCO0dBQUk7RUFDaEQ7SUFBbUIsOEJBQTZCO0dBQUk7RUFDcEQ7O0lBQ21CLCtCQUE4QjtHQUFJO0NSNDBDdEQ7O0FPMXJDRDtFQUNFLHlCQUF3QjtDQUt6Qjs7QUFIQztFQUhGO0lBSUksMEJBQXlCO0dBRTVCO0NQOHJDQTs7QU83ckNEO0VBQ0UseUJBQXdCO0NBS3pCOztBQUhDO0VBSEY7SUFJSSwyQkFBMEI7R0FFN0I7Q1Bpc0NBOztBT2hzQ0Q7RUFDRSx5QkFBd0I7Q0FLekI7O0FBSEM7RUFIRjtJQUlJLGlDQUFnQztHQUVuQztDUG9zQ0E7O0FPbHNDRDtFQ25LRTtJQUNFLHlCQUF3QjtHQUN6QjtDUnkyQ0Y7O0FTeDNDRDtFQUNFLCtCQUFzQjtVQUF0Qix1QkFBc0I7Q0FDdkI7O0FBRUQ7O0VBRUUsK0JBQXNCO1VBQXRCLHVCQUFzQjtDQUN2Qjs7QUFFRDtFQUNFLDhDQUEwQztDQUMzQzs7QUFFRDs7OztFQUlFLHFCQUFvQjtFQUNwQixtQkFBa0I7RUFDbEIscUJBQW9CO0NBQ3JCOztBQUVEO0VBQ0UsVUFBUztDQUNWOztBVDQzQ0Q7RVN6M0NFLGdCQUFlO0NBQ2hCOztBQzVCRDtFQUNFLDBCQUF5QjtFQUN6QixpTEFFa0U7RUFDbEUsaUJBQWdCO0VBQ2hCLG1CQUFrQjtDVnU1Q25COztBVXA1Q0Q7RUFDRSwwQkFBeUI7RUFDekIsOEtBRWlFO0VBQ2pFLGlCQUFnQjtFQUNoQixtQkFBa0I7Q1ZxNUNuQjs7QVVsNUNEO0VBQ0UsMEJBQXlCO0VBQ3pCLDhLQUVvRTtFQUNwRSxvQkFBbUI7RUFDbkIsbUJBQWtCO0NWbTVDbkI7O0FXMzZDRDtFQUNFLGdCQUFlO0NBQ2hCOztBQUVEO0VBQ0Usc0NDSnlDO0VES3pDLGFWU2dCO0VVUmhCLDBCVk9lO0VVTmYsK0JBQThCO0VBQzlCLGtDQUFpQztDQUNsQzs7QUFFRDtFQUNFLHlDQUF3QztDQUN6Qzs7QUFFRDtFQUNFLFVBQVM7Q0FDVjs7QUFFRDs7O0VBR0UsaUJBQWdCO0NBQ2pCOztBQWtCRDtFQUNFLHNCQ3ZDcUI7Q0R3Q3RCOztBQUVEOztFQUVFLGNBQWE7RUFDYix5QkM3Q3FCO0NEa0R0Qjs7QUFSRDs7OztFQU1JLGlCQUFnQjtDQUNqQjs7QUFHSDtFRTNDRSxnQkFBZTtFQUNmLGlCQUFnQjtDRjRDakI7O0FBRUQ7RUUvQ0UsZ0JBQWU7RUFDZixpQkFBZ0I7RUZnRGhCLGVBQWM7Q0FNZjs7QUFSRDtFQUlJLHNCQUFxQjtFQUNyQixnQkFBZTtFQUNmLGlCQUFnQjtDQUNqQjs7QUduRUg7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FDSXZFO0VEREE7SUFDRSxtQkFBZTtJQUNmLHVCQUFpQjtHQUNsQjtDZHErQ0Q7O0FjLzlDRDs7d0VBRXdFO0FDVnZFO0VEYUE7SUFDRSxrQkZ4QmtCO0lFeUJsQix1QkZ4Qm9CO0dFeUJyQjtFQUVEO0lBQ0UsZ0JBQWU7SUFDZixzQkFBaUI7R0FDbEI7RUFFRDtJQUNFLG1CQUFlO0lBQ2YsdUJBQWlCO0dBQ2xCO0NkKzlDRDs7QWN6OUNEOzt3RUFFd0U7QUNsQ3ZFO0VEcUNBO0lBQ0Msb0JBQWU7SUFDZix1QkFBaUI7R0FDakI7RUFFRDtJQUNFLGtCQUFlO0lBQ2Ysa0JBQWlCO0dBQ2xCO0VBRUQ7SUFDRSxvQkFBZTtJQUNmLHFCQUFpQjtHQUNsQjtDZHk5Q0Q7O0FjbjlDRDs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQ3hFdkU7RUQyRUE7SUFDQyxtQkFBZTtJQUNmLG9CQUFpQjtHQUNqQjtFQUVEO0lBQ0UsbUJBQWU7SUFDZix1QkFBaUI7R0FDbEI7RUFFRDtJQUNFLG9CQUFlO0lBQ2YscUJBQWlCO0dBQ2xCO0VBRUQ7SUFDRSxvQkFBZTtJQUNmLGtCQUFpQjtHQUNsQjtDZDA4Q0Q7O0FjcDhDRDs7d0VBRXdFO0FDckd2RTtFRHdHQTtJQUNDLGdCQUFlO0lBQ2YsdUJBQWlCO0dBQ2pCO0VBRUQ7SUFDRSxrQkFBZTtJQUNmLHVCQUFpQjtHQUNsQjtFQUVEOztJQUVDLG1CQUFlO0lBQ2Ysb0JBQWlCO0dBQ2pCO0NkbzhDRDs7QWdCN2lERDtFQUNDLG1CQUFrQjtFQUNsQiwyQkFBMEI7RUFDMUIsc0JBQXFCO0VBQ3JCLHVCQUFzQjtDQUN0Qjs7QUFFRDtFQUNDLHc0Q0FBMEQ7Q0FDMUQ7O0FBRUQ7RUFDQyw0ckVBQXdEO0NBQ3hEOztBQUVEO0VBQ0MsZzJHQUEwRDtDQUMxRDs7QUFFRDtFQUNDLG94RkFBeUQ7Q0FDekQ7O0FBRUQ7RUFDQyw0M0RBQTZEO0NBQzdEOztBQUVEO0VBQ0MsOG5DQUEwRDtDQUMxRDs7QUFFRDtFQUNDLDQrRUFBNkQ7Q0FDN0Q7O0FBRUQ7RUFDQyx3bkVBQXlEO0NBQ3pEOztBQy9ERDtFQUNFLGVoQkRZO0VnQkVaLHNCQUFxQjtFQUNyQix5QkFBd0I7Q0FRekI7O0FBWEQ7RUFPSSxlaEJXdUM7RWdCVnZDLHNCQUFxQjtDQUN0Qjs7QUFJSDtFQUNFLGVBQWM7Q0FDZjs7QUNmRDs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QWR0Q3RFO0VBRUUsZUFBYztFQUNkLGFBQVk7Q0FDYjs7QUFDRDtFQUNFLFlBQVc7Q0FDWjs7QWVoQkg7RUFDRSxhQUFZO0NBQ2I7O0FBRUQ7RUFDRSxZQUFXO0NBQ1o7O0FBR0Q7RUFDRSx5QkFBd0I7Q0FDekI7O0FBVUQ7RUFDRSx1QkFBc0I7RUN0QnRCLGVBRG1DO0VBRW5DLGdCQUFlO0VBQ2YsYUFBWTtDRHNCYjs7QUFjRDtFQUNFLFlBQVc7RUFDWCxhQUFZO0VBQ1oscUJBQWlCO0tBQWpCLGtCQUFpQjtDQUNsQjs7QUFHRDtFQUFvQixpQkFBZ0I7Q0FBSTs7QUFDeEM7RUFBb0Isa0JBQWlCO0NBQUk7O0FBQ3pDO0VBQW9CLG1CQUFrQjtDQUFJOztBbkJrcEQxQztFbUJobURDLG1CQUFrQjtDQXlCbEI7O0FuQjJrREQ7RW1CbG1ERSxZQUFXO0VBQ1gsbUJBQWtCO0VBQ2xCLFVBQVM7RUFDVCxTQUFRO0VBQ1IseUNBQWdDO1VBQWhDLGlDQUFnQztFQUNoQyxjQUFXO0VBQ1gsZUFBWTtFQUNaLDJCQUEwQjtFQUMxQiwraENBQTREO0VBQzVELCtCQUFzQjtFQUF0Qix1QkFBc0I7Q0FDdEI7O0FuQnFtREY7RW1Cbm1ERSxXQUFVO0VBQ1YsK0JBQXNCO0VBQXRCLHVCQUFzQjtDQUN0Qjs7QW5Cc21ERjtFbUJubURHLFdBQVU7Q0FDVjs7QW5Cc21ESDtFbUJwbURHLFdBQVU7Q0FDVjs7QUU1SEg7O3dFQUV3RTtBTld2RTtFTVJBO0lBQ0MscUJBQWE7SUFBYixxQkFBYTtJQUFiLGNBQWE7R0FFYjtFckJrdURBO0lxQi90REEsWUFBVztHQUNYO0NyQml1REQ7O0FxQjN0REQ7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQzlEeEU7O0VBRUMsYUFBWTtDQUNaOztBQUVEO0VBQ0MsaUJqQkp3QjtFaUJLeEIsbUJBQWtCO0NBQ2xCOztBQUVEO0VBQ0MsWUFBVztDQUNYOztBQ1pEOzt3RUFFd0U7QVJXdkU7RVFSQTtJQUNDLHNCQUFtQjtHQUNuQjtFQUVEO0lBQ0Msb0JsQmdDZ0U7R2tCL0JoRTtDdkJpeEREOztBdUIzd0REOzt3RUFFd0U7QVJOdkU7RVFTQTtJQUNDLHNCQUFtQjtHQUNuQjtFQUVEO0lBQ0MsaUJsQlc4QztHa0JWOUM7Q3ZCNHdERDs7QXVCdHdERDs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBUnJDdkU7RVF3Q0E7SUFDQyxzQkFBa0I7R0FDbEI7RUFFRDtJQUNDLG9CbEJ4QjhDO0drQnlCOUM7Q3ZCK3ZERDs7QXVCenZERDs7d0VBRXdFO0FSdER2RTtFUXlEQTtJQUNDLHVCQUFrQjtJQUNsQix3QkFBbUI7R0FDbkI7Q3ZCMnZERDs7QXdCcDBERDtFQUNDLGdCQUFlO0VBQ2YsV0FBVTtDQVFWOztBQVZEO0VBTUcsOEJBQXFCO0VBQXJCLHNCQUFxQjtDQUNyQjs7QUNQSDs7d0VBRXdFO0FWV3ZFO0VVUkE7SUFFRSxpQkFBVztJQUNYLGtCQUFZO0dBQ1o7Q3pCODBERjs7QXlCdjBERDs7d0VBRXdFO0FWTHZFO0VVUUE7SUFDQyxrQkFBYTtJQUNiLFNBQVE7SUFDUixlQUFVO0lBQ1YsK0NBQXFDO1lBQXJDLHVDQUFxQztJQUNyQyw4QkFBcUI7WUFBckIsc0JBQXFCO0dBNEVyQjtFQWpGRDtJQVNFLGlCQUZhO0lBR2Isa0JBRjJCO0lBRzNCLDBCQUFvQjtJQUNwQixtQkFBa0I7SUFDbEIsV0FBVTtHQUNWO0VBZEY7SUFnQkUsbUJBQWU7SUFDZix1QkFBaUI7SUFDakIsaUJBQVk7SUFDWixtQkFBa0I7SUFDbEIsV0FBVTtJQUNWLG9CQUFtQjtJQUNuQix5QkFBaUI7SUFDakIsbUJBQWtCO0lBQ2xCLHVCQUFtQjtJQUNuQixpQkFBZ0I7SUFDaEIseUJBQWtCO0dBQ2xCO0VBM0JGO0lBNkJFLGtCQUFZO0lBQ1osa0JBQVk7SUFDWix3QkFBbUI7SUFDbkIsb0JBQWU7SUFDZixxQkFBaUI7SUFDakIsMkJBQW1CO0lBQ25CLG9CQUFtQjtJQUNuQixhQUFZO0lBQ1osbUJBQWtCO0lBQ2xCLGVBQWM7SUFDZCxpQkFBZ0I7SUFDaEIsbUNBQTBCO0lBQTFCLDJCQUEwQjtHQUkxQjtFQTVDRjtJQTBDRyxvQkFBK0I7R0FDL0I7RUEzQ0g7SUE4Q0UsbUJBQWtCO0lBQ2xCLGlCQUFVO0lBQ1YscUJBQWU7SUFDZix1QkFBaUI7SUFDakIsY0FBWTtJQUNaLHdCQUFtQjtHQVFuQjtFQTNERjtJQXFERyxzQkFBcUI7R0FLckI7RUExREg7SUF1REksc0JBQXFCO0lBQ3JCLHVCQUFzQjtHQUN0QjtFQXpESjtJQTZERSxvQkFBbUI7SUFDbkIseUJBQW1CO0lBQ25CLG1CQUFrQjtHQVFsQjtFQXZFRjtJQWlFRyx5QkFBbUI7R0FDbkI7RUFsRUg7SUFvRUcscUJBQWlCO0lBQ2pCLHlCQUFtQjtHQUNuQjtFQXRFSDtJQXlFRSx3QkFBaUI7R0FDakI7RUExRUY7SUE0RUUsY0FBUztHQUNUO0VBN0VGO0lBK0VFLGVBQVM7R0FDVDtDekJ3MERGOztBeUJqMEREOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBVjdIdkU7RVVnSUE7SUFDQyxhQUFVO0lBQ1YsY0FBVTtHQUlWO0VBTkQ7SUFJRSx1QkFBbUI7R0FDbkI7Q3pCb3pERjs7QXlCN3lERDs7d0VBRXdFO0FWOUl2RTtFVWlKQTtJQUNDLGlCQUFXO0lBQ1gsZ0JBQVU7R0FRVjtFQVZEO0lBSUUseUJBQW1CO0dBQ25CO0VBTEY7SUFPRSxpQkFBVztJQUNYLGtCQUFZO0dBQ1o7Q3pCZ3pERjs7QTBCdjlERDtFQUNDLG1CQUFrQjtDQUNsQjs7QUNGRDs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUNoRHhFO0VBQ0MsMkJBQTBCO0NBQzFCOztBQUVEO0VBQ0MsMkJBQTBCO0NBQzFCOztBQUtEO0VBQ0MsaUJBQWdCO0NBQ2hCOztBQ2hCRDs7d0VBRXdFO0FkV3ZFO0VjUkE7SUFDQyx1QkFBaUI7R0FLakI7RUFORDtJQUdFLG1CQUFrQjtJQUNsQixXQUFVO0dBQ1Y7RUFHRjtJQUNDLG1CQUFrQjtJQUNsQixPQUFNO0lBQ04sK0NBQXVCO0lBRXZCLFdBQVU7R0FDVjtDN0IrL0REOztBZTU2REM7RWN6RkQ7SWRnR0ssa0RBQXVCO0djMUYzQjtDN0JxZ0VEOztBZTNnRUE7RWNRQTtJQUNDLHlCQUFtQjtJQUNuQix1Q0FBdUI7R0FDdkI7RUFFRDtJQUNDLHlCQUFtQjtHQUNuQjtDN0JzZ0VEOztBNkJoZ0VEOzt3RUFFd0U7QWR2QnZFO0VjMEJBO0lBQ0Msc0JBQWlCO0dBQ2pCO0VBRUQ7SUFDQyxpQkFBWTtJQUNaLGtCQUFZO0dBQ1o7RUFFRDs7SUFFQyxzQkFBaUI7R0FDakI7QzdCZ2dFRDs7QTZCMS9ERDs7d0VBRXdFO0FkOUN2RTtFY2lEQTtJQUNDLGtCQUFhO0lBQ2Isa0JBQWE7SUFFYiwwQkFBdUI7R0FDdkI7QzdCMi9ERDs7QTZCci9ERDs7d0VBRXdFO0FkOUR2RTtFY2lFQTtJQUdDLGdCQUZhO0lBR2Isb0JBRjRCO0lBSTVCLDJCQUFzQjtHQUN0QjtDN0JvL0REOztBNkI5K0REOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FkOUZ2RTtFY2lHQTtJQUNDLHNCQUFpQjtJQUNqQixzQkFBa0I7R0FDbEI7RUFFRDtJQUdDLGlCQUZhO0lBR2Isb0JBRjRCO0lBRzVCLDBCQUF1QjtHQUN2QjtFQUVEO0lBR0MsaUJBRmE7SUFHYixtQkFGMEI7R0FHMUI7RUFFRDs7SUFFQyxxQkFBaUI7R0FDakI7QzdCaStERDs7QTZCMzlERDs7d0VBRXdFO0FkaEl2RTtFY21JQTtJQUNDLGdCQUFhO0lBQ2IscURBQXVCO0lBRXZCLHlCQUFtQjtHQUNuQjtDN0I0OUREOztBZTNnRUM7RWMwQ0Q7SWRuQ0ssd0RBQXVCO0djd0MzQjtDN0JrK0REOztBZTFtRUE7RWMwSUE7SUFDQyxrQkFBWTtJQUNaLGlCQUFZO0lBQ1oseUJBQW1CO0lBQ25CLDZDQUF1QjtHQUN2QjtFQUVEO0lBQ0MsdUJBQW1CO0dBQ25CO0VBRUQ7SUFDQyxzQkFBZ0I7R0FDaEI7QzdCaytERDs7QThCdG9FRDtFQUVFLG1CQUFrQjtDQUNsQjs7QUFIRjtFQUtFLGlCQUFnQjtDQUNoQjs7QUFORjtFQVFFLGU3QlJZO0M2QlNaOztBQ1RGOzt3RUFFd0U7QWhCV3ZFO0VnQlJBO0lBQ0MsNkJBQW9CO0dBQ3BCO0VBRUQ7SUFDQyx3QkFBb0I7R0FDcEI7RUFFRDtJQUNDLG1CQUFrQjtJQUNsQix1QkFBb0I7R0F1QnBCO0VBekJEO0lBSUUsMEJBQW1CO1FBQW5CLHVCQUFtQjtZQUFuQixvQkFBbUI7R0FDbkI7RUFMRjtJQVNJLHFCQUFhO0lBQWIscUJBQWE7SUFBYixjQUFhO0lBQ2Isc0JBQXlCO1FBQXpCLG1CQUF5QjtZQUF6QiwwQkFBeUI7R0FDekI7RUFYSjtJQWlCSSw2QkFBUTtRQUFSLGtCQUFRO1lBQVIsU0FBUTtHQUNSO0VBbEJKO0lBb0JJLDZCQUFRO1FBQVIsa0JBQVE7WUFBUixTQUFRO0lBQ1Isa0JBQWlCO0dBQ2pCO0MvQjZvRUo7O0ErQnBvRUQ7O3dFQUV3RTtBaEJqQ3ZFO0VnQm9DQTtJQUVFLHVCQUFtQjtHQUNuQjtFQUhGO0lBTUcsZ0JBQVk7SUFDWixpQkFBYTtJQUNiLGFBQVM7R0FDVDtFQVRIO0lBWUUsY0FBUztHQU1UO0VBbEJGO0lBY0csYUFBWTtJQUNaLGdCQUFhO0lBQ2IsZUFBUztHQUNUO0VBakJIO0lBb0JFLGVBQVM7R0FNVDtFQTFCRjtJQXNCRyxrQkFBWTtJQUNaLGtCQUFhO0lBQ2IsZUFBVTtHQUNWO0VBekJIO0lBNEJFLGNBQVM7R0FLVDtFQWpDRjtJQThCRyxrQkFBWTtJQUNaLG1CQUFhO0dBQ2I7RUFoQ0g7SUFtQ0UsZUFBUztHQU1UO0VBekNGO0lBcUNHLGdCQUFZO0lBQ1osbUJBQWE7SUFDYixnQkFBVTtHQUNWO0VBeENIO0lBMkNFLGNBQVM7R0FNVDtFQWpERjtJQTZDRyxpQkFBWTtJQUNaLG1CQUFhO0lBQ2IsZ0JBQVU7R0FDVjtFQWhESDtJQW1ERSxlQUFTO0dBTVQ7RUF6REY7SUFxREcsa0JBQVk7SUFDWixpQkFBYTtJQUNiLGdCQUFVO0dBQ1Y7RUF4REg7SUEyREUsZUFBUztHQU1UO0VBakVGO0lBNkRHLGdCQUFZO0lBQ1osbUJBQWE7SUFDYixlQUFRO0dBQ1I7Qy9Cb29FSDs7QStCNW5FRDs7d0VBRXdFO0FoQjlHdkU7RWdCb0hBO0lBRUUsb0JBQTBCO0dBQzFCO0VBSEY7SUFLRSxvQkFBd0I7R0FDeEI7RUFORjtJQVNHLGdCQUFVO0dBQ1Y7RUFWSDtJQW9CRyxhQUFVO0dBQ1Y7RUFyQkg7SUF5QkcsZ0JBQVc7R0FDWDtFQTFCSDtJQThCRyxjQUFVO0dBQ1Y7RUEvQkg7SUFtQ0csZ0JBQVc7R0FDWDtFQXBDSDtJQXdDRyxnQkFBVTtHQUNWO0VBekNIO0lBOENHLGVBQVc7R0FDWDtDL0JzbUVIOztBK0I5bEVEOzt3RUFFd0U7QWhCN0t2RTtFZ0JrTEE7SUFDQyxvQkFBbUI7R0FPbkI7RUFSRDtJQUdFLGtCQUEwQjtHQUMxQjtFQUpGO0lBTUUsa0JBQXdCO0dBQ3hCO0MvQitsRUY7O0ErQnhsRUQ7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QWhCaE52RTtFZ0JxTkE7SUFFRSxvQkFBMEI7R0FDMUI7RUFIRjtJQUtFLG9CQUF3QjtHQUN4QjtFQU5GO0lBUUUsdUJBQW1CO0dBQ25CO0VBVEY7SUFjRyxpQkFGYTtJQUdiLGtCQUYyQjtHQUczQjtFQWhCSDtJQXNCRyxrQkFGYTtJQUdiLG1CQUYyQjtHQUczQjtFQXhCSDtJQThCRyxrQkFGYTtJQUdiLG9CQUYyQjtHQUczQjtFQWhDSDtJQXNDRyxhQUZhO0lBR2Isb0JBRjJCO0dBRzNCO0VBeENIO0lBOENHLGlCQUZhO0lBR2Isb0JBRjJCO0dBRzNCO0VBaERIO0lBc0RHLGtCQUZhO0lBR2Isb0JBRjJCO0dBRzNCO0VBeERIO0lBOERHLGlCQUZhO0lBR2Isb0JBRjJCO0dBRzNCO0VBaEVIO0lBc0VHLGdCQUZhO0lBR2IsbUJBRjJCO0dBRzNCO0MvQmdqRUg7O0ErQnhpRUQ7O3dFQUV3RTtBaEJ2U3ZFO0VnQjBTQTtJQUNDLHdCQUFxQjtHQUNyQjtFQUVEO0lBQ0MsdUJBQW9CO0dBQ3BCO0VBRUQ7SUFDQyxtQkFBa0I7R0F5RmxCO0VBMUZEO0lBR0UseUJBQW1CO0dBQ25CO0VBSkY7SUFNRSxlQUFjO0dBQ2Q7RUFQRjtJQVNFLHlCQUFtQjtHQVVuQjtFQW5CRjtJQWFHLGlCQUZhO0lBR2Isa0JBRjJCO0lBRzNCLFVBQVM7SUFDVCxXQUFVO0lBQ1Ysb0JBQW1CO0dBQ25CO0VBbEJIO0lBcUJFLHdCQUFtQjtHQVFuQjtFQTdCRjtJQXlCRyxrQkFGYTtJQUdiLG1CQUYyQjtJQUczQix5QkFBbUI7R0FDbkI7RUE1Qkg7SUErQkUsc0JBQW1CO0dBU25CO0VBeENGO0lBbUNHLGtCQUZhO0lBR2IsbUJBRjJCO0lBRzNCLGdCQUFVO0lBQ1Ysd0JBQW1CO0dBQ25CO0VBdkNIO0lBMENFLHdCQUFtQjtHQVFuQjtFQWxERjtJQThDRyxrQkFGYTtJQUdiLG1CQUYyQjtJQUczQix3QkFBbUI7R0FDbkI7RUFqREg7SUFvREUseUJBQW1CO0dBUW5CO0VBNURGO0lBd0RHLGtCQUZhO0lBR2IsbUJBRjJCO0lBRzNCLHVCQUFtQjtHQUNuQjtFQTNESDtJQThERSx1QkFBbUI7R0FRbkI7RUF0RUY7SUFrRUcsa0JBRmE7SUFHYixtQkFGMkI7SUFHM0Isd0JBQW1CO0dBQ25CO0VBckVIO0lBd0VFLHlCQUFtQjtHQVFuQjtFQWhGRjtJQTRFRyxpQkFGYTtJQUdiLG1CQUYyQjtJQUczQix3QkFBbUI7R0FDbkI7RUEvRUg7SUFxRkcsa0JBRmE7SUFHYixtQkFGMkI7SUFHM0IseUJBQW1CO0dBQ25CO0MvQndoRUg7O0FnQy82RUQ7RUFFRSxZQUFXO0VBQ1gsZUFBYztFQUNkLGVBQWM7RUFDZCwyQkFBMEI7Q0FDMUI7O0FBR0Y7RUFDQyxpQkFBZ0I7Q0FrQ2hCOztBQW5DRDtFQUdFLGUvQlpZO0UrQmFaLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsc0JBQXFCO0NBVXJCOztBQWhCRjtFQVFHLHNCQUFxQjtFQUNyQix1QkFBc0I7Q0FDdEI7O0FBVkg7RUFZRyxlQUFjO0VBQ2QsbUJBQWtCO0VBQ2xCLGdCQUFTO0NBQ1Q7O0FBZkg7RUFtQkcsWUFBVztFQUNYLGVBQWM7RUFDZCxlQUFjO0VBQ2QsNEJBQTJCO0NBQzNCOztBQXZCSDtFQTBCRSxhQUFZO0VBQ1osbUJBQWtCO0NBQ2xCOztBQTVCRjtFQThCRSxzQkFBcUI7Q0FDckI7O0FBL0JGO0VBaUNFLG1CQUFrQjtDQUNsQjs7QUMzQ0Y7O3dFQUV3RTtBbEJXdkU7RWtCUkE7SUFFRSx5QkFBb0I7SUFDcEIsYUFBWTtJQUNaLGlCQUFXO0lBQ1gsb3pEQUEwRDtHQUMxRDtFQUdGO0lBQ0Msd0JBQW1CO0dBQ25CO0VBRUQ7SUFJSSxpQkFBVTtHQUNWO0VBTEo7SUFTSSxpQkFBVTtHQUNWO0VBVko7SUFjSSxxQkFBZTtJQUNmLHVCQUFpQjtHQUNqQjtFQUtKO0lBQ0MsdUJBQW9CO0dBZ0NwQjtFQWpDRDtJQUdFLHFCQUFlO0lBQ2YsaUJBQWE7R0FJYjtFQVJGO0lBTUcsc0JBQWdCO0dBQ2hCO0VBUEg7SUFXRyx5QkFBbUI7SUFDbkIsaUJBQVc7R0FDWDtFQWJIO0lBZ0JFLGNBQVM7SUFDVCxtQkFBZTtJQUNmLGlCQUFXO0dBQ1g7RUFuQkY7SUFxQkUsa0JBQWU7R0FDZjtFQXRCRjtJQXdCRSxjQUFTO0lBQ1Qsb0JBQWU7SUFDZixrQkFBWTtHQUNaO0VBM0JGO0lBNkJFLGlCQUFXO0lBQ1gsa0JBQVk7SUFDWixnQkFBUztHQUNUO0NqQ2s5RUY7O0FpQzM4RUQ7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBcUJ4RTs7d0VBRXdFO0FsQmpHdkU7RWtCb0dBO0lBR0csZUFBVztHQUNYO0NqQ203RUg7O0FpQzM2RUQ7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QWxCaEl2RTtFa0JtSUE7SUFDQyxvQkFBZ0I7SUFDaEIsZUFBYztHQUNkO0NqQ3E2RUQ7O0FpQy81RUQ7O3dFQUV3RTtBbEI5SXZFO0VrQmlKQTtJQUNDLHdCQUFvQjtHQU9wQjtFQVJEO0lBR0Usc0JBQW1CO0lBQ25CLGVBQVk7SUFDWixrQkFBVztJQUNYLGdzREFBZ0U7R0FDaEU7RUFHRjtJQUNDLHVCQUFtQjtHQUNuQjtFQUVEO0lBSUksZ0JBQVU7R0FDVjtFQUxKO0lBU0ksb0JBQW1CO0dBQ25CO0VBVko7SUFjSSx5QkFBbUI7R0FDbkI7RUFmSjtJQW1CSSxtQkFBZTtHQUNmO0VBS0o7SUFDQyx5QkFBbUI7R0FtQ25CO0VBcENEO0lBR0UscUJBQWU7SUFDZix5QkFBbUI7R0FJbkI7RUFSRjtJQU1HLHVCQUFnQjtHQUNoQjtFQVBIO0lBVUUsbUJBQWU7SUFDZixvQkFBaUI7R0FLakI7RUFoQkY7SUFhRyx3QkFBbUI7SUFDbkIsaUJBQVc7R0FDWDtFQWZIO0lBa0JFLGVBQVM7SUFDVCxvQkFBZTtJQUNmLGlCQUFXO0dBQ1g7RUFyQkY7SUF1QkUscUJBQWU7R0FDZjtFQXhCRjtJQTBCRSxlQUFTO0lBQ1Qsb0JBQWU7SUFDZixrQkFBWTtHQUNaO0VBN0JGO0lBaUNFLGVBRlk7SUFHWixnQkFGeUI7R0FHekI7Q2pDaTVFRjs7QWtDem5GRDtFQUNDLGtCQUFpQjtFQUNqQixhQUFZO0NBQ1o7O0FBRUQ7RUFDQyxtQkFBa0I7RUFDbEIsaUJBQWdCO0VBQ2hCLG9CQUFtQjtDQUtuQjs7QUFSRDtFbkJjQyxtQkFBa0I7RUFDbEIsUUFGc0Q7RUFHdEQsU0FIZ0M7RUFJaEMsT0FKcUI7RUFLckIsVUFMNEM7Q21CTjNDOztBQUdGO0VBQ0UscUJBQWlCO0tBQWpCLGtCQUFpQjtFQUNqQiwyQkFBdUI7S0FBdkIsd0JBQXVCO0VBQ3ZCLGVBQWM7RUFDZCxtQkFBa0I7RUFDbEIsWUFBVztFQUNYLGFBQVk7RUFDWixpQkFBZ0I7RUFDaEIsZ0JBQWU7RUFDZixtQkFBa0I7RUFDbEIsUUFBTztFQUNQLE9BQU07Q0FJUDs7QUFmRDtFQWFHLGNBQWE7Q0FDYjs7QUM3Qkg7O3dFQUV3RTtBcEJXdkU7RW9CUkE7SUFDQyw2QkFBcUI7R0FTckI7RUFWRDtJQUdFLFlBQVc7SXBCeUJiLG1CQUFrQjtJQUNsQixPQUZ1QjtJQUd2QixVQUhtQztJb0J0QmpDLFNBQVE7SUFDUixZQUFXO0lBQ1gsb0JBQW1CO0lBQ25CLFlBQVc7R0FDWDtFQUdGO0lBQ0MseUJBQW1CO0dBQ25CO0VBRUQ7SUFDQyxlQUFjO0lBQ2QscUJBQWdCO0dBQ2hCO0VBRUQ7SUFDQywrQnBCdEJvRDtJb0J1QnBELHNEQUFvQztZQUFwQyw4Q0FBb0M7R0FDcEM7Q25DK3BGRDs7QW1DenBGRDs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FwQmxFdkU7RW9CcUVBO0lBQ0MseUJBQTZCO0dBUTdCO0VBVEQ7SUFHRSxZQUFXO0lwQjFEYixtQkFBa0I7SUFDbEIsUUFGd0I7SUFHeEIsU0FIbUM7SW9CNkRqQyxpQkFBWTtJQUNaLFVBQVM7SUFDVCxvQmxDM0VjO0drQzRFZDtFQUdGO0lBQ0MseUJBQW1CO0dBQ25CO0VBRUQ7SUFDQywrQnBCN0ZvRDtHb0I4RnBEO0NuQ21vRkQ7O0FvQ3R1RkQ7RUFDRSxnQkFBZTtFQUNmLHlCQUF3QjtDQUN6Qjs7QUFFRDs7RUFFRSxzQkFBcUI7RUFDckIsdUJBQXNCO0VBQ3RCLGlCQUFnQjtFQUNoQixvQkFBbUI7RUFDbkIsK0JBQTBCO01BQTFCLDJCQUEwQjtFQUMxQixnQkFBZTtFQUNmLHlCQUF3QjtFQUN4QixpQ0FBZ0M7RUFDaEMsK0JBQThCO0VBQzlCLG9CQUFtQjtFQUNuQiwwQkFBaUI7S0FBakIsdUJBQWlCO01BQWpCLHNCQUFpQjtVQUFqQixrQkFBaUI7RUFDakIsb0JBQW1CO0VBQ25CLHVCQUFzQjtDQUN2Qjs7QUFFRDtFQUNFLFdBQVU7RUFDVixVQUFTO0VBQ1QsaUJBQWdCO0NBQ2pCOztBQUVEO0VBQ0UsbUJBQWtCO0VBQ2xCLG9DQUE2QjtFQUM3Qix5RUFBd0Q7RUFBeEQsaUVBQXdEO0VBQXhELHlEQUF3RDtFQUF4RCw2RUFBd0Q7RUFDeEQsaUNBQXdCO1VBQXhCLHlCQUF3QjtFQUN4QixtQkFBa0I7RUFDbEIseUJBQWtCO0VBQ2xCLGlCQUFnQjtDQXNCakI7O0FBN0JEO0VBVUksc0JBQXFCO0VBQ3JCLHVCQUFzQjtDQUN2Qjs7QUFaSDtFQWlCTSx5REFBc0M7VUFBdEMsaURBQXNDO0NBQ3ZDOztBQWxCTDtFQXNCSSxZQUFXO0VBQ1gscUJBQW9CO0NBSXJCOztBQUlIOztFQUdJLHFCQUFvQjtDQUNyQjs7QUFHSDtFQUNFLGVBQWM7RUFDZCxZQUFXO0NBQ1o7O0FBRUQ7O0VBSUksWUFBVztDQUNaOztBQUdIO0VBRUksWUFBVztFQUNYLG1CQUFrQjtFQUNsQixVQUFTO0VBQ1QsU0FBUTtFQUNSLGNBQVc7RUFDWCxlQUFZO0VBQ1osMkJBQTBCO0VBQzFCLGtEQUF5QztVQUF6QywwQ0FBeUM7RUFDekMsK2hDQUE2RDtFQUM3RCwwQ0FBeUI7RUFBekIsa0NBQXlCO0VBQXpCLDBCQUF5QjtFQUF6QixpREFBeUI7RUFDekIscUJBQW9CO0NBQ3JCOztBQUNEO0VBRUksV0FBVTtDQUNYOztBQUhIO0VBS0ksa0RBQXlDO1VBQXpDLDBDQUF5QztDQUMxQzs7QUFJTDtFQUNFLGFBQVk7RUFDWixvQm5DekdZO0VtQzBHWixzQm5DMUdZO0NtQytHYjs7QUFSRDtFQUtJLG9CbkMxRnVDO0VtQzJGdkMsc0JuQzNGdUM7Q21DNEZ4Qzs7QUFHSDtFQUNFLG1CQUFrQjtFQUNsQixXQUFVO0VBQ1YsZUFBVztFQUNYLGFBQVM7Q0FLVjs7QUFURDtFQU1JLGVBQVc7RUFDWCxnQkFBWTtDQUNiOztBQ3pISDs7d0VBRXdFO0F0Qld2RTtFc0JSQTtJQUNFLG1CQUFlO0lBQ2YsMEJBQWtCO0dBQ25CO0NyQ3cxRkQ7O0FxQ2wxRkQ7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBdEI3Q3ZFO0VzQmdEQTtJQUNFLGdCQUFlO0lBQ2YsMkJBQWtCO0dBQ25CO0NyQzR6RkQ7O0FzQzEzRkQ7RUFDRSxXQUFVO0VBQ1YsVUFBUztFQUNULFVBQVM7RUFDVCxhQUFZO0NBQ2I7O0FBbUREO0VBQ0UsZUFBYztFQUNkLFlBQVc7RUFDWCwwQkFBaUI7RUFDakIsK0JBQThCO0VBQzlCLGVBQWM7RUFDZCxvQkFBbUI7RUFDbkIsYUFBWTtFQUNaLHdCQUF1QjtFQUN2Qix1QkFBc0I7RUFDdEIsNkJBQXNCO0VBQ3RCLHlCQUFrQjtFQUVsQix1RkFBc0U7RUFBdEUsK0VBQXNFO0VBQXRFLHVFQUFzRTtFQUF0RSw0R0FBc0U7RUFDdEUseUJBQXdCO0NBaUN6Qjs7QUEvQ0Q7RUFpQkksWUFBVztDQUNaOztBQWxCSDtFQWlCSSxZQUFXO0NBQ1o7O0FBbEJIO0VBaUJJLFlBQVc7Q0FDWjs7QUFsQkg7RUFpQkksWUFBVztDQUNaOztBQWxCSDtFQWlCSSxZQUFXO0NBQ1o7O0FBbEJIO0VBcUJJLFVBQVM7RUFDVCw4QkFBNkI7Q0FDOUI7O0FBdkJIO0VBMkJJLHNCckNyRlU7RXFDc0ZWLHlGQUY4RTtVQUU5RSxpRkFGOEU7Q0FHL0U7O0FBb0JIO0VBQ0UsYUFBWTtFQUNaLGlCQUFnQjtDQUNqQjs7QUFpQkQ7RUFDRSx5QkFBbUI7Q0FDcEI7O0FBU0Q7RUFDRSxtQkFBa0I7Q0FDbkI7O0FBRUQ7RUFFSSxZQUFXO0V2QjdIZCxtQkFBa0I7RUFDbEIsUUFGc0Q7RUFHdEQsU0FIZ0M7RUFJaEMsT0FKcUI7RUFLckIsVUFMNEM7RXVCZ0l6QyxXQUFVO0NBQ1g7O0FBR0g7RUFDRSxlckN6SWU7RXFDMElmLG1CQUFrQjtFQUNsQixpQkFBZ0I7Q0FDakI7O0FDMUpEOzt3RUFFd0U7QXhCV3ZFO0V3QlJBO0lBQ0UsaUJBQVk7SUFDWixtQkFBZTtHQUNoQjtFQUVEO0lBQ0UscUJBQWlCO0dBQ2xCO0N2Qys3RkQ7O0F1Q3o3RkQ7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBeEJqRHZFO0V3Qm9EQTtJQUNFLGVBQVk7SUFDWixnQkFBZTtHQUNoQjtFQUVEO0lBQ0Usc0JBQWlCO0dBQ2xCO0N2Q2s2RkQ7O0F3Q2grRkQ7RUFDRSxpQkFBZ0I7Q0FDakI7O0FBR0Q7RUFDRSxjQUFhO0VBQ2IsaUJBQWdCO0VBQ2hCLGdCQUFlO0VBQ2YsT0FBTTtFQUNOLFNBQVE7RUFDUixVQUFTO0VBQ1QsUUFBTztFQUNQLGNBQWE7RUFDYixrQ0FBaUM7RUFJakMsV0FBVTtDQVVYOztBQXZCRDtFQWlCSSxzQ0FBNkI7VUFBN0IsOEJBQTZCO0VBQzdCLG1EQUFrQztFQUFsQywyQ0FBa0M7RUFBbEMsbUNBQWtDO0VBQWxDLG1FQUFrQztDQUNuQzs7QUFuQkg7RUFxQkksbUNBQTBCO1VBQTFCLDJCQUEwQjtDQUMzQjs7QUFFSDtFQUNFLG1CQUFrQjtFQUNsQixpQkFBZ0I7Q0FDakI7O0FBR0Q7RUFDRSxxQkFBYTtFQUFiLHFCQUFhO0VBQWIsY0FBYTtFQUNiLGFBQVk7RUFDWiwwQkFBbUI7TUFBbkIsdUJBQW1CO1VBQW5CLG9CQUFtQjtFQUNuQix5QkFBdUI7TUFBdkIsc0JBQXVCO1VBQXZCLHdCQUF1QjtDQUN4Qjs7QUFJRDtFQUNFLG1CQUFrQjtFQUNsQixrQkFBaUI7RUFDakIseUR2Q3pEWTtVdUN5RFosaUR2Q3pEWTtFdUMwRFosNkJBQTRCO0VBRTVCLFdBQVU7RUFDVix3QkFBbUI7RUFDbkIsWUFBVztDQUNaOztBQUdEO0VBQ0UsZ0JBQWU7RUFDZixPQUFNO0VBQ04sU0FBUTtFQUNSLFVBQVM7RUFDVCxRQUFPO0VBQ1AsY0FBYTtFQUNiLGtCQUFpQjtDQVFsQjs7QUFmRDtFQVVJLFdBQVU7Q0FDWDs7QUFYSDtFQWFJLFlBQVc7Q0FDWjs7QUFJSDtFQUNFLG1CQUFrQjtFQUNsQixrQkFBWTtFQUNaLGdCQUFXO0VBQ1gsaUJBQVk7RUFDWixpQkFBZ0I7Q0FDakI7O0FDMUZEOzt3RUFFd0U7QTFCV3ZFO0UwQlJBO0lBQ0Usa0JBQWlCO0lBQ2pCLG1CQUFrQjtJQUNsQixtQkFBZ0I7SUFDaEIsNEJBQXVCO0dBQ3hCO0N6Q3NqR0Q7O0F5Q2hqR0Q7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBMUIvQ3ZFO0UwQmtEQTtJQUNDLGtCQUFhO0dBQ2I7RUFFRDtJQUNFLGtDQUF1QjtHQUN4QjtDekN5aEdEOztBMEM5bEdEOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQ25EeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFO0FBS3hFOzt3RUFFd0U7QUFLeEU7O3dFQUV3RTtBQUt4RTs7d0VBRXdFIiwiZmlsZSI6InN0eWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi8qIVxyXG4gKiBydXN0ZW10YXN0YW5vdkBnbWFpbC5jb20sIDIwMjBcclxuICovXHJcblxyXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL25vcm1hbGl6ZS1jc3Mvbm9ybWFsaXplXCI7XHJcblxyXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XHJcbkBpbXBvcnQgXCJ2YXJpYWJsZXMtcmVzcG9uc2l2ZVwiO1xyXG5AaW1wb3J0IFwidmFyaWFibGVzLWNvbG91cnNcIjtcclxuXHJcbkBpbXBvcnQgXCJtaXhpbnMvdGV4dFwiO1xyXG5AaW1wb3J0IFwibWl4aW5zL3V0aWxzXCI7XHJcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvY2xlYXJmaXhcIjtcclxuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy90ZXh0LW92ZXJmbG93XCI7XHJcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvcmVzZXQtdGV4dFwiO1xyXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvbWl4aW5zL2ltYWdlXCI7XHJcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvZ3JpZC1mcmFtZXdvcmtcIjtcclxuQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL21peGlucy9ncmlkXCI7XHJcbkBpbXBvcnQgXCJub2RlX21vZHVsZXMvYm9vdHN0cmFwLXNhc3MvYXNzZXRzL3N0eWxlc2hlZXRzL2Jvb3RzdHJhcC9taXhpbnMvcmVzcG9uc2l2ZS12aXNpYmlsaXR5XCI7XHJcblxyXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvZ3JpZFwiO1xyXG5AaW1wb3J0IFwibm9kZV9tb2R1bGVzL2Jvb3RzdHJhcC1zYXNzL2Fzc2V0cy9zdHlsZXNoZWV0cy9ib290c3RyYXAvcmVzcG9uc2l2ZS11dGlsaXRpZXNcIjtcclxuLy8gQGltcG9ydCBcIm5vZGVfbW9kdWxlcy9ib290c3RyYXAtc2Fzcy9hc3NldHMvc3R5bGVzaGVldHMvYm9vdHN0cmFwL3Jlc3BvbnNpdmUtZW1iZWRcIjtcclxuXHJcbkBpbXBvcnQgXCJyZWJvb3RcIjtcclxuQGltcG9ydCBcImZvbnRzXCI7XHJcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5XCI7XHJcbkBpbXBvcnQgXCJ0eXBvZ3JhcGh5LmFkYXB0aXZlXCI7XHJcbkBpbXBvcnQgXCJpY29uc1wiO1xyXG5AaW1wb3J0IFwibGlua3NcIjtcclxuQGltcG9ydCBcImxpbmtzLmFkYXB0aXZlXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzXCI7XHJcbkBpbXBvcnQgXCJoZWxwZXJzLmFkYXB0aXZlXCI7XHJcbi8vIEBpbXBvcnQgXCJ0YWJzXCI7XHJcbi8vIEBpbXBvcnQgXCJkcm9wZG93bnNcIjtcclxuLy8gQGltcG9ydCBcImRyb3Bkb3ducy5hZGFwdGl2ZVwiO1xyXG5cclxuQGltcG9ydCBcImxheW91dFwiO1xyXG5AaW1wb3J0IFwibGF5b3V0LmFkYXB0aXZlXCI7XHJcblxyXG4vLyBAaW1wb3J0IFwiLi4vY29tcG9uZW50cy9oZWFkZXIvaGVhZGVyXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2hlYWRlci9oZWFkZXIuYWRhcHRpdmVcIjtcclxuXHJcbi8vIEBpbXBvcnQgXCIuLi9jb21wb25lbnRzL25hdi1tYWluL25hdi1tYWluXCI7XHJcbi8vIEBpbXBvcnQgXCIuLi9jb21wb25lbnRzL25hdi1tYWluL25hdi1tYWluLmFkYXB0aXZlXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9jb25zdWx0YW50L2NvbnN1bHRhbnRcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvY29uc3VsdGFudC9jb25zdWx0YW50LmFkYXB0aXZlXCI7XHJcblxyXG5AaW1wb3J0IFwiLi4vY29tcG9uZW50cy9zZWN0aW9uL3NlY3Rpb25cIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbi9zZWN0aW9uLmFkYXB0aXZlXCI7XHJcblxyXG5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbi1wcm9tby9zZWN0aW9uLXByb21vXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3NlY3Rpb24tcHJvbW8vc2VjdGlvbi1wcm9tby5hZGFwdGl2ZVwiO1xyXG5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbi1iZW5lZml0cy9zZWN0aW9uLWJlbmVmaXRzXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3NlY3Rpb24tYmVuZWZpdHMvc2VjdGlvbi1iZW5lZml0cy5hZGFwdGl2ZVwiO1xyXG5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbi10ZXJtcy9zZWN0aW9uLXRlcm1zXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3NlY3Rpb24tdGVybXMvc2VjdGlvbi10ZXJtcy5hZGFwdGl2ZVwiO1xyXG5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvc2VjdGlvbi12aWRlby9zZWN0aW9uLXZpZGVvXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL3NlY3Rpb24tdmlkZW8vc2VjdGlvbi12aWRlby5hZGFwdGl2ZVwiO1xyXG5cclxuXHJcbkBpbXBvcnQgXCJidXR0b25zXCI7XHJcbkBpbXBvcnQgXCJidXR0b25zLmFkYXB0aXZlXCI7XHJcbkBpbXBvcnQgXCJmb3Jtc1wiO1xyXG5AaW1wb3J0IFwiZm9ybXMuYWRhcHRpdmVcIjtcclxuQGltcG9ydCBcIm1vZGFsXCI7XHJcbkBpbXBvcnQgXCJtb2RhbC5hZGFwdGl2ZVwiO1xyXG5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvZm9ybS1vcmRlci9mb3JtLW9yZGVyXCI7XHJcbkBpbXBvcnQgXCIuLi9jb21wb25lbnRzL2Zvcm0tb3JkZXIvZm9ybS1vcmRlci5hZGFwdGl2ZVwiO1xyXG5cclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvbW9kYWwtb3JkZXIvbW9kYWwtb3JkZXJcIjtcclxuQGltcG9ydCBcIi4uL2NvbXBvbmVudHMvbW9kYWwtb3JkZXIvbW9kYWwtb3JkZXIuYWRhcHRpdmVcIjsiLCIvKiEgbm9ybWFsaXplLmNzcyB2Mi4xLjMgfCBNSVQgTGljZW5zZSB8IGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAgIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG91dGxpbmVgIGluY29uc2lzdGVuY3kgYmV0d2VlbiBDaHJvbWUgYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmE6Zm9jdXMge1xuICAgIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFR5cG9ncmFwaHlcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBwcmUtZm9ybWF0dGVkIHRleHQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5cbnEge1xuICAgIHF1b3RlczogXCJcXDIwMUNcIiBcIlxcMjAxRFwiIFwiXFwyMDE4XCIgXCJcXDIwMTlcIjtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5cbmltZyB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgZGlzcGxheWVkIG9kZGx5IGluIElFIDkuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGaWd1cmVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpIDUuXG4gKi9cblxuZmlndXJlIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgbWFyZ2luOiAwIDJweDtcbiAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gICAgYm9yZGVyOiAwOyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7IC8qIDEgKi9cbiAgICBmb250LXNpemU6IDEwMCU7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDgrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gICAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gICAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSA1IGFuZCBDaHJvbWVcbiAqIG9uIE9TIFguXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnRleHRhcmVhIHtcbiAgICBvdmVyZmxvdzogYXV0bzsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG4iLCIvKiFcclxuICogcnVzdGVtdGFzdGFub3ZAZ21haWwuY29tLCAyMDIwXHJcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjIuMS4zIHwgTUlUIExpY2Vuc2UgfCBnaXQuaW8vbm9ybWFsaXplICovXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKi9cbmF1ZGlvLFxuY2FudmFzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cbmEge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdXRsaW5lYCBpbmNvbnNpc3RlbmN5IGJldHdlZW4gQ2hyb21lIGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuYTpmb2N1cyB7XG4gIG91dGxpbmU6IHRoaW4gZG90dGVkO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgVHlwb2dyYXBoeVxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOSwgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmkgNSwgYW5kIENocm9tZS5cbiAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIFNhZmFyaSA1IGFuZCBDaHJvbWUuXG4gKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgc2VyaWY7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgcHJlLWZvcm1hdHRlZCB0ZXh0IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4vKipcbiAqIFNldCBjb25zaXN0ZW50IHF1b3RlIHR5cGVzLlxuICovXG5xIHtcbiAgcXVvdGVzOiBcIlxcMjAxQ1wiIFwiXFwyMDFEXCIgXCJcXDIwMThcIiBcIlxcMjAxOVwiO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LlxuICovXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBkaXNwbGF5ZWQgb2RkbHkgaW4gSUUgOS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRmlndXJlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkgNS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5sZWdlbmQge1xuICBib3JkZXI6IDA7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgZm9udCBmYW1pbHkgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgc2l6ZSBub3QgYmVpbmcgaW5oZXJpdGVkIGluIGFsbCBicm93c2Vycy5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpIDUsIGFuZCBDaHJvbWUuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmJ1dHRvbixcbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBDaHJvbWUsIFNhZmFyaSA1KywgYW5kIElFIDgrLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94IDQrIGFuZCBPcGVyYS5cbiAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIDUgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgNSBhbmQgQ2hyb21lXG4gKiBvbiBPUyBYLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkuXG4gKiAyLiBJbXByb3ZlIHJlYWRhYmlsaXR5IGFuZCBhbGlnbm1lbnQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIC8qIDIgKi9cbn1cblxuLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG4udGV4dC0tcHJpbWFyeSB7XG4gIGNvbG9yOiAjMDBhZGVmO1xufVxuXG4uY29udGFpbmVyIHtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xufVxuXG4uY29udGFpbmVyOmJlZm9yZSwgLmNvbnRhaW5lcjphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmNvbnRhaW5lcjphZnRlciB7XG4gIGNsZWFyOiBib3RoO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmNvbnRhaW5lciB7XG4gICAgd2lkdGg6IDc0MHB4O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogOTYwcHg7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICB3aWR0aDogMTIyMHB4O1xuICB9XG59XG5cbi5jb250YWluZXItZmx1aWQge1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG59XG5cbi5jb250YWluZXItZmx1aWQ6YmVmb3JlLCAuY29udGFpbmVyLWZsdWlkOmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4uY29udGFpbmVyLWZsdWlkOmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IC0xMHB4O1xuICBtYXJnaW4tbGVmdDogLTEwcHg7XG59XG5cbi5yb3c6YmVmb3JlLCAucm93OmFmdGVyIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGNvbnRlbnQ6IFwiIFwiO1xufVxuXG4ucm93OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5yb3ctbm8tZ3V0dGVycyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cbi5yb3ctbm8tZ3V0dGVycyBbY2xhc3MqPVwiY29sLVwiXSB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmNvbC14cy0xLCAuY29sLXNtLTEsIC5jb2wtbWQtMSwgLmNvbC1sZy0xLCAuY29sLXhzLTIsIC5jb2wtc20tMiwgLmNvbC1tZC0yLCAuY29sLWxnLTIsIC5jb2wteHMtMywgLmNvbC1zbS0zLCAuY29sLW1kLTMsIC5jb2wtbGctMywgLmNvbC14cy00LCAuY29sLXNtLTQsIC5jb2wtbWQtNCwgLmNvbC1sZy00LCAuY29sLXhzLTUsIC5jb2wtc20tNSwgLmNvbC1tZC01LCAuY29sLWxnLTUsIC5jb2wteHMtNiwgLmNvbC1zbS02LCAuY29sLW1kLTYsIC5jb2wtbGctNiwgLmNvbC14cy03LCAuY29sLXNtLTcsIC5jb2wtbWQtNywgLmNvbC1sZy03LCAuY29sLXhzLTgsIC5jb2wtc20tOCwgLmNvbC1tZC04LCAuY29sLWxnLTgsIC5jb2wteHMtOSwgLmNvbC1zbS05LCAuY29sLW1kLTksIC5jb2wtbGctOSwgLmNvbC14cy0xMCwgLmNvbC1zbS0xMCwgLmNvbC1tZC0xMCwgLmNvbC1sZy0xMCwgLmNvbC14cy0xMSwgLmNvbC1zbS0xMSwgLmNvbC1tZC0xMSwgLmNvbC1sZy0xMSwgLmNvbC14cy0xMiwgLmNvbC1zbS0xMiwgLmNvbC1tZC0xMiwgLmNvbC1sZy0xMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG59XG5cbi5jb2wteHMtMSwgLmNvbC14cy0yLCAuY29sLXhzLTMsIC5jb2wteHMtNCwgLmNvbC14cy01LCAuY29sLXhzLTYsIC5jb2wteHMtNywgLmNvbC14cy04LCAuY29sLXhzLTksIC5jb2wteHMtMTAsIC5jb2wteHMtMTEsIC5jb2wteHMtMTIge1xuICBmbG9hdDogbGVmdDtcbn1cblxuLmNvbC14cy0xIHtcbiAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtMiB7XG4gIHdpZHRoOiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC14cy0zIHtcbiAgd2lkdGg6IDI1JTtcbn1cblxuLmNvbC14cy00IHtcbiAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLTUge1xuICB3aWR0aDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtNiB7XG4gIHdpZHRoOiA1MCU7XG59XG5cbi5jb2wteHMtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC14cy04IHtcbiAgd2lkdGg6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLTkge1xuICB3aWR0aDogNzUlO1xufVxuXG4uY29sLXhzLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLTEyIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5jb2wteHMtcHVsbC0wIHtcbiAgcmlnaHQ6IGF1dG87XG59XG5cbi5jb2wteHMtcHVsbC0xIHtcbiAgcmlnaHQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtcHVsbC0yIHtcbiAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLXB1bGwtMyB7XG4gIHJpZ2h0OiAyNSU7XG59XG5cbi5jb2wteHMtcHVsbC00IHtcbiAgcmlnaHQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLXB1bGwtNSB7XG4gIHJpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC14cy1wdWxsLTYge1xuICByaWdodDogNTAlO1xufVxuXG4uY29sLXhzLXB1bGwtNyB7XG4gIHJpZ2h0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC14cy1wdWxsLTgge1xuICByaWdodDogNjYuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtcHVsbC05IHtcbiAgcmlnaHQ6IDc1JTtcbn1cblxuLmNvbC14cy1wdWxsLTEwIHtcbiAgcmlnaHQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLXB1bGwtMTEge1xuICByaWdodDogOTEuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtcHVsbC0xMiB7XG4gIHJpZ2h0OiAxMDAlO1xufVxuXG4uY29sLXhzLXB1c2gtMCB7XG4gIGxlZnQ6IGF1dG87XG59XG5cbi5jb2wteHMtcHVzaC0xIHtcbiAgbGVmdDogOC4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC14cy1wdXNoLTIge1xuICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC14cy1wdXNoLTMge1xuICBsZWZ0OiAyNSU7XG59XG5cbi5jb2wteHMtcHVzaC00IHtcbiAgbGVmdDogMzMuMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtcHVzaC01IHtcbiAgbGVmdDogNDEuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtcHVzaC02IHtcbiAgbGVmdDogNTAlO1xufVxuXG4uY29sLXhzLXB1c2gtNyB7XG4gIGxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLXB1c2gtOCB7XG4gIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLXB1c2gtOSB7XG4gIGxlZnQ6IDc1JTtcbn1cblxuLmNvbC14cy1wdXNoLTEwIHtcbiAgbGVmdDogODMuMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtcHVzaC0xMSB7XG4gIGxlZnQ6IDkxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLXB1c2gtMTIge1xuICBsZWZ0OiAxMDAlO1xufVxuXG4uY29sLXhzLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlO1xufVxuXG4uY29sLXhzLW9mZnNldC0xIHtcbiAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG59XG5cbi5jb2wteHMtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjY2NjY2NyU7XG59XG5cbi5jb2wteHMtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlO1xufVxuXG4uY29sLXhzLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY2NjY2NjclO1xufVxuXG4uY29sLXhzLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTtcbn1cblxuLmNvbC14cy1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbn1cblxuLmNvbC14cy1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC14cy1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7XG59XG5cbi5jb2wteHMtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xufVxuXG4uY29sLXhzLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NjY2NjY3JTtcbn1cblxuLmNvbC14cy1vZmZzZXQtMTIge1xuICBtYXJnaW4tbGVmdDogMTAwJTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb2wtc20tMSwgLmNvbC1zbS0yLCAuY29sLXNtLTMsIC5jb2wtc20tNCwgLmNvbC1zbS01LCAuY29sLXNtLTYsIC5jb2wtc20tNywgLmNvbC1zbS04LCAuY29sLXNtLTksIC5jb2wtc20tMTAsIC5jb2wtc20tMTEsIC5jb2wtc20tMTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtc20tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtc20tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLXNtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1zbS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVsbC02IHtcbiAgICByaWdodDogNTAlO1xuICB9XG4gIC5jb2wtc20tcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG4gIC5jb2wtc20tcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2wtc20tcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlO1xuICB9XG4gIC5jb2wtc20tcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1zbS1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tcHVzaC0xMiB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLXNtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtc20tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1zbS1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuY29sLW1kLTEsIC5jb2wtbWQtMiwgLmNvbC1tZC0zLCAuY29sLW1kLTQsIC5jb2wtbWQtNSwgLmNvbC1tZC02LCAuY29sLW1kLTcsIC5jb2wtbWQtOCwgLmNvbC1tZC05LCAuY29sLW1kLTEwLCAuY29sLW1kLTExLCAuY29sLW1kLTEyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgfVxuICAuY29sLW1kLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtMyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxuICAuY29sLW1kLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLTYge1xuICAgIHdpZHRoOiA1MCU7XG4gIH1cbiAgLmNvbC1tZC03IHtcbiAgICB3aWR0aDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC04IHtcbiAgICB3aWR0aDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC05IHtcbiAgICB3aWR0aDogNzUlO1xuICB9XG4gIC5jb2wtbWQtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC0xMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTAge1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0xIHtcbiAgICByaWdodDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtMiB7XG4gICAgcmlnaHQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtcHVsbC0zIHtcbiAgICByaWdodDogMjUlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC00IHtcbiAgICByaWdodDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTUge1xuICAgIHJpZ2h0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNiB7XG4gICAgcmlnaHQ6IDUwJTtcbiAgfVxuICAuY29sLW1kLXB1bGwtNyB7XG4gICAgcmlnaHQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVsbC04IHtcbiAgICByaWdodDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTkge1xuICAgIHJpZ2h0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTEwIHtcbiAgICByaWdodDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTExIHtcbiAgICByaWdodDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdWxsLTEyIHtcbiAgICByaWdodDogMTAwJTtcbiAgfVxuICAuY29sLW1kLXB1c2gtMCB7XG4gICAgbGVmdDogYXV0bztcbiAgfVxuICAuY29sLW1kLXB1c2gtMSB7XG4gICAgbGVmdDogOC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLXB1c2gtMiB7XG4gICAgbGVmdDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTMge1xuICAgIGxlZnQ6IDI1JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtNCB7XG4gICAgbGVmdDogMzMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTUge1xuICAgIGxlZnQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtcHVzaC02IHtcbiAgICBsZWZ0OiA1MCU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTcge1xuICAgIGxlZnQ6IDU4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC04IHtcbiAgICBsZWZ0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtOSB7XG4gICAgbGVmdDogNzUlO1xuICB9XG4gIC5jb2wtbWQtcHVzaC0xMCB7XG4gICAgbGVmdDogODMuMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1wdXNoLTExIHtcbiAgICBsZWZ0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLXB1c2gtMTIge1xuICAgIGxlZnQ6IDEwMCU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1tZC1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLW1kLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbWQtb2Zmc2V0LTEyIHtcbiAgICBtYXJnaW4tbGVmdDogMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5jb2wtbGctMSwgLmNvbC1sZy0yLCAuY29sLWxnLTMsIC5jb2wtbGctNCwgLmNvbC1sZy01LCAuY29sLWxnLTYsIC5jb2wtbGctNywgLmNvbC1sZy04LCAuY29sLWxnLTksIC5jb2wtbGctMTAsIC5jb2wtbGctMTEsIC5jb2wtbGctMTIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIC5jb2wtbGctMSB7XG4gICAgd2lkdGg6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy0zIHtcbiAgICB3aWR0aDogMjUlO1xuICB9XG4gIC5jb2wtbGctNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctNiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAuY29sLWxnLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLTkge1xuICAgIHdpZHRoOiA3NSU7XG4gIH1cbiAgLmNvbC1sZy0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLTEyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMCB7XG4gICAgcmlnaHQ6IGF1dG87XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTEge1xuICAgIHJpZ2h0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctcHVsbC0yIHtcbiAgICByaWdodDogMTYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTMge1xuICAgIHJpZ2h0OiAyNSU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTQge1xuICAgIHJpZ2h0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtNSB7XG4gICAgcmlnaHQ6IDQxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVsbC02IHtcbiAgICByaWdodDogNTAlO1xuICB9XG4gIC5jb2wtbGctcHVsbC03IHtcbiAgICByaWdodDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdWxsLTgge1xuICAgIHJpZ2h0OiA2Ni42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtOSB7XG4gICAgcmlnaHQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMTAge1xuICAgIHJpZ2h0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMTEge1xuICAgIHJpZ2h0OiA5MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1bGwtMTIge1xuICAgIHJpZ2h0OiAxMDAlO1xuICB9XG4gIC5jb2wtbGctcHVzaC0wIHtcbiAgICBsZWZ0OiBhdXRvO1xuICB9XG4gIC5jb2wtbGctcHVzaC0xIHtcbiAgICBsZWZ0OiA4LjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctcHVzaC0yIHtcbiAgICBsZWZ0OiAxNi42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLXB1c2gtMyB7XG4gICAgbGVmdDogMjUlO1xuICB9XG4gIC5jb2wtbGctcHVzaC00IHtcbiAgICBsZWZ0OiAzMy4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtNSB7XG4gICAgbGVmdDogNDEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTYge1xuICAgIGxlZnQ6IDUwJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtNyB7XG4gICAgbGVmdDogNTguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTgge1xuICAgIGxlZnQ6IDY2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC05IHtcbiAgICBsZWZ0OiA3NSU7XG4gIH1cbiAgLmNvbC1sZy1wdXNoLTEwIHtcbiAgICBsZWZ0OiA4My4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLXB1c2gtMTEge1xuICAgIGxlZnQ6IDkxLjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctcHVzaC0xMiB7XG4gICAgbGVmdDogMTAwJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMzMzMzMyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY2NjY2NjclO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NjY2NjY3JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMzMzMzMzJTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTtcbiAgfVxuICAuY29sLWxnLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzMzMzMzMlO1xuICB9XG4gIC5jb2wtbGctb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjY2NjY2NyU7XG4gIH1cbiAgLmNvbC1sZy1vZmZzZXQtMTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICB9XG59XG5cbkAtbXMtdmlld3BvcnQge1xuICB3aWR0aDogZGV2aWNlLXdpZHRoO1xufVxuXG4udmlzaWJsZS14cyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnZpc2libGUtc20ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi52aXNpYmxlLW1kIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4udmlzaWJsZS1sZyB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLnZpc2libGUteHMtYmxvY2ssXG4udmlzaWJsZS14cy1pbmxpbmUsXG4udmlzaWJsZS14cy1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1zbS1ibG9jayxcbi52aXNpYmxlLXNtLWlubGluZSxcbi52aXNpYmxlLXNtLWlubGluZS1ibG9jayxcbi52aXNpYmxlLW1kLWJsb2NrLFxuLnZpc2libGUtbWQtaW5saW5lLFxuLnZpc2libGUtbWQtaW5saW5lLWJsb2NrLFxuLnZpc2libGUtbGctYmxvY2ssXG4udmlzaWJsZS1sZy1pbmxpbmUsXG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAudmlzaWJsZS14cyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLXhzIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnZpc2libGUteHMsXG4gIHRkLnZpc2libGUteHMge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnZpc2libGUteHMtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20ge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUudmlzaWJsZS1zbSB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0ci52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0aC52aXNpYmxlLXNtLFxuICB0ZC52aXNpYmxlLXNtIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20tYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnZpc2libGUtc20taW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAudmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAudmlzaWJsZS1tZCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLW1kIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnZpc2libGUtbWQsXG4gIHRkLnZpc2libGUtbWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnZpc2libGUtbWQtYmxvY2sge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kLWlubGluZSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC52aXNpYmxlLW1kLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAudmlzaWJsZS1sZyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZS52aXNpYmxlLWxnIHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50O1xuICB9XG4gIHRyLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50O1xuICB9XG4gIHRoLnZpc2libGUtbGcsXG4gIHRkLnZpc2libGUtbGcge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC52aXNpYmxlLWxnLWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgLnZpc2libGUtbGctaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5oaWRkZW4teHMge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAuaGlkZGVuLXNtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIC5oaWRkZW4tbWQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTIwMHB4KSB7XG4gIC5oaWRkZW4tbGcge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udmlzaWJsZS1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgdGFibGUudmlzaWJsZS1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDtcbiAgfVxuICB0ci52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDtcbiAgfVxuICB0aC52aXNpYmxlLXByaW50LFxuICB0ZC52aXNpYmxlLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLnZpc2libGUtcHJpbnQtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWJsb2NrIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLnZpc2libGUtcHJpbnQtaW5saW5lIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gIC52aXNpYmxlLXByaW50LWlubGluZS1ibG9jayB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgLmhpZGRlbi1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbioge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbmh0bWwge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMCk7XG59XG5cbmlucHV0LFxuYnV0dG9uLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5bcm9sZT1cImJ1dHRvblwiXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnQ29ycG9yYXRlQSc7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvQ29ycG9yYXRlQUN5ci1EZW1pLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Db3Jwb3JhdGVBQ3lyLURlbWkud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9Db3Jwb3JhdGVBQ3lyLURlbWkudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpO1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ0NvcnBvcmF0ZUEnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL0NvcnBvcmF0ZVNUQ1ktQm9sLndvZmYyXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9Db3Jwb3JhdGVTVENZLUJvbC53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4uL2ZvbnRzL0NvcnBvcmF0ZVNUQ1ktQm9sLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdDb3Jwb3JhdGVBJztcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9Db3Jwb3JhdGVTVENZLVJlZy53b2ZmMlwiKSBmb3JtYXQoXCJ3b2ZmMlwiKSwgdXJsKFwiLi4vZm9udHMvQ29ycG9yYXRlU1RDWS1SZWcud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9Db3Jwb3JhdGVTVENZLVJlZy50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuaHRtbCB7XG4gIGZvbnQtc2l6ZTogMTZQWDtcbn1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkNvcnBvcmF0ZUFcIiwgc2Fucy1zZXJpZjtcbiAgY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IG5vbmU7XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbn1cblxuYSwgbGFiZWwge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4udGl0bGUtMSxcbi50aXRsZS0yLFxuLnRpdGxlLTMge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5wIHtcbiAgbWFyZ2luOiAwIDAgMjlweDtcbn1cblxudWwsXG5vbCB7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDI5cHg7XG59XG5cbnVsIHVsLFxudWwgb2wsXG5vbCB1bCxcbm9sIG9sIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmxpc3QtLXVuc3R5bGVkIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4ubGlzdC0taW5saW5lIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW4tbGVmdDogMDtcbn1cblxuLmxpc3QtLWlubGluZSA+IGxpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC50aXRsZS0yIHtcbiAgICBmb250LXNpemU6IDM2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQzcHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBib2R5IHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIH1cbiAgLnRpdGxlLTEge1xuICAgIGZvbnQtc2l6ZTogNDhweDtcbiAgICBsaW5lLWhlaWdodDogNThweDtcbiAgfVxuICAudGl0bGUtMyB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0M3B4O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgfVxuICAudGl0bGUtMSB7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0OHB4O1xuICB9XG4gIC50aXRsZS0zIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIGJvZHkge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxuICAudGl0bGUtMSB7XG4gICAgZm9udC1zaXplOiAzNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0M3B4O1xuICB9XG4gIC50aXRsZS0yIHtcbiAgICBmb250LXNpemU6IDMwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIH1cbiAgLnRpdGxlLTMge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgYm9keSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOXB4O1xuICB9XG4gIC50aXRsZS0xIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gIH1cbiAgLnRpdGxlLTIsXG4gIC50aXRsZS0zIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbn1cblxuLmljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi5pY29uLXRlbmdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5saW5lKFwiLi4vaW1nL2lubGluZS9pY29uLXRlbmdlLnBuZ1wiKTtcbn1cblxuLmljb24tZXVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5saW5lKFwiLi4vaW1nL2lubGluZS9pY29uLWV1ci5wbmdcIik7XG59XG5cbi5pY29uLXBob25lIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5saW5lKFwiLi4vaW1nL2lubGluZS9pY29uLXBob25lLnBuZ1wiKTtcbn1cblxuLmljb24tY2hhdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZShcIi4uL2ltZy9pbmxpbmUvaWNvbi1jaGF0LnBuZ1wiKTtcbn1cblxuLmljb24tZG93bmxvYWQge1xuICBiYWNrZ3JvdW5kLWltYWdlOiBpbmxpbmUoXCIuLi9pbWcvaW5saW5lL2ljb24tZG93bmxvYWQucG5nXCIpO1xufVxuXG4uaWNvbi1jbG9zZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZShcIi4uL2ltZy9pbmxpbmUvaWNvbi1jbG9zZS5zdmdcIik7XG59XG5cbi5pY29uLXdoYXRzYXBwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5saW5lKFwiLi4vaW1nL2lubGluZS9pY29uLXdoYXRzYXBwLnN2Z1wiKTtcbn1cblxuLmljb24tbW9yZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZShcIi4uL2ltZy9pbmxpbmUvaWNvbi1tb3JlLnBuZ1wiKTtcbn1cblxuYSB7XG4gIGNvbG9yOiAjMDBhZGVmO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuYTpob3ZlciwgYTpmb2N1cyB7XG4gIGNvbG9yOiAjMDA3NmEzO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5saW5rLS1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi5jbGVhcmZpeDpiZWZvcmUsIC5jbGVhcmZpeDphZnRlciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBjb250ZW50OiBcIiBcIjtcbn1cblxuLmNsZWFyZml4OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7XG59XG5cbi5wdWxsLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xufVxuXG4ucHVsbC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbmltZyB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLmltZy0tY292ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuLnRleHQtLWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udGV4dC0tcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLnRleHQtLWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuW2RhdGEtcm9sZT1cImxhenlpbWdcIl0ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbltkYXRhLXJvbGU9XCJsYXp5aW1nXCJdOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZShcIi4uL2ltZy9pbmxpbmUvc3Bpbm5lci1ibHVlLnN2Z1wiKTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcbn1cblxuW2RhdGEtcm9sZT1cImxhenlpbWdcIl0gaW1nIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAxcztcbn1cblxuW2RhdGEtcm9sZT1cImxhenlpbWdcIl0ubG9hZGVkOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwO1xufVxuXG5bZGF0YS1yb2xlPVwibGF6eWltZ1wiXS5sb2FkZWQgaW1nIHtcbiAgb3BhY2l0eTogMTtcbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICBbY2xhc3NePVwiY29sLVwiXSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG59XG5cbmJvZHkge1xuICBtaW4td2lkdGg6IDMyMHB4O1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG59XG5cbi5jb250YWluZXIge1xuICB3aWR0aDogYXV0bztcbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICBib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIwMHB4O1xuICB9XG4gIC5jb250YWluZXIge1xuICAgIG1heC13aWR0aDogMTIyMHB4O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSBhbmQgKG1heC13aWR0aDogMTE5OXB4KSB7XG4gIGJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogMjAwcHg7XG4gIH1cbiAgLmNvbnRhaW5lciB7XG4gICAgbWF4LXdpZHRoOiA5NjBweDtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIGJvZHkge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDtcbiAgfVxuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDc0MHB4O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDE0cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTRweDtcbiAgfVxufVxuXG4uY29uc3VsdGFudCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTtcbn1cblxuLmNvbnN1bHRhbnQgLmxpbmtzIGEge1xuICB0cmFuc2l0aW9uOiBjb2xvciAuM3M7XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5jb25zdWx0YW50IC5pY29uIHtcbiAgICB3aWR0aDogMjVweDtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5jb25zdWx0YW50IHtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEwcHg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDAuOSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMCAwO1xuICB9XG4gIC5jb25zdWx0YW50IC5hdmEge1xuICAgIHdpZHRoOiAyMTBweDtcbiAgICBoZWlnaHQ6IDI5MHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIC01MXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAwO1xuICB9XG4gIC5jb25zdWx0YW50IC50aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgIHdpZHRoOiAxOTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAjMDA4M2VhO1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0byAyOHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLXJhZGl1czogN3B4O1xuICB9XG4gIC5jb25zdWx0YW50IC5tb3JlIHtcbiAgICB3aWR0aDogMjQxcHg7XG4gICAgaGVpZ2h0OiA1OXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDMwcHg7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMCA4cHg7XG4gICAgYmFja2dyb3VuZDogIzAwODNlYTtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3M7XG4gIH1cbiAgLmNvbnN1bHRhbnQgLm1vcmU6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICMwMDc1ZDE7XG4gIH1cbiAgLmNvbnN1bHRhbnQgLmxpbmtzIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTlweDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDEyMHB4O1xuICAgIG1hcmdpbjogMCBhdXRvIDMwcHg7XG4gIH1cbiAgLmNvbnN1bHRhbnQgLmxpbmtzIGEge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxuICAuY29uc3VsdGFudCAubGlua3MgYSA+ICoge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG4gIC5jb25zdWx0YW50IGxpIHtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gIC5jb25zdWx0YW50IGxpOm50aC1jaGlsZCgxKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTlweDtcbiAgfVxuICAuY29uc3VsdGFudCBsaTpudGgtY2hpbGQoMikge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gIH1cbiAgLmNvbnN1bHRhbnQgLmljb24ge1xuICAgIG1hcmdpbi1yaWdodDogN3B4O1xuICB9XG4gIC5jb25zdWx0YW50IC5pY29uLXBob25lIHtcbiAgICB0b3A6IC00cHg7XG4gIH1cbiAgLmNvbnN1bHRhbnQgLmljb24tbW9yZSB7XG4gICAgdG9wOiAtMnB4O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtYXgtd2lkdGg6IDk5MXB4KSB7XG4gIC5jb25zdWx0YW50IHtcbiAgICB0b3A6IDQ0MHB4O1xuICAgIGxlZnQ6IDIwcHg7XG4gIH1cbiAgLmNvbnN1bHRhbnQgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5jb25zdWx0YW50IHtcbiAgICByaWdodDogMTNweDtcbiAgICB0b3A6IDI1NXB4O1xuICB9XG4gIC5jb25zdWx0YW50IGxpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICB9XG4gIC5jb25zdWx0YW50IC5pY29uIHtcbiAgICB3aWR0aDogMjdweDtcbiAgICBoZWlnaHQ6IDI3cHg7XG4gIH1cbn1cblxuLnNlY3Rpb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLnByb21vLWJnIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi5wcm9tby1sb2dvIHtcbiAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XG59XG5cbi5wcm9tby10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLnMtLXByb21vIHtcbiAgICBwYWRkaW5nLXRvcDogNTFweDtcbiAgfVxuICAucy0tcHJvbW8gLmNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbiAgLnByb21vLWJnIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcHJvbW8tYmctbmV3LmpwZyk7XG4gICAgei1pbmRleDogMDtcbiAgfVxufVxuXG5AbWVkaWEgYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSksIGFsbCBhbmQgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMyAvIDIpLCBhbGwgYW5kIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgYWxsIGFuZCAobWluLXdpZHRoOiA3NjhweCkgYW5kIChtaW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpIHtcbiAgLnByb21vLWJnIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3Byb21vLWJnLW5ld0AyeC5qcGcpO1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucHJvbW8tbG9nbyB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDFweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL2xvZ28ucG5nKTtcbiAgfVxuICAucHJvbW8tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDI5cHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDk5MnB4KSB7XG4gIC5zLS1wcm9tbyB7XG4gICAgbWluLWhlaWdodDogNjMwcHg7XG4gIH1cbiAgLnByb21vLWxvZ28ge1xuICAgIHdpZHRoOiAyOTBweDtcbiAgICBoZWlnaHQ6IDc1cHg7XG4gIH1cbiAgLnByb21vLXRpdGxlLFxuICAucHJvbW8tdGV4dCB7XG4gICAgbWFyZ2luLWxlZnQ6IDM4cHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAucHJvbW8tYmcge1xuICAgIHdpZHRoOiAxMTE1cHg7XG4gICAgaGVpZ2h0OiA2MzBweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDIwMHB4KTtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAucHJvbW8tYmcge1xuICAgIHdpZHRoOiA5MDBweDtcbiAgICBoZWlnaHQ6IDUwOC41MjAxNzkzNzJweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDk0cHgpO1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBTbWFsbFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIGFuZCAobWF4LXdpZHRoOiA5OTFweCkge1xuICAucy0tcHJvbW8ge1xuICAgIG1pbi1oZWlnaHQ6IDQ1MHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtNjBweDtcbiAgfVxuICAucHJvbW8tYmcge1xuICAgIHdpZHRoOiA2OTBweDtcbiAgICBoZWlnaHQ6IDM4OS44NjU0NzA4NTJweDtcbiAgICBsZWZ0OiBjYWxjKDUwJSAtIDEwMHB4KTtcbiAgfVxuICAucHJvbW8tbG9nbyB7XG4gICAgd2lkdGg6IDI1MHB4O1xuICAgIGhlaWdodDogNjQuNjU1MTcyNDEzOHB4O1xuICB9XG4gIC5wcm9tby10aXRsZSxcbiAgLnByb21vLXRleHQge1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucHJvbW8tYmcge1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9wcm9tby1iZy1waG9uZS1uZXcuanBnKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICB9XG59XG5cbkBtZWRpYSBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMS41KSwgYWxsIGFuZCAobWF4LXdpZHRoOiA3NjdweCkgYW5kICgtby1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAzIC8gMiksIGFsbCBhbmQgKG1heC13aWR0aDogNzY3cHgpIGFuZCAobWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAxLjUpLCBhbGwgYW5kIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSkge1xuICAucHJvbW8tYmcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcHJvbW8tYmctcGhvbmUtbmV3QDJ4LmpwZyk7XG4gIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5wcm9tby1sb2dvIHtcbiAgICB3aWR0aDogMTg1cHg7XG4gICAgaGVpZ2h0OiA0NnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9sb2dvLXBob25lLnBuZyk7XG4gIH1cbiAgLnByb21vLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICB9XG4gIC5wcm9tby10ZXh0IHtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICB9XG59XG5cbi5iZW5lZml0cy1pdGVtIC5pbWcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5iZW5lZml0cy1pdGVtIC50ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLmJlbmVmaXRzLWl0ZW0gYiB7XG4gIGNvbG9yOiAjMDBhZGVmO1xufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucy0tYmVuZWZpdHMge1xuICAgIHBhZGRpbmc6IDUycHggMCA3OXB4O1xuICB9XG4gIC5iZW5lZml0cy10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTIycHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW0ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbSAucm93IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZChvZGQpIFtjbGFzc149XCJjb2wtXCJdOm50aC1jaGlsZCgxKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZChldmVuKSBbY2xhc3NePVwiY29sLVwiXTpudGgtY2hpbGQoMSkge1xuICAgIG9yZGVyOiAyO1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZChldmVuKSBbY2xhc3NePVwiY29sLVwiXTpudGgtY2hpbGQoMikge1xuICAgIG9yZGVyOiAxO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkge1xuICAuYmVuZWZpdHMtaXRlbSAudGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDM2cHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDEpIC5pbWcge1xuICAgIHdpZHRoOiAyMjBweDtcbiAgICBoZWlnaHQ6IDIyMHB4O1xuICAgIHRvcDogMTJweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMikge1xuICAgIHRvcDogMzhweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMikgLmltZyB7XG4gICAgd2lkdGg6IDQwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdG9wOiAtNnB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCgzKSB7XG4gICAgdG9wOiAyN3B4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCgzKSAuaW1nIHtcbiAgICB3aWR0aDogNDM1cHg7XG4gICAgaGVpZ2h0OiAyNTBweDtcbiAgICB0b3A6IC0xNHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg0KSB7XG4gICAgdG9wOiAxOHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg0KSAuaW1nIHtcbiAgICB3aWR0aDogNDI1cHg7XG4gICAgaGVpZ2h0OiAyMjVweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNSkge1xuICAgIHRvcDogMzNweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNSkgLmltZyB7XG4gICAgd2lkdGg6IDM4MHB4O1xuICAgIGhlaWdodDogMjc1cHg7XG4gICAgdG9wOiAtMjVweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNikge1xuICAgIHRvcDogMzRweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNikgLmltZyB7XG4gICAgd2lkdGg6IDQxMHB4O1xuICAgIGhlaWdodDogMjc1cHg7XG4gICAgdG9wOiAtMzdweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNykge1xuICAgIHRvcDogMzNweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNykgLmltZyB7XG4gICAgd2lkdGg6IDM4NXB4O1xuICAgIGhlaWdodDogMjYwcHg7XG4gICAgdG9wOiAtNDVweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoOCkge1xuICAgIHRvcDogMTNweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoOCkgLmltZyB7XG4gICAgd2lkdGg6IDQyMHB4O1xuICAgIGhlaWdodDogMjA1cHg7XG4gICAgdG9wOiA1cHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDEyMDBweCkge1xuICAuYmVuZWZpdHMtaXRlbSAucm93IHtcbiAgICBtYXJnaW46IDAgLTcwcHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW0gW2NsYXNzXj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmc6IDAgNzBweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMSkgLmltZyB7XG4gICAgbGVmdDogMjdweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMykgLmltZyB7XG4gICAgbGVmdDogNDBweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNCkgLmltZyB7XG4gICAgbGVmdDogLTMwcHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDUpIC5pbWcge1xuICAgIGxlZnQ6IDYwcHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDYpIC5pbWcge1xuICAgIGxlZnQ6IC0zNHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg3KSAuaW1nIHtcbiAgICBsZWZ0OiA0NXB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg4KSAuaW1nIHtcbiAgICBsZWZ0OiAtMzZweDtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA5OTJweCkgYW5kIChtYXgtd2lkdGg6IDExOTlweCkge1xuICAuYmVuZWZpdHMtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogODBweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbSAucm93IHtcbiAgICBtYXJnaW46IDAgLTQwcHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW0gW2NsYXNzXj1cImNvbC1cIl0ge1xuICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLmJlbmVmaXRzLWl0ZW0gLnJvdyB7XG4gICAgbWFyZ2luOiAwIC0zMHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtIFtjbGFzc149XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW0gLnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCgxKSAuaW1nIHtcbiAgICB3aWR0aDogMTY2cHg7XG4gICAgaGVpZ2h0OiAxNjZweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMikgLmltZyB7XG4gICAgd2lkdGg6IDMwMXB4O1xuICAgIGhlaWdodDogMTUwLjVweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMykgLmltZyB7XG4gICAgd2lkdGg6IDMyN3B4O1xuICAgIGhlaWdodDogMTg3LjkzMTAzNDQ4M3B4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg0KSAuaW1nIHtcbiAgICB3aWR0aDogMzIwcHg7XG4gICAgaGVpZ2h0OiAxNjkuNDExNzY0NzA2cHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDUpIC5pbWcge1xuICAgIHdpZHRoOiAyODZweDtcbiAgICBoZWlnaHQ6IDIwNi45NzM2ODQyMTFweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNikgLmltZyB7XG4gICAgd2lkdGg6IDMwOXB4O1xuICAgIGhlaWdodDogMjA3LjI1NjA5NzU2MXB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg3KSAuaW1nIHtcbiAgICB3aWR0aDogMjkwcHg7XG4gICAgaGVpZ2h0OiAxOTUuODQ0MTU1ODQ0cHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDgpIC5pbWcge1xuICAgIHdpZHRoOiAzMTZweDtcbiAgICBoZWlnaHQ6IDE1NC4yMzgwOTUyMzhweDtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLnMtLWJlbmVmaXRzIHtcbiAgICBwYWRkaW5nOiA4MHB4IDAgMTAwcHg7XG4gIH1cbiAgLmJlbmVmaXRzLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5iZW5lZml0cy1pdGVtIC50aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbSAuaW1nIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMSkge1xuICAgIG1hcmdpbi1ib3R0b206IDkzcHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDEpIC5pbWcge1xuICAgIHdpZHRoOiAxMDVweDtcbiAgICBoZWlnaHQ6IDEwNXB4O1xuICAgIHRvcDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDMycHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3NHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCgyKSAuaW1nIHtcbiAgICB3aWR0aDogMTkzcHg7XG4gICAgaGVpZ2h0OiA5Ni41cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzFweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoMykge1xuICAgIG1hcmdpbi1ib3R0b206IDg4cHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDMpIC5pbWcge1xuICAgIHdpZHRoOiAyMDlweDtcbiAgICBoZWlnaHQ6IDEyMC4xMTQ5NDI1MjlweDtcbiAgICBsZWZ0OiAtNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI2cHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg0KSAuaW1nIHtcbiAgICB3aWR0aDogMTk3cHg7XG4gICAgaGVpZ2h0OiAxMDQuMjk0MTE3NjQ3cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNSkge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDUpIC5pbWcge1xuICAgIHdpZHRoOiAxOTdweDtcbiAgICBoZWlnaHQ6IDE0Mi41NjU3ODk0NzRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg2KSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjhweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoNikgLmltZyB7XG4gICAgd2lkdGg6IDE5N3B4O1xuICAgIGhlaWdodDogMTMyLjEzNDE0NjM0MXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gIH1cbiAgLmJlbmVmaXRzLWl0ZW06bnRoLWNoaWxkKDcpIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4NXB4O1xuICB9XG4gIC5iZW5lZml0cy1pdGVtOm50aC1jaGlsZCg3KSAuaW1nIHtcbiAgICB3aWR0aDogMjAycHg7XG4gICAgaGVpZ2h0OiAxMzYuNDE1NTg0NDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgfVxuICAuYmVuZWZpdHMtaXRlbTpudGgtY2hpbGQoOCkgLmltZyB7XG4gICAgd2lkdGg6IDIwM3B4O1xuICAgIGhlaWdodDogOTkuMDgzMzMzMzMzM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDMxcHg7XG4gIH1cbn1cblxuLnMtLXRlcm1zOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcbn1cblxuLnRlcm1zLWl0ZW0ge1xuICBmb250LXdlaWdodDogNzAwO1xufVxuXG4udGVybXMtaXRlbSAudmFsdWUge1xuICBjb2xvcjogIzAwYWRlZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xufVxuXG4udGVybXMtaXRlbSAudmFsdWUgPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4udGVybXMtaXRlbSAudmFsdWUgZGl2IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNXB4O1xufVxuXG4udGVybXMtaXRlbSAudGl0bGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB3aGl0ZTtcbn1cblxuLnRlcm1zLWl0ZW0gc3ViIHtcbiAgYm90dG9tOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi50ZXJtcy1pdGVtIHN0cm9uZyB7XG4gIGxldHRlci1zcGFjaW5nOiAtLjFlbTtcbn1cblxuLnRlcm1zLWl0ZW0gc21hbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5zLS10ZXJtczo6YmVmb3JlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMjFweDtcbiAgICB3aWR0aDogNDgwcHg7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogaW5saW5lKFwiLi4vaW1nL2lubGluZS90ZXJtcy1saW5lLnBuZ1wiKTtcbiAgfVxuICAudGVybXMtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDY2cHg7XG4gIH1cbiAgLnRlcm1zLWxpc3QgW2NsYXNzXj1cImNvbC1cIl06bnRoLWNoaWxkKDEpIC52YWx1ZSB7XG4gICAgbGVmdDogLTVweDtcbiAgfVxuICAudGVybXMtbGlzdCBbY2xhc3NePVwiY29sLVwiXTpudGgtY2hpbGQoMykgLnZhbHVlIHtcbiAgICBsZWZ0OiAtM3B4O1xuICB9XG4gIC50ZXJtcy1saXN0IFtjbGFzc149XCJjb2wtXCJdOm50aC1jaGlsZCg0KSAudmFsdWUge1xuICAgIGZvbnQtc2l6ZTogNDNweDtcbiAgICBwYWRkaW5nLXRvcDogMTdweDtcbiAgfVxuICAudGVybXMtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gIH1cbiAgLnRlcm1zLWl0ZW0gLnZhbHVlIHtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgaGVpZ2h0OiAxMjZweDtcbiAgfVxuICAudGVybXMtaXRlbSAudmFsdWUgZGl2IHtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICB9XG4gIC50ZXJtcy1pdGVtIC50aXRsZTo6YmVmb3JlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgIHdpZHRoOiA0M3B4O1xuICB9XG4gIC50ZXJtcy1pdGVtIHN1YiB7XG4gICAgdG9wOiA0MnB4O1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICBsZWZ0OiAtMzVweDtcbiAgfVxuICAudGVybXMtaXRlbSBzdHJvbmcge1xuICAgIGZvbnQtc2l6ZTogODhweDtcbiAgfVxuICAudGVybXMtaXRlbSBzbWFsbCB7XG4gICAgdG9wOiAxOHB4O1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICByaWdodDogLTQ3cHg7XG4gIH1cbiAgLnRlcm1zLWl0ZW0gLmljb24ge1xuICAgIHdpZHRoOiA0NXB4O1xuICAgIGhlaWdodDogNTVweDtcbiAgICBsZWZ0OiAzcHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogOTkycHgpIGFuZCAobWF4LXdpZHRoOiAxMTk5cHgpIHtcbiAgLnRlcm1zLWxpc3QgW2NsYXNzXj1cImNvbC1cIl06bnRoLWNoaWxkKDMpIHtcbiAgICBsZWZ0OiAtMjBweDtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSBhbmQgKG1heC13aWR0aDogOTkxcHgpIHtcbiAgLnRlcm1zLWxpc3Qge1xuICAgIG1heC13aWR0aDogNTgwcHg7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5zLS10ZXJtcyB7XG4gICAgcGFkZGluZy1ib3R0b206IDQ0cHg7XG4gIH1cbiAgLnMtLXRlcm1zOjpiZWZvcmUge1xuICAgIG1hcmdpbi1ib3R0b206IDg4cHg7XG4gICAgd2lkdGg6IDIzMnB4O1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZShcIi4uL2ltZy9pbmxpbmUvdGVybXMtbGluZS1waG9uZS5wbmdcIik7XG4gIH1cbiAgLnRlcm1zLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4NHB4O1xuICB9XG4gIC50ZXJtcy1saXN0IFtjbGFzc149XCJjb2wtXCJdOm50aC1jaGlsZCgxKSAudmFsdWUge1xuICAgIGxlZnQ6IC02cHg7XG4gIH1cbiAgLnRlcm1zLWxpc3QgW2NsYXNzXj1cImNvbC1cIl06bnRoLWNoaWxkKDIpIC52YWx1ZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzJweDtcbiAgfVxuICAudGVybXMtbGlzdCBbY2xhc3NePVwiY29sLVwiXTpudGgtY2hpbGQoMykgLnZhbHVlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyN3B4O1xuICB9XG4gIC50ZXJtcy1saXN0IFtjbGFzc149XCJjb2wtXCJdOm50aC1jaGlsZCg0KSAudmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgfVxuICAudGVybXMtaXRlbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzdweDtcbiAgfVxuICAudGVybXMtaXRlbSAudmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICB9XG4gIC50ZXJtcy1pdGVtIC52YWx1ZSBkaXYge1xuICAgIG1hcmdpbi10b3A6IC01cHg7XG4gIH1cbiAgLnRlcm1zLWl0ZW0gLnRpdGxlIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIH1cbiAgLnRlcm1zLWl0ZW0gLnRpdGxlOjpiZWZvcmUge1xuICAgIG1hcmdpbi1ib3R0b206IDIycHg7XG4gICAgd2lkdGg6IDM1cHg7XG4gIH1cbiAgLnRlcm1zLWl0ZW0gc3ViIHtcbiAgICB0b3A6IDM1cHg7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIGxlZnQ6IC0yOXB4O1xuICB9XG4gIC50ZXJtcy1pdGVtIHN0cm9uZyB7XG4gICAgZm9udC1zaXplOiA3M3B4O1xuICB9XG4gIC50ZXJtcy1pdGVtIHNtYWxsIHtcbiAgICB0b3A6IDE1cHg7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIHJpZ2h0OiAtMzlweDtcbiAgfVxuICAudGVybXMtaXRlbSAuaWNvbiB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiA0NHB4O1xuICB9XG59XG5cbi5zLS12aWRlbyB7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi52aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgYm9yZGVyLXJhZGl1czogMTZweDtcbn1cblxuLnZpZGVvID4gKiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG52aWRlbyB7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgbWluLXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbn1cblxudmlkZW86Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAucy0tdmlkZW8ge1xuICAgIHBhZGRpbmc6IDg0cHggMCAxMzlweDtcbiAgfVxuICAucy0tdmlkZW86OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBib3R0b206IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogLTEwMCU7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICB6LWluZGV4OiAtMTtcbiAgfVxuICAudmlkZW8tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDY5cHg7XG4gIH1cbiAgLnZpZGVvLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogODcwcHg7XG4gIH1cbiAgLnZpZGVvIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNTYuMjA2ODk2NTUxNyU7XG4gICAgYm94LXNoYWRvdzogMCAzM3B4IDQwcHggMCByZ2JhKDAsIDAsIDAsIDAuMjIpO1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAucy0tdmlkZW8ge1xuICAgIHBhZGRpbmc6IDMwcHggMCAxMjhweDtcbiAgfVxuICAucy0tdmlkZW86OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDgycHg7XG4gICAgYm90dG9tOiAwO1xuICAgIGJhY2tncm91bmQ6ICMxYTFhMWE7XG4gIH1cbiAgLnZpZGVvLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzM3B4O1xuICB9XG4gIC52aWRlbyB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjIwNjg5NjU1MTclO1xuICB9XG59XG5cbmJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4uYnRuLFxuLmJ0bi0tdW5zdHlsZWQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyODU3MTQyOTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbi5idG4tLXVuc3R5bGVkIHtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uYnRuIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYm94LXNoYWRvdywgYmFja2dyb3VuZC1jb2xvciwgY29sb3I7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IC4ycztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5idG4gPiAqIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uYnRuOmFjdGl2ZTpub3QoW2Rpc2FibGVkXSksIC5idG4uYWN0aXZlOm5vdChbZGlzYWJsZWRdKSB7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgM3B4IDVweCByZ2JhKDAsIDAsIDAsIDAuMTI1KTtcbn1cblxuLmJ0bltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAuOTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbmEuYnRuLmRpc2FibGVkLFxuZmllbGRzZXRbZGlzYWJsZWRdIGEuYnRuIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5idG4tLWJsb2NrIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLmJ0bi0tYmxvY2ssXG5pbnB1dFt0eXBlPVwiYnV0dG9uXCJdLmJ0bi0tYmxvY2sge1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmJ0bi0tc3VibWl0OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDQwcHg7XG4gIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW5saW5lKFwiLi4vaW1nL2lubGluZS9zcGlubmVyLXdoaXRlLnN2Z1wiKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC4ycztcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG59XG5cbi5mb3JtLS1sb2FkaW5nIC5idG4tLXN1Ym1pdCA+IHNwYW4ge1xuICBvcGFjaXR5OiAwO1xufVxuXG4uZm9ybS0tbG9hZGluZyAuYnRuLS1zdWJtaXQ6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XG59XG5cbi5idG4tLXByaW1hcnkge1xuICBjb2xvcjogd2hpdGU7XG4gIGJhY2tncm91bmQ6ICMwMGFkZWY7XG4gIGJvcmRlci1jb2xvcjogIzAwYWRlZjtcbn1cblxuLmJ0bi0tcHJpbWFyeTpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMwMDc2YTM7XG4gIGJvcmRlci1jb2xvcjogIzAwNzZhMztcbn1cblxuLmJ0bi0tY2xvc2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDI7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6IDIwcHg7XG59XG5cbi5idG4tLWNsb3NlIC5pY29uIHtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmJ0biB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHBhZGRpbmc6IDE1cHggNDBweDtcbiAgfVxufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBTbWFsbFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgLmJ0biB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgfVxufVxuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAwO1xuICBtaW4td2lkdGg6IDA7XG59XG5cbi5mb3JtLWNvbnRyb2wge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDZweCAxMnB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0Mjg1NzE0Mjk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogYmxhY2s7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICBib3JkZXItcmFkaXVzOiA1cHg7XG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmZvcm0tY29udHJvbDo6cGxhY2Vob2xkZXIge1xuICBjb2xvcjogIzk5OTtcbn1cblxuLmZvcm0tY29udHJvbDo6LW1zLWV4cGFuZCB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi5mb3JtLWNvbnRyb2w6Zm9jdXMge1xuICBib3JkZXItY29sb3I6ICMwMGFkZWY7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KSwgMCAwIDhweCByZ2JhKDAsIDE3MywgMjM5LCAwLjYpO1xufVxuXG50ZXh0YXJlYS5mb3JtLWNvbnRyb2wge1xuICBoZWlnaHQ6IGF1dG87XG4gIHJlc2l6ZTogdmVydGljYWw7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbn1cblxuZm9ybSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLmZvcm0tLWxvYWRpbmc6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAxO1xufVxuXG4uZm9ybS1yZXNwb25zZSB7XG4gIGNvbG9yOiAjMWExYTFhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mb3JtLWNvbnRyb2wge1xuICAgIGhlaWdodDogNTBweDtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gIH1cbiAgLmZvcm0tY29udHJvbHMge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkge1xuICAuZm9ybS1jb250cm9sIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG4gIC5mb3JtLWNvbnRyb2xzIHtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgfVxufVxuXG4ubW9kYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5tb2RhbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDUwO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG91dGxpbmU6IDA7XG59XG5cbi5tb2RhbC5mYWRlIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtMjUlKTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIC40cyBlYXNlLW91dDtcbn1cblxuLm1vZGFsLmluIC5tb2RhbC1kaWFsb2cge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTtcbn1cblxuLm1vZGFsLW9wZW4gLm1vZGFsIHtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4ubW9kYWwtZGlhbG9nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLm1vZGFsLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHdoaXRlO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAxMHB4IHJnYmEoMCwgMTczLCAyMzksIDAuMyk7XG4gIGJhY2tncm91bmQtY2xpcDogcGFkZGluZy1ib3g7XG4gIG91dGxpbmU6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4ubW9kYWwtYmFja2Ryb3Age1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTA0MDtcbiAgYmFja2dyb3VuZDogYmxhY2s7XG59XG5cbi5tb2RhbC1iYWNrZHJvcC5mYWRlIHtcbiAgb3BhY2l0eTogMDtcbn1cblxuLm1vZGFsLWJhY2tkcm9wLmluIHtcbiAgb3BhY2l0eTogLjc7XG59XG5cbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtOTk5OXB4O1xuICB3aWR0aDogNTBweDtcbiAgaGVpZ2h0OiA1MHB4O1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAubW9kYWwtY29udGVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgcGFkZGluZzogODBweCA0MHB4IDQwcHg7XG4gIH1cbn1cblxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSB7XG4gIC5tb2RhbC1kaWFsb2cge1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gIH1cbiAgLm1vZGFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDYwcHggMjBweCAzMHB4O1xuICB9XG59XG5cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBTbWFsbFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXG4iLCIkYmx1ZTogIzAwYWRlZjtcclxuJGdyZWVuOiBncmVlbjtcclxuJG9yYW5nZTogb3JhbmdlO1xyXG4kcmVkOiByZWQ7XHJcbiRwaW5rOiBwaW5rO1xyXG4kY3lhbjogY3lhbjtcclxuJHB1cnBsZTogcHVycGxlO1xyXG4kZ3JheTogZ3JheTtcclxuJHllbGxvdzogeWVsbG93O1xyXG5cclxuJGJyYW5kLXByaW1hcnk6ICRibHVlO1xyXG4kYnJhbmQtc2Vjb25kYXJ5OiAkZ3JlZW47XHJcblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4kYm9keS1iZzogIzFhMWExYSAhZGVmYXVsdDtcclxuJHRleHQtY29sb3I6IHdoaXRlICFkZWZhdWx0O1xyXG5cclxuJGxpbmstY29sb3I6ICRicmFuZC1wcmltYXJ5ICFkZWZhdWx0O1xyXG4kbGluay1ob3Zlci1jb2xvcjogZGFya2VuKCRsaW5rLWNvbG9yLCAxNSUpICFkZWZhdWx0O1xyXG5cclxuLnRleHQtLXByaW1hcnkge1xyXG5cdGNvbG9yOiAkYnJhbmQtcHJpbWFyeTtcclxufSIsIi8vXG4vLyBHcmlkIHN5c3RlbVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuXG4vLyBDb250YWluZXIgd2lkdGhzXG4vL1xuLy8gU2V0IHRoZSBjb250YWluZXIgd2lkdGgsIGFuZCBvdmVycmlkZSBpdCBmb3IgZml4ZWQgbmF2YmFycyBpbiBtZWRpYSBxdWVyaWVzLlxuXG4uY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY29udGFpbmVyLWZpeGVkO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLXNtO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLW1kO1xuICB9XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHdpZHRoOiAkY29udGFpbmVyLWxnO1xuICB9XG59XG5cblxuLy8gRmx1aWQgY29udGFpbmVyXG4vL1xuLy8gVXRpbGl6ZXMgdGhlIG1peGluIG1lYW50IGZvciBmaXhlZCB3aWR0aCBjb250YWluZXJzLCBidXQgd2l0aG91dCBhbnkgZGVmaW5lZFxuLy8gd2lkdGggZm9yIGZsdWlkLCBmdWxsIHdpZHRoIGxheW91dHMuXG5cbi5jb250YWluZXItZmx1aWQge1xuICBAaW5jbHVkZSBjb250YWluZXItZml4ZWQ7XG59XG5cblxuLy8gUm93XG4vL1xuLy8gUm93cyBjb250YWluIGFuZCBjbGVhciB0aGUgZmxvYXRzIG9mIHlvdXIgY29sdW1ucy5cblxuLnJvdyB7XG4gIEBpbmNsdWRlIG1ha2Utcm93O1xufVxuXG4ucm93LW5vLWd1dHRlcnMge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuXG4gIFtjbGFzcyo9XCJjb2wtXCJdIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG5cbi8vIENvbHVtbnNcbi8vXG4vLyBDb21tb24gc3R5bGVzIGZvciBzbWFsbCBhbmQgbGFyZ2UgZ3JpZCBjb2x1bW5zXG5cbkBpbmNsdWRlIG1ha2UtZ3JpZC1jb2x1bW5zO1xuXG5cbi8vIEV4dHJhIHNtYWxsIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgZXh0cmEgc21hbGwgZGV2aWNlcyBsaWtlXG4vLyBzbWFydHBob25lcy5cblxuQGluY2x1ZGUgbWFrZS1ncmlkKHhzKTtcblxuXG4vLyBTbWFsbCBncmlkXG4vL1xuLy8gQ29sdW1ucywgb2Zmc2V0cywgcHVzaGVzLCBhbmQgcHVsbHMgZm9yIHRoZSBzbWFsbCBkZXZpY2UgcmFuZ2UsIGZyb20gcGhvbmVzXG4vLyB0byB0YWJsZXRzLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKHNtKTtcbn1cblxuXG4vLyBNZWRpdW0gZ3JpZFxuLy9cbi8vIENvbHVtbnMsIG9mZnNldHMsIHB1c2hlcywgYW5kIHB1bGxzIGZvciB0aGUgZGVza3RvcCBkZXZpY2UgcmFuZ2UuXG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICBAaW5jbHVkZSBtYWtlLWdyaWQobWQpO1xufVxuXG5cbi8vIExhcmdlIGdyaWRcbi8vXG4vLyBDb2x1bW5zLCBvZmZzZXRzLCBwdXNoZXMsIGFuZCBwdWxscyBmb3IgdGhlIGxhcmdlIGRlc2t0b3AgZGV2aWNlIHJhbmdlLlxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgQGluY2x1ZGUgbWFrZS1ncmlkKGxnKTtcbn1cbiIsIi8vIEdyaWQgc3lzdGVtXG4vL1xuLy8gR2VuZXJhdGUgc2VtYW50aWMgZ3JpZCBjb2x1bW5zIHdpdGggdGhlc2UgbWl4aW5zLlxuXG4vLyBDZW50ZXJlZCBjb250YWluZXIgZWxlbWVudFxuQG1peGluIGNvbnRhaW5lci1maXhlZCgkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcGFkZGluZy1yaWdodDogY2VpbCgoJGd1dHRlciAvIDIpKTtcbiAgcGFkZGluZy1sZWZ0OiBmbG9vcigoJGd1dHRlciAvIDIpKTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG59XG5cbi8vIENyZWF0ZXMgYSB3cmFwcGVyIGZvciBhIHNlcmllcyBvZiBjb2x1bW5zXG5AbWl4aW4gbWFrZS1yb3coJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIG1hcmdpbi1yaWdodDogZmxvb3IoKCRndXR0ZXIgLyAtMikpO1xuICBtYXJnaW4tbGVmdDogY2VpbCgoJGd1dHRlciAvIC0yKSk7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xufVxuXG4vLyBHZW5lcmF0ZSB0aGUgZXh0cmEgc21hbGwgY29sdW1uc1xuQG1peGluIG1ha2UteHMtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyOiAkZ3JpZC1ndXR0ZXItd2lkdGgpIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICBtaW4taGVpZ2h0OiAxcHg7XG4gIHBhZGRpbmctcmlnaHQ6ICgkZ3V0dGVyIC8gMik7XG4gIHBhZGRpbmctbGVmdDogKCRndXR0ZXIgLyAyKTtcbn1cbkBtaXhpbiBtYWtlLXhzLWNvbHVtbi1vZmZzZXQoJGNvbHVtbnMpIHtcbiAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xufVxuQG1peGluIG1ha2UteHMtY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5AbWl4aW4gbWFrZS14cy1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG59XG5cbi8vIEdlbmVyYXRlIHRoZSBzbWFsbCBjb2x1bW5zXG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2Utc20tY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLXNtLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1zbS1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIG1lZGl1bSBjb2x1bW5zXG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXI6ICRncmlkLWd1dHRlci13aWR0aCkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgcGFkZGluZy1yaWdodDogKCRndXR0ZXIgLyAyKTtcbiAgcGFkZGluZy1sZWZ0OiAoJGd1dHRlciAvIDIpO1xuXG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbWQtY29sdW1uLW9mZnNldCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICBtYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLW1kLWNvbHVtbi1wdXNoKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikge1xuICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1tZC1jb2x1bW4tcHVsbCgkY29sdW1ucykge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIHtcbiAgICByaWdodDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgdGhlIGxhcmdlIGNvbHVtbnNcbkBtaXhpbiBtYWtlLWxnLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcjogJGdyaWQtZ3V0dGVyLXdpZHRoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLWhlaWdodDogMXB4O1xuICBwYWRkaW5nLXJpZ2h0OiAoJGd1dHRlciAvIDIpO1xuICBwYWRkaW5nLWxlZnQ6ICgkZ3V0dGVyIC8gMik7XG5cbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1ucykpO1xuICB9XG59XG5AbWl4aW4gbWFrZS1sZy1jb2x1bW4tb2Zmc2V0KCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIG1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuQG1peGluIG1ha2UtbGctY29sdW1uLXB1c2goJGNvbHVtbnMpIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gICAgbGVmdDogcGVyY2VudGFnZSgoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW5zKSk7XG4gIH1cbn1cbkBtaXhpbiBtYWtlLWxnLWNvbHVtbi1wdWxsKCRjb2x1bW5zKSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIHJpZ2h0OiBwZXJjZW50YWdlKCgkY29sdW1ucyAvICRncmlkLWNvbHVtbnMpKTtcbiAgfVxufVxuIiwiLy8gQ2xlYXJmaXhcbi8vXG4vLyBGb3IgbW9kZXJuIGJyb3dzZXJzXG4vLyAxLiBUaGUgc3BhY2UgY29udGVudCBpcyBvbmUgd2F5IHRvIGF2b2lkIGFuIE9wZXJhIGJ1ZyB3aGVuIHRoZVxuLy8gICAgY29udGVudGVkaXRhYmxlIGF0dHJpYnV0ZSBpcyBpbmNsdWRlZCBhbnl3aGVyZSBlbHNlIGluIHRoZSBkb2N1bWVudC5cbi8vICAgIE90aGVyd2lzZSBpdCBjYXVzZXMgc3BhY2UgdG8gYXBwZWFyIGF0IHRoZSB0b3AgYW5kIGJvdHRvbSBvZiBlbGVtZW50c1xuLy8gICAgdGhhdCBhcmUgY2xlYXJmaXhlZC5cbi8vIDIuIFRoZSB1c2Ugb2YgYHRhYmxlYCByYXRoZXIgdGhhbiBgYmxvY2tgIGlzIG9ubHkgbmVjZXNzYXJ5IGlmIHVzaW5nXG4vLyAgICBgOmJlZm9yZWAgdG8gY29udGFpbiB0aGUgdG9wLW1hcmdpbnMgb2YgY2hpbGQgZWxlbWVudHMuXG4vL1xuLy8gU291cmNlOiBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay9cblxuQG1peGluIGNsZWFyZml4KCkge1xuICAmOmJlZm9yZSxcbiAgJjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7IC8vIDJcbiAgICBjb250ZW50OiBcIiBcIjsgLy8gMVxuICB9XG4gICY6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG59XG4iLCIvLyBkZXZpY2VzXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJGxheW91dC1taW4td2lkdGg6ICAzMjBweDsvL21pbi13aWR0aFxyXG4kbGF5b3V0LW1heC13aWR0aDogXHQxMjAwcHg7Ly9tYXgtd2lkdGhcclxuXHJcbi8vIEV4dHJhIHNtYWxsIHNjcmVlbiAvIHBob25lXHJcbiRzY3JlZW4teHM6ICAgICAgICAgNDgwcHggIWRlZmF1bHQ7IC8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi14cy1taW5gIGFzIG9mIHYzLjIuMFxyXG4kc2NyZWVuLXhzLW1pbjogICAgICRzY3JlZW4teHMgIWRlZmF1bHQ7IC8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1waG9uZWAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tcGhvbmU6ICAgICAgJHNjcmVlbi14cy1taW4gIWRlZmF1bHQ7XHJcblxyXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcclxuJHNjcmVlbi1zbTogICAgICAgICA3NjhweCAhZGVmYXVsdDsgLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLXNtYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1zbS1taW46ICAgICAkc2NyZWVuLXNtICFkZWZhdWx0OyAvLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tdGFibGV0YCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi10YWJsZXQ6ICAgICAkc2NyZWVuLXNtLW1pbiAhZGVmYXVsdDtcclxuXHJcbi8vIE1lZGl1bSBzY3JlZW4gLyBkZXNrdG9wXHJcbiRzY3JlZW4tbWQ6ICAgICAgICAgOTkycHggIWRlZmF1bHQ7IC8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1tZGAgYXMgb2YgdjMuMC4xXHJcbiRzY3JlZW4tbWQtbWluOiAgICAgJHNjcmVlbi1tZCAhZGVmYXVsdDsgLy8qKiBEZXByZWNhdGVkIGAkc2NyZWVuLWRlc2t0b3BgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLWRlc2t0b3A6ICAgICRzY3JlZW4tbWQtbWluICFkZWZhdWx0O1xyXG5cclxuLy8gTGFyZ2Ugc2NyZWVuIC8gd2lkZSBkZXNrdG9wXHJcbiRzY3JlZW4tbGc6ICAgICAgICAgMTIwMHB4ICFkZWZhdWx0OyAvLyoqIERlcHJlY2F0ZWQgYCRzY3JlZW4tbGdgIGFzIG9mIHYzLjAuMVxyXG4kc2NyZWVuLWxnLW1pbjogICBcdCRzY3JlZW4tbGcgIWRlZmF1bHQ7IC8vKiogRGVwcmVjYXRlZCBgJHNjcmVlbi1sZy1kZXNrdG9wYCBhcyBvZiB2My4wLjFcclxuJHNjcmVlbi1sZy1kZXNrdG9wOiAkc2NyZWVuLWxnLW1pbiAhZGVmYXVsdDtcclxuXHJcbi8vIFNvIG1lZGlhIHF1ZXJpZXMgZG9uJ3Qgb3ZlcmxhcCB3aGVuIHJlcXVpcmVkLCBwcm92aWRlIGEgbWF4aW11bVxyXG4kc2NyZWVuLXhzLW1heDogICAgICgkc2NyZWVuLXNtLW1pbiAtIDEpICFkZWZhdWx0O1xyXG4kc2NyZWVuLXNtLW1heDogICAgICgkc2NyZWVuLW1kLW1pbiAtIDEpICFkZWZhdWx0O1xyXG4kc2NyZWVuLW1kLW1heDogICAgICgkc2NyZWVuLWxnLW1pbiAtIDEpICFkZWZhdWx0O1xyXG5cclxuJGdyaWQtY29sdW1uczpcdFx0XHQxMiAhZGVmYXVsdDsgLy8g0YfQuNGB0LvQviDQutC+0LvQvtC90L7QulxyXG4kZ3JpZC1ndXR0ZXItd2lkdGg6IDIwcHggIWRlZmF1bHQ7IC8vINGA0LDRgdGB0YLQvtGP0L3QuNC1INC80LXQttC00YMg0LrQvtC70L7QvdC60LDQvNC4XHJcblxyXG4vLyBTbWFsbCBzY3JlZW4gLyB0YWJsZXRcclxuJGNvbnRhaW5lci10YWJsZXQ6ICAoNzIwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLXNtOiAgICAgICRjb250YWluZXItdGFibGV0ICFkZWZhdWx0O1xyXG5cclxuLy8gTWVkaXVtIHNjcmVlbiAvIGRlc2t0b3BcclxuJGNvbnRhaW5lci1kZXNrdG9wOiAoOTQwcHggKyAkZ3JpZC1ndXR0ZXItd2lkdGgpICFkZWZhdWx0O1xyXG4kY29udGFpbmVyLW1kOiAgICAgICRjb250YWluZXItZGVza3RvcCAhZGVmYXVsdDtcclxuXHJcbi8vIExhcmdlIHNjcmVlbiAvIHdpZGUgZGVza3RvcFxyXG4kY29udGFpbmVyLWxhcmdlLWRlc2t0b3A6ICgkbGF5b3V0LW1heC13aWR0aCArICRncmlkLWd1dHRlci13aWR0aCkgIWRlZmF1bHQ7XHJcbiRjb250YWluZXItbGc6ICAgICAgICAgICAgJGNvbnRhaW5lci1sYXJnZS1kZXNrdG9wICFkZWZhdWx0O1xyXG5cclxuLy8gYnJlYWtwb2ludHNcclxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxyXG4kcmVzcG9uZC1waG9uZTogXHRcdFwiKG1heC13aWR0aDogI3soJHNjcmVlbi10YWJsZXQgLSAxKX0pXCI7XHJcbiRyZXNwb25kLXRhYmxldDpcdFx0XCIobWluLXdpZHRoOiAjeygkc2NyZWVuLXRhYmxldCl9KSBhbmQgKG1heC13aWR0aDogI3soJHNjcmVlbi1kZXNrdG9wIC0gMSl9KVwiO1xyXG4kcmVzcG9uZC1kZXNrdG9wOlx0XHRcIihtaW4td2lkdGg6ICN7KCRzY3JlZW4tZGVza3RvcCl9KSBhbmQgKG1heC13aWR0aDogI3soJHNjcmVlbi1sZy1kZXNrdG9wIC0gMSl9KVwiO1xyXG4kcmVzcG9uZC1sYXJnZTpcdFx0XHRcIihtaW4td2lkdGg6ICN7KCRzY3JlZW4tbGctZGVza3RvcCl9KVwiO1xyXG5cclxuJHJlc3BvbmQtdGFibGV0LWRvd246IFx0XCIobWF4LXdpZHRoOiAjeygkc2NyZWVuLWRlc2t0b3AgLSAxKX0pXCI7XHJcbiRyZXNwb25kLXRhYmxldC11cDogXHRcdFwiKG1pbi13aWR0aDogI3soJHNjcmVlbi10YWJsZXQpfSlcIjtcclxuXHJcbiRyZXNwb25kLWRlc2t0b3AtZG93bjpcdFwiKG1heC13aWR0aDogI3soJHNjcmVlbi1sZy1kZXNrdG9wIC0gMSl9KVwiO1xyXG4kcmVzcG9uZC1kZXNrdG9wLXVwOlx0XHRcIihtaW4td2lkdGg6ICN7KCRzY3JlZW4tZGVza3RvcCl9KVwiO1xyXG5cclxuJHJlc3BvbmQtcG9ydHJhaXQ6XHRcdFwiKG9yaWVudGF0aW9uOnBvcnRyYWl0KVwiO1xyXG4kcmVzcG9uZC1sYW5kc2NhcGU6XHRcdFwiKG9yaWVudGF0aW9uOmxhbmRzY2FwZSlcIjsiLCIvLyBGcmFtZXdvcmsgZ3JpZCBnZW5lcmF0aW9uXG4vL1xuLy8gVXNlZCBvbmx5IGJ5IEJvb3RzdHJhcCB0byBnZW5lcmF0ZSB0aGUgY29ycmVjdCBudW1iZXIgb2YgZ3JpZCBjbGFzc2VzIGdpdmVuXG4vLyBhbnkgdmFsdWUgb2YgYCRncmlkLWNvbHVtbnNgLlxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIG1ha2UtZ3JpZC1jb2x1bW5zKCRpOiAxLCAkbGlzdDogXCIuY29sLXhzLSN7JGl9LCAuY29sLXNtLSN7JGl9LCAuY29sLW1kLSN7JGl9LCAuY29sLWxnLSN7JGl9XCIpIHtcbiAgQGZvciAkaSBmcm9tICgxICsgMSkgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcbiAgICAkbGlzdDogXCIjeyRsaXN0fSwgLmNvbC14cy0jeyRpfSwgLmNvbC1zbS0jeyRpfSwgLmNvbC1tZC0jeyRpfSwgLmNvbC1sZy0jeyRpfVwiO1xuICB9XG4gICN7JGxpc3R9IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLy8gUHJldmVudCBjb2x1bW5zIGZyb20gY29sbGFwc2luZyB3aGVuIGVtcHR5XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIC8vIElubmVyIGd1dHRlciB2aWEgcGFkZGluZ1xuICAgIHBhZGRpbmctcmlnaHQ6IGZsb29yKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gICAgcGFkZGluZy1sZWZ0OiBjZWlsKCgkZ3JpZC1ndXR0ZXItd2lkdGggLyAyKSk7XG4gIH1cbn1cblxuXG4vLyBbY29udmVydGVyXSBUaGlzIGlzIGRlZmluZWQgcmVjdXJzaXZlbHkgaW4gTEVTUywgYnV0IFNhc3Mgc3VwcG9ydHMgcmVhbCBsb29wc1xuQG1peGluIGZsb2F0LWdyaWQtY29sdW1ucygkY2xhc3MsICRpOiAxLCAkbGlzdDogXCIuY29sLSN7JGNsYXNzfS0jeyRpfVwiKSB7XG4gIEBmb3IgJGkgZnJvbSAoMSArIDEpIHRocm91Z2ggJGdyaWQtY29sdW1ucyB7XG4gICAgJGxpc3Q6IFwiI3skbGlzdH0sIC5jb2wtI3skY2xhc3N9LSN7JGl9XCI7XG4gIH1cbiAgI3skbGlzdH0ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG59XG5cblxuQG1peGluIGNhbGMtZ3JpZC1jb2x1bW4oJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gIEBpZiAoJHR5cGUgPT0gd2lkdGgpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LSN7JGluZGV4fSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJGdyaWQtY29sdW1ucykpO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IHB1c2gpIGFuZCAoJGluZGV4ID4gMCkge1xuICAgIC5jb2wtI3skY2xhc3N9LXB1c2gtI3skaW5kZXh9IHtcbiAgICAgIGxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdXNoKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVzaC0wIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuICB9XG4gIEBpZiAoJHR5cGUgPT0gcHVsbCkgYW5kICgkaW5kZXggPiAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0jeyRpbmRleH0ge1xuICAgICAgcmlnaHQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbiAgQGlmICgkdHlwZSA9PSBwdWxsKSBhbmQgKCRpbmRleCA9PSAwKSB7XG4gICAgLmNvbC0jeyRjbGFzc30tcHVsbC0wIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuICBAaWYgKCR0eXBlID09IG9mZnNldCkge1xuICAgIC5jb2wtI3skY2xhc3N9LW9mZnNldC0jeyRpbmRleH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRncmlkLWNvbHVtbnMpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gW2NvbnZlcnRlcl0gVGhpcyBpcyBkZWZpbmVkIHJlY3Vyc2l2ZWx5IGluIExFU1MsIGJ1dCBTYXNzIHN1cHBvcnRzIHJlYWwgbG9vcHNcbkBtaXhpbiBsb29wLWdyaWQtY29sdW1ucygkY29sdW1ucywgJGNsYXNzLCAkdHlwZSkge1xuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICRjb2x1bW5zIHtcbiAgICBAaW5jbHVkZSBjYWxjLWdyaWQtY29sdW1uKCRpLCAkY2xhc3MsICR0eXBlKTtcbiAgfVxufVxuXG5cbi8vIENyZWF0ZSBncmlkIGZvciBzcGVjaWZpYyBjbGFzc1xuQG1peGluIG1ha2UtZ3JpZCgkY2xhc3MpIHtcbiAgQGluY2x1ZGUgZmxvYXQtZ3JpZC1jb2x1bW5zKCRjbGFzcyk7XG4gIEBpbmNsdWRlIGxvb3AtZ3JpZC1jb2x1bW5zKCRncmlkLWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1bGwpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIHB1c2gpO1xuICBAaW5jbHVkZSBsb29wLWdyaWQtY29sdW1ucygkZ3JpZC1jb2x1bW5zLCAkY2xhc3MsIG9mZnNldCk7XG59XG4iLCIvL1xuLy8gUmVzcG9uc2l2ZTogVXRpbGl0eSBjbGFzc2VzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cbi8vIElFMTAgaW4gV2luZG93cyAoUGhvbmUpIDhcbi8vXG4vLyBTdXBwb3J0IGZvciByZXNwb25zaXZlIHZpZXdzIHZpYSBtZWRpYSBxdWVyaWVzIGlzIGtpbmQgb2YgYm9ya2VkIGluIElFMTAsIGZvclxuLy8gU3VyZmFjZS9kZXNrdG9wIGluIHNwbGl0IHZpZXcgYW5kIGZvciBXaW5kb3dzIFBob25lIDguIFRoaXMgcGFydGljdWxhciBmaXhcbi8vIG11c3QgYmUgYWNjb21wYW5pZWQgYnkgYSBzbmlwcGV0IG9mIEphdmFTY3JpcHQgdG8gc25pZmYgdGhlIHVzZXIgYWdlbnQgYW5kXG4vLyBhcHBseSBzb21lIGNvbmRpdGlvbmFsIENTUyB0byAqb25seSogdGhlIFN1cmZhY2UvZGVza3RvcCBXaW5kb3dzIDguIExvb2sgYXRcbi8vIG91ciBHZXR0aW5nIFN0YXJ0ZWQgcGFnZSBmb3IgbW9yZSBpbmZvcm1hdGlvbiBvbiB0aGlzIGJ1Zy5cbi8vXG4vLyBGb3IgbW9yZSBpbmZvcm1hdGlvbiwgc2VlIHRoZSBmb2xsb3dpbmc6XG4vL1xuLy8gSXNzdWU6IGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9pc3N1ZXMvMTA0OTdcbi8vIERvY3M6IGh0dHBzOi8vZ2V0Ym9vdHN0cmFwLmNvbS9kb2NzLzMuNC9nZXR0aW5nLXN0YXJ0ZWQvI3N1cHBvcnQtaWUxMC13aWR0aFxuLy8gU291cmNlOiBodHRwczovL3RpbWthZGxlYy5jb20vMjAxMy8wMS93aW5kb3dzLXBob25lLTgtYW5kLWRldmljZS13aWR0aC9cbi8vIFNvdXJjZTogaHR0cHM6Ly90aW1rYWRsZWMuY29tLzIwMTIvMTAvaWUxMC1zbmFwLW1vZGUtYW5kLXJlc3BvbnNpdmUtZGVzaWduL1xuXG5AYXQtcm9vdCB7XG4gIEAtbXMtdmlld3BvcnQge1xuICAgIHdpZHRoOiBkZXZpY2Utd2lkdGg7XG4gIH1cbn1cblxuXG4vLyBWaXNpYmlsaXR5IHV0aWxpdGllc1xuLy8gTm90ZTogRGVwcmVjYXRlZCAudmlzaWJsZS14cywgLnZpc2libGUtc20sIC52aXNpYmxlLW1kLCBhbmQgLnZpc2libGUtbGcgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS14cycpO1xuQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy52aXNpYmxlLXNtJyk7XG5AaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1sZycpO1xuXG4udmlzaWJsZS14cy1ibG9jayxcbi52aXNpYmxlLXhzLWlubGluZSxcbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayxcbi52aXNpYmxlLXNtLWJsb2NrLFxuLnZpc2libGUtc20taW5saW5lLFxuLnZpc2libGUtc20taW5saW5lLWJsb2NrLFxuLnZpc2libGUtbWQtYmxvY2ssXG4udmlzaWJsZS1tZC1pbmxpbmUsXG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2ssXG4udmlzaWJsZS1sZy1ibG9jayxcbi52aXNpYmxlLWxnLWlubGluZSxcbi52aXNpYmxlLWxnLWlubGluZS1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUteHMnKTtcbn1cbi52aXNpYmxlLXhzLWJsb2NrIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuLnZpc2libGUteHMtaW5saW5lIHtcbiAgQG1lZGlhIChtYXgtd2lkdGg6ICRzY3JlZW4teHMtbWF4KSB7XG4gICAgZGlzcGxheTogaW5saW5lICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXhzLWlubGluZS1ibG9jayB7XG4gIEBtZWRpYSAobWF4LXdpZHRoOiAkc2NyZWVuLXhzLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLXNtLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tc20tbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtc20nKTtcbn1cbi52aXNpYmxlLXNtLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1zbS1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1zbS1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLXNtLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLW1kLW1pbikgYW5kIChtYXgtd2lkdGg6ICRzY3JlZW4tbWQtbWF4KSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eSgnLnZpc2libGUtbWQnKTtcbn1cbi52aXNpYmxlLW1kLWJsb2NrIHtcbiAgQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1tZC1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1tZC1taW4pIGFuZCAobWF4LXdpZHRoOiAkc2NyZWVuLW1kLW1heCkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLWxnJyk7XG59XG4udmlzaWJsZS1sZy1ibG9jayB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLWxnLWlubGluZSB7XG4gIEBtZWRpYSAobWluLXdpZHRoOiAkc2NyZWVuLWxnLW1pbikge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1sZy1pbmxpbmUtYmxvY2sge1xuICBAbWVkaWEgKG1pbi13aWR0aDogJHNjcmVlbi1sZy1taW4pIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogJHNjcmVlbi14cy1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4teHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tc20tbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1zbS1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbWQtbWluKSBhbmQgKG1heC13aWR0aDogJHNjcmVlbi1tZC1tYXgpIHtcbiAgQGluY2x1ZGUgcmVzcG9uc2l2ZS1pbnZpc2liaWxpdHkoJy5oaWRkZW4tbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRzY3JlZW4tbGctbWluKSB7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcuaGlkZGVuLWxnJyk7XG59XG5cblxuLy8gUHJpbnQgdXRpbGl0aWVzXG4vL1xuLy8gTWVkaWEgcXVlcmllcyBhcmUgcGxhY2VkIG9uIHRoZSBpbnNpZGUgdG8gYmUgbWl4aW4tZnJpZW5kbHkuXG5cbi8vIE5vdGU6IERlcHJlY2F0ZWQgLnZpc2libGUtcHJpbnQgYXMgb2YgdjMuMi4wXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCcudmlzaWJsZS1wcmludCcpO1xuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHkoJy52aXNpYmxlLXByaW50Jyk7XG59XG4udmlzaWJsZS1wcmludC1ibG9jayB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbn1cbi52aXNpYmxlLXByaW50LWlubGluZSB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICBAbWVkaWEgcHJpbnQge1xuICAgIGRpc3BsYXk6IGlubGluZSAhaW1wb3J0YW50O1xuICB9XG59XG4udmlzaWJsZS1wcmludC1pbmxpbmUtYmxvY2sge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG5cbiAgQG1lZGlhIHByaW50IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgfVxufVxuXG5AbWVkaWEgcHJpbnQge1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWludmlzaWJpbGl0eSgnLmhpZGRlbi1wcmludCcpO1xufVxuIiwiLy8gW2NvbnZlcnRlcl0gJHBhcmVudCBoYWNrXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuICB0YWJsZSN7JHBhcmVudH0gIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0ciN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgdGgjeyRwYXJlbnR9LFxuICB0ZCN7JHBhcmVudH0gICAgIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG59XG5cbi8vIFtjb252ZXJ0ZXJdICRwYXJlbnQgaGFja1xuQG1peGluIHJlc3BvbnNpdmUtaW52aXNpYmlsaXR5KCRwYXJlbnQpIHtcbiAgI3skcGFyZW50fSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG4iLCIqIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG59XHJcblxyXG5odG1sIHtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7XHJcbn1cclxuXHJcbmlucHV0LFxyXG5idXR0b24sXHJcbnNlbGVjdCxcclxudGV4dGFyZWEge1xyXG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcclxuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxufVxyXG5cclxuZmlndXJlIHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbltyb2xlPVwiYnV0dG9uXCJdIHtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuIiwiQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdDb3Jwb3JhdGVBJztcclxuICBzcmM6IFx0dXJsKCcjeyRwYXRoLWZvbnRzfS9Db3Jwb3JhdGVBQ3lyLURlbWkud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXHJcbiAgXHRcdFx0dXJsKCcjeyRwYXRoLWZvbnRzfS9Db3Jwb3JhdGVBQ3lyLURlbWkud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gIFx0XHRcdHVybCgnI3skcGF0aC1mb250c30vQ29ycG9yYXRlQUN5ci1EZW1pLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuICBmb250LXdlaWdodDogNjAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdDb3Jwb3JhdGVBJztcclxuICBzcmM6IFx0dXJsKCcjeyRwYXRoLWZvbnRzfS9Db3Jwb3JhdGVTVENZLUJvbC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcclxuICBcdFx0XHR1cmwoJyN7JHBhdGgtZm9udHN9L0NvcnBvcmF0ZVNUQ1ktQm9sLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcclxuICBcdFx0XHR1cmwoJyN7JHBhdGgtZm9udHN9L0NvcnBvcmF0ZVNUQ1ktQm9sLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxufVxyXG5cclxuQGZvbnQtZmFjZSB7XHJcbiAgZm9udC1mYW1pbHk6ICdDb3Jwb3JhdGVBJztcclxuICBzcmM6ICB1cmwoJyN7JHBhdGgtZm9udHN9L0NvcnBvcmF0ZVNUQ1ktUmVnLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxyXG4gICAgICAgIHVybCgnI3skcGF0aC1mb250c30vQ29ycG9yYXRlU1RDWS1SZWcud29mZicpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICAgIHVybCgnI3skcGF0aC1mb250c30vQ29ycG9yYXRlU1RDWS1SZWcudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xyXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG59IiwiaHRtbCB7XHJcbiAgZm9udC1zaXplOiAxNlBYO1xyXG59XHJcblxyXG5ib2R5IHtcclxuICBmb250LWZhbWlseTogJGZvbnQtZmFtaWx5LWJhc2U7XHJcbiAgY29sb3I6ICR0ZXh0LWNvbG9yO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJnO1xyXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogbm9uZTtcclxuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XHJcbn1cclxuXHJcbmEsIGxhYmVsIHtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG59XHJcblxyXG5oMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcclxuICBtYXJnaW46IDA7XHJcbn1cclxuXHJcbi50aXRsZS0xLFxyXG4udGl0bGUtMixcclxuLnRpdGxlLTMge1xyXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XHJcbn1cclxuXHJcbi8vIHNtYWxsIHtcclxuLy8gfVxyXG5cclxuLy8gYmlnIHtcclxuLy8gfVxyXG5cclxuLy8gc3Ryb25nIHtcclxuLy8gfVxyXG5cclxuLy8gYmxvY2txdW90ZSB7XHJcbi8vIH1cclxuXHJcbi8vIGFkZHJlc3Mge1xyXG4vLyAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuLy8gfVxyXG5cclxucCB7XHJcbiAgbWFyZ2luOiAwIDAgJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbn1cclxuXHJcbnVsLFxyXG5vbCB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAkbGluZS1oZWlnaHQtYmFzZTtcclxuICB1bCxcclxuICBvbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmxpc3QtLXVuc3R5bGVkIHtcclxuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xyXG59XHJcblxyXG4ubGlzdC0taW5saW5lIHtcclxuICBAaW5jbHVkZSBsaXN0LXVuc3R5bGVkO1xyXG4gIG1hcmdpbi1sZWZ0OiAwO1xyXG4gID4gbGkge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDtcclxuICB9XHJcbn1cclxuXHJcbi8vIGFiYnJbdGl0bGVdLFxyXG4vLyBhYmJyW2RhdGEtb3JpZ2luYWwtdGl0bGVdIHtcclxuLy8gICBjdXJzb3I6IGhlbHA7XHJcbi8vICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcclxuLy8gfVxyXG5cclxuLy8gdGltZSB7XHJcbi8vICAgZGlzcGxheTogYmxvY2s7XHJcbi8vIH0iLCIvLyB2YXJpYWJsZXNcclxuJGZvbnQtZmFtaWx5LWJhc2U6IFwiQ29ycG9yYXRlQVwiLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xyXG5cclxuJGZvbnQtc2l6ZS1iYXNlOiAyNHB4ICFkZWZhdWx0O1xyXG4kbGluZS1oZWlnaHQtYmFzZTogMjlweCAhZGVmYXVsdDtcclxuXHJcbi8vIHBhdGhzXHJcbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcclxuJHBhdGgtZm9udHM6XHRcdFwiLi4vZm9udHNcIjtcclxuJHBhdGgtaW1nOlx0XHRcdFwiLi4vaW1nXCI7XHJcblxyXG4kcGF0aC1pbmxpbmU6IFx0XCIjeyRwYXRoLWltZ30vaW5saW5lXCI7XHJcbi8vd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYmFzZTY0XHJcbi8vIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZSgnI3skcGF0aC1pbmxpbmV9L3NvbWVwaWMucG5nJyk7XHJcblxyXG4vL3dpbGwgYmUgY29udmVydGVkIHRvIHNwcml0ZVxyXG4vLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skcGF0aC1zcHJpdGV9L3NvbWVwaWMucG5nKTtcclxuJHBhdGgtc3ByaXRlOiBcdFwiI3skcGF0aC1pbWd9L3Nwcml0ZXNcIjsiLCJAbWl4aW4gaGlkZS10ZXh0KCkge1xyXG4gIGZvbnQ6IDAvMCBhO1xyXG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbn1cclxuXHJcbkBtaXhpbiB0ZXh0LWhpZGUoKSB7XHJcbiAgQGluY2x1ZGUgaGlkZS10ZXh0O1xyXG59XHJcblxyXG5AbWl4aW4gbGlzdC11bnN0eWxlZCB7XHJcbiAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbn1cclxuXHJcbkBtaXhpbiBsaW5rLXVuZGVybGluZS1jb2xvdXIoJGNvbG91cjogJGxpbmstY29sb3IpIHtcclxuICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLHJnYmEoMCwwLDAsMCkgNTAlLCRjb2xvdXIgNTAlKTtcclxufVxyXG5cclxuQG1peGluIGxpbmstdW5kZXJsaW5lKCRjb2xvdXI6ICRsaW5rLWNvbG9yLCAkc2l6ZTogMXB4LCAkb2Zmc2V0OiAxMDAlKSB7XHJcbiAgQGluY2x1ZGUgbGluay11bmRlcmxpbmUtY29sb3VyKCRjb2xvdXIpO1xyXG4gIGJhY2tncm91bmQtcmVwZWF0OiByZXBlYXQteDtcclxuICBiYWNrZ3JvdW5kLXNpemU6IDFQWCAjeyRzaXplKjJ9O1xyXG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgJG9mZnNldDtcclxuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuQG1peGluIGZvcmNlLXdyYXAge1xyXG4gIHdoaXRlLXNwYWNlOiBwcmU7XHJcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xyXG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcclxuICB3aGl0ZS1zcGFjZTogLXByZS13cmFwO1xyXG4gIHdoaXRlLXNwYWNlOiAtby1wcmUtd3JhcDtcclxuICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDtcclxuICB3aGl0ZS1zcGFjZTogLWhwLXByZS13cmFwO1xyXG4gIHdvcmQtd3JhcDogYnJlYWstd29yZDtcclxufVxyXG5cclxuQGZ1bmN0aW9uIGxpbmVIZWlnaHQoJGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS1iYXNlLCAkbGluZS1oZWlnaHQ6ICRsaW5lLWhlaWdodC1iYXNlKSB7XHJcbiAgQHJldHVybiAkbGluZS1oZWlnaHQvJGZvbnQtc2l6ZTtcclxufSIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtdXApIHtcclxuXHJcblx0LnRpdGxlLTIge1xyXG5cdCAgZm9udC1zaXplOiAzNnB4O1xyXG5cdCAgbGluZS1oZWlnaHQ6IDQzcHg7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtbGFyZ2UpIHtcclxuXHJcblx0Ym9keSB7XHJcblx0ICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuXHQgIGxpbmUtaGVpZ2h0OiAkbGluZS1oZWlnaHQtYmFzZTtcclxuXHR9XHJcblxyXG5cdC50aXRsZS0xIHtcclxuXHQgIGZvbnQtc2l6ZTogNDhweDtcclxuXHQgIGxpbmUtaGVpZ2h0OiA1OHB4O1xyXG5cdH1cclxuXHJcblx0LnRpdGxlLTMge1xyXG5cdCAgZm9udC1zaXplOiAzNnB4O1xyXG5cdCAgbGluZS1oZWlnaHQ6IDQzcHg7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wKSB7XHJcblxyXG5cdGJvZHkge1xyXG5cdFx0Zm9udC1zaXplOiAyMnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDI3cHg7XHJcblx0fVxyXG5cclxuXHQudGl0bGUtMSB7XHJcblx0ICBmb250LXNpemU6IDQwcHg7XHJcblx0ICBsaW5lLWhlaWdodDogNDhweDtcclxuXHR9XHJcblxyXG5cdC50aXRsZS0zIHtcclxuXHQgIGZvbnQtc2l6ZTogMzBweDtcclxuXHQgIGxpbmUtaGVpZ2h0OiAzNnB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldCkge1xyXG5cclxuXHRib2R5IHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdH1cclxuXHJcblx0LnRpdGxlLTEge1xyXG5cdCAgZm9udC1zaXplOiAzNnB4O1xyXG5cdCAgbGluZS1oZWlnaHQ6IDQzcHg7XHJcblx0fVxyXG5cclxuXHQudGl0bGUtMiB7XHJcblx0ICBmb250LXNpemU6IDMwcHg7XHJcblx0ICBsaW5lLWhlaWdodDogMzZweDtcclxuXHR9XHJcblxyXG5cdC50aXRsZS0zIHtcclxuXHQgIGZvbnQtc2l6ZTogMjZweDtcclxuXHQgIGxpbmUtaGVpZ2h0OiAzMnB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXBob25lKSB7XHJcblxyXG5cdGJvZHkge1xyXG5cdFx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE5cHg7XHJcblx0fVxyXG5cclxuXHQudGl0bGUtMSB7XHJcblx0ICBmb250LXNpemU6IDI0cHg7XHJcblx0ICBsaW5lLWhlaWdodDogMjlweDtcclxuXHR9XHJcblxyXG5cdC50aXRsZS0yLFxyXG5cdC50aXRsZS0zIHtcclxuXHRcdGZvbnQtc2l6ZTogMjBweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdH1cclxuXHJcbn0iLCJAZnVuY3Rpb24gcGFyc2VJbnQoJG4pIHsgLyogMiAqL1xyXG5cdEByZXR1cm4gJG4gLyAoJG4gKiAwICsgMSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiByYXRpbygkd2lkdGgsICRtYXgtdmFsdWU6JG1heCkge1xyXG4gIEByZXR1cm4gKHBhcnNlSW50KCR3aWR0aCkqMTAwJS9wYXJzZUludCgkbWF4LXZhbHVlKSk7XHJcbn1cclxuXHJcbkBmdW5jdGlvbiBmbHVpZCgkd2lkdGgsICRtYXgtdmFsdWU6JG1heCkge1xyXG4gIEByZXR1cm4gKHBhcnNlSW50KCR3aWR0aCkqMTAwJS9wYXJzZUludCgkbWF4LXZhbHVlKSk7XHJcbn1cclxuXHJcbkBtaXhpbiByZXNwb25kLXRvKCRtZWRpYSkge1xyXG5cdEBtZWRpYSAjeyRtZWRpYX0ge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG59XHJcblxyXG5AbWl4aW4gc3RyZXRjaCgkdG9wOiAwLCAkcmlnaHQ6IDAsICRib3R0b206IDAsICRsZWZ0OiAwKSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6ICRsZWZ0O1xyXG5cdHJpZ2h0OiAkcmlnaHQ7XHJcblx0dG9wOiAkdG9wO1xyXG5cdGJvdHRvbTogJGJvdHRvbTtcclxufVxyXG5cclxuQG1peGluIHN0cmV0Y2gteCgkbGVmdDogMCwgJHJpZ2h0OiAwKSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdGxlZnQ6ICRsZWZ0O1xyXG5cdHJpZ2h0OiAkcmlnaHQ7XHJcbn1cclxuXHJcbkBtaXhpbiBzdHJldGNoLXkoJHRvcDogMCwgJGJvdHRvbTogMCkge1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6ICR0b3A7XHJcblx0Ym90dG9tOiAkYm90dG9tO1xyXG59XHJcblxyXG4vLy8gUmV0dXJucyB0aGUgb3Bwb3NpdGUgZGlyZWN0aW9uIG9mIGVhY2ggZGlyZWN0aW9uIGluIGEgbGlzdFxyXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXHJcbi8vLyBAcGFyYW0ge0xpc3R9ICRkaXJlY3Rpb25zIC0gTGlzdCBvZiBpbml0aWFsIGRpcmVjdGlvbnNcclxuLy8vIEByZXR1cm4ge0xpc3R9IC0gTGlzdCBvZiBvcHBvc2l0ZSBkaXJlY3Rpb25zXHJcbkBmdW5jdGlvbiBvcHBvc2l0ZS1kaXJlY3Rpb24oJGRpcmVjdGlvbnMpIHtcclxuICAkb3Bwb3NpdGUtZGlyZWN0aW9uczogKCk7XHJcbiAgJGRpcmVjdGlvbi1tYXA6IChcclxuICAgICd0b3AnOiAgICAnYm90dG9tJyxcclxuICAgICdyaWdodCc6ICAnbGVmdCcsXHJcbiAgICAnYm90dG9tJzogJ3RvcCcsXHJcbiAgICAnbGVmdCc6ICAgJ3JpZ2h0JyxcclxuICAgICdjZW50ZXInOiAnY2VudGVyJyxcclxuICAgICdsdHInOiAgICAncnRsJyxcclxuICAgICdydGwnOiAgICAnbHRyJ1xyXG4gICk7XHJcbiBcclxuICBAZWFjaCAkZGlyZWN0aW9uIGluICRkaXJlY3Rpb25zIHtcclxuICAgICRkaXJlY3Rpb246IHRvLWxvd2VyLWNhc2UoJGRpcmVjdGlvbik7XHJcbiAgICBcclxuICAgIEBpZiBtYXAtaGFzLWtleSgkZGlyZWN0aW9uLW1hcCwgJGRpcmVjdGlvbikgeyBcclxuICAgICAgJG9wcG9zaXRlLWRpcmVjdGlvbnM6IGFwcGVuZCgkb3Bwb3NpdGUtZGlyZWN0aW9ucywgdW5xdW90ZShtYXAtZ2V0KCRkaXJlY3Rpb24tbWFwLCAkZGlyZWN0aW9uKSkpO1xyXG4gICAgfSBAZWxzZSB7XHJcbiAgICAgIEB3YXJuIFwiTm8gb3Bwb3NpdGUgZGlyZWN0aW9uIGNhbiBiZSBmb3VuZCBmb3IgYCN7JGRpcmVjdGlvbn1gLiBEaXJlY3Rpb24gb21pdHRlZC5cIjtcclxuICAgIH1cclxuICB9XHJcbiBcclxuICBAcmV0dXJuICRvcHBvc2l0ZS1kaXJlY3Rpb25zO1xyXG59XHJcblxyXG5AbWl4aW4gdHJpYW5nbGUtbW9kKCRkaXJlY3Rpb24sICRoZWlnaHQsICR3aWR0aCwgJGNvbG9yKSB7XHJcblx0JG9wcDogb3Bwb3NpdGUtZGlyZWN0aW9uKCRkaXJlY3Rpb24pO1xyXG5cdGJvcmRlci0jeyRkaXJlY3Rpb259LXdpZHRoOiAkaGVpZ2h0O1xyXG5cdGJvcmRlci0jeyRkaXJlY3Rpb259LWNvbG9yOiAkY29sb3I7XHJcblx0Ym9yZGVyLSN7JG9wcH0td2lkdGg6IDA7XHJcbiAgQGlmKCAkZGlyZWN0aW9uID09ICd0b3AnIG9yICRkaXJlY3Rpb24gPT0gJ2JvdHRvbScgKSB7XHJcbiAgXHRib3JkZXItbGVmdC13aWR0aDogJHdpZHRoLzI7XHJcbiAgXHRib3JkZXItcmlnaHQtd2lkdGg6ICR3aWR0aC8yO1xyXG4gIH1cclxuICBAaWYoICRkaXJlY3Rpb24gPT0gJ2xlZnQnIG9yICRkaXJlY3Rpb24gPT0gJ3JpZ2h0JyApIHtcclxuICBcdGJvcmRlci10b3Atd2lkdGg6ICR3aWR0aC8yO1xyXG4gIFx0Ym9yZGVyLWJvdHRvbS13aWR0aDogJHdpZHRoLzI7XHJcbiAgfVxyXG59XHJcblxyXG5AbWl4aW4gdHJpYW5nbGUoJGRpcmVjdGlvbiwgJGhlaWdodCwgJHdpZHRoLCAkY29sb3I6IGluaGVyaXQpIHtcclxuXHRAaWYgbm90IGluZGV4KHRvcCByaWdodCBib3R0b20gbGVmdCwgJGRpcmVjdGlvbikge1xyXG4gICAgQHdhcm4gXCJEaXJlY3Rpb24gbXVzdCBiZSBvbmUgb2YgYHRvcGAsIGByaWdodGAsIGBib3R0b21gIG9yIGBsZWZ0YDsgY3VycmVudGx5IGAjeyRkaXJlY3Rpb259YC5cIjtcclxuICB9IEBlbHNlIHtcclxuICBcdGNvbnRlbnQ6ICcnO1xyXG4gIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHQgIHdpZHRoOiAwO1xyXG5cdCAgaGVpZ2h0OiAwO1xyXG5cdCAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcclxuXHQgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0ICBAaW5jbHVkZSB0cmlhbmdsZS1tb2QoJGRpcmVjdGlvbiwgJGhlaWdodCwgJHdpZHRoICwkY29sb3IpO1xyXG4gIH1cclxufVxyXG5cclxuQGZ1bmN0aW9uIHZ3KCRweCwgJHZpZXdwb3J0LXdpZHRoOiAkbWF4LXdpZHRoKSB7XHJcbiAgQHJldHVybiBwYXJzZUludCgkcHgpKjEwMC9wYXJzZUludCgkdmlld3BvcnQtd2lkdGgpICsgMHZ3O1xyXG59XHJcblxyXG5AbWl4aW4gcmV0aW5hKCRwYXRoLCRpbmxpbmU6IGZhbHNlKSB7XHJcbiAgQG1lZGlhICBhbGwgYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW8gOiAxLjUpLFxyXG4gICAgICAgICAgYWxsIGFuZCAoLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMy8yKSxcclxuICAgICAgICAgIGFsbCBhbmQgKG1pbi0tbW96LWRldmljZS1waXhlbC1yYXRpbzogMS41KSxcclxuICAgICAgICAgIGFsbCBhbmQgKG1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDEuNSkge1xyXG4gICAgQGlmICgkaW5saW5lKSB7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZSgjeyRwYXRofSk7XHJcbiAgICB9IEBlbHNlIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCN7JHBhdGh9KTtcclxuICAgIH1cclxuICB9XHJcbn0iLCIvLyBnZW5lcmF0ZWQgYnkgaHR0cDovL2ljb21vb24uaW8vXHJcbi8vIGltZy9zdmcvc2VsZWN0aW9uLmpzb25cclxuXHJcbi8vIEBmb250LWZhY2Uge1xyXG4vLyAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XHJcbi8vICAgc3JjOiAgICB1cmwoJyN7JHBhdGgtZm9udHN9L2ljb21vb24uZW90Jyk7XHJcbi8vICAgc3JjOiAgICB1cmwoJyN7JHBhdGgtZm9udHN9L2ljb21vb24uZW90I2llZml4JykgZm9ybWF0KCdlbWJlZGRlZC1vcGVudHlwZScpLFxyXG4vLyAgICAgICAgICAgdXJsKCcjeyRwYXRoLWZvbnRzfS9pY29tb29uLnR0ZicpIGZvcm1hdCgndHJ1ZXR5cGUnKSxcclxuLy8gICAgICAgICAgIHVybCgnI3skcGF0aC1mb250c30vaWNvbW9vbi53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXHJcbi8vICAgICAgICAgICB1cmwoJyN7JHBhdGgtZm9udHN9L2ljb21vb24uc3ZnI2ljb21vb24nKSBmb3JtYXQoJ3N2ZycpO1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbi8vICAgZm9udC1zdHlsZTogbm9ybWFsO1xyXG4vLyB9XHJcblxyXG4vLyAuaWNvbiB7XHJcbi8vICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xyXG4vLyAgIHNwZWFrOiBub25lO1xyXG4vLyAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuLy8gICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4vLyAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xyXG4vLyAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xyXG4vLyAgIGxpbmUtaGVpZ2h0OiAxO1xyXG4vLyAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xyXG4vLyAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XHJcbi8vIH1cclxuXHJcbi5pY29uIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbn1cclxuXHJcbi5pY29uLXRlbmdlIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBpbmxpbmUoJyN7JHBhdGgtaW5saW5lfS9pY29uLXRlbmdlLnBuZycpO1xyXG59XHJcblxyXG4uaWNvbi1ldXIge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGlubGluZSgnI3skcGF0aC1pbmxpbmV9L2ljb24tZXVyLnBuZycpO1xyXG59XHJcblxyXG4uaWNvbi1waG9uZSB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogaW5saW5lKCcjeyRwYXRoLWlubGluZX0vaWNvbi1waG9uZS5wbmcnKTtcclxufVxyXG5cclxuLmljb24tY2hhdCB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogaW5saW5lKCcjeyRwYXRoLWlubGluZX0vaWNvbi1jaGF0LnBuZycpO1xyXG59XHJcblxyXG4uaWNvbi1kb3dubG9hZCB7XHJcblx0YmFja2dyb3VuZC1pbWFnZTogaW5saW5lKCcjeyRwYXRoLWlubGluZX0vaWNvbi1kb3dubG9hZC5wbmcnKTtcclxufVxyXG5cclxuLmljb24tY2xvc2Uge1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IGlubGluZSgnI3skcGF0aC1pbmxpbmV9L2ljb24tY2xvc2Uuc3ZnJyk7XHJcbn1cclxuXHJcbi5pY29uLXdoYXRzYXBwIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBpbmxpbmUoJyN7JHBhdGgtaW5saW5lfS9pY29uLXdoYXRzYXBwLnN2ZycpO1xyXG59XHJcblxyXG4uaWNvbi1tb3JlIHtcclxuXHRiYWNrZ3JvdW5kLWltYWdlOiBpbmxpbmUoJyN7JHBhdGgtaW5saW5lfS9pY29uLW1vcmUucG5nJyk7XHJcbn0iLCJhIHtcclxuICBjb2xvcjogJGxpbmstY29sb3I7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxuXHJcbiAgJjpob3ZlcixcclxuICAmOmZvY3VzIHtcclxuICAgIGNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcblxyXG59XHJcblxyXG4ubGluay0tYmxvY2sgey8vYmxvY2sgbGlua1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG59IiwiLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LXVwKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC11cCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWxhcmdlKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0KSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtcGhvbmUpIHt9IiwiLmNsZWFyZml4IHtcclxuICBAaW5jbHVkZSBjbGVhcmZpeDtcclxufVxyXG5cclxuLnB1bGwtcmlnaHQge1xyXG4gIGZsb2F0OiByaWdodDtcclxufVxyXG5cclxuLnB1bGwtbGVmdCB7XHJcbiAgZmxvYXQ6IGxlZnQ7XHJcbn1cclxuXHJcbi8vIC5oaWRlLFxyXG4uaGlkZGVuIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XHJcbn1cclxuXHJcbi8vIC5zaG93IHtcclxuLy8gICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4vLyB9XHJcblxyXG4vLyAuaW52aXNpYmxlIHtcclxuLy8gICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcbi8vIH1cclxuXHJcbmltZyB7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBAaW5jbHVkZSBpbWctcmVzcG9uc2l2ZTtcclxufVxyXG5cclxuLy8gLmltZy0tZmx1aWQge1xyXG4vLyAgIEBpbmNsdWRlIGltZy1yZXNwb25zaXZlO1xyXG4vLyB9XHJcblxyXG4vLyAuaW1nLS1pbmxpbmUge1xyXG4vLyAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuLy8gfVxyXG5cclxuLy8gLmltZy0tY2lyY2xlIHtcclxuLy8gICBib3JkZXItcmFkaXVzOiAxMDAlO1xyXG4vLyB9XHJcblxyXG4uaW1nLS1jb3ZlciB7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiAxMDAlO1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG59XHJcblxyXG4vLyAudGV4dC0taGlkZSAgICAgICB7IEBpbmNsdWRlIHRleHQtaGlkZTsgfVxyXG4udGV4dC0tbGVmdCAgICAgICB7IHRleHQtYWxpZ246IGxlZnQ7IH1cclxuLnRleHQtLXJpZ2h0ICAgICAgeyB0ZXh0LWFsaWduOiByaWdodDsgfVxyXG4udGV4dC0tY2VudGVyICAgICB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxyXG4vLyAudGV4dC0tanVzdGlmeSAgICB7IHRleHQtYWxpZ246IGp1c3RpZnk7IH1cclxuLy8gLnRleHQtLW5vd3JhcCAgICAgeyB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XHJcblxyXG4vLyBUcmFuc2Zvcm1hdGlvblxyXG4vLyAudGV4dC0tbG93ZXJjYXNlICB7IHRleHQtdHJhbnNmb3JtOiBsb3dlcmNhc2U7IH1cclxuLy8gLnRleHQtLXVwcGVyY2FzZSAgeyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XHJcbi8vIC50ZXh0LS1jYXBpdGFsaXplIHsgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cclxuXHJcbi8vIC5mYWRlIHtcclxuLy8gICBvcGFjaXR5OiAwO1xyXG4vLyAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjJzIGxpbmVhcjtcclxuLy8gICAmLmluIHtcclxuLy8gICAgIG9wYWNpdHk6IDE7XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG4vLyAudGV4dC0tZWxsaXBzaXMge1xyXG4vLyAgIEBpbmNsdWRlIHRleHQtb3ZlcmZsb3c7XHJcbi8vIH1cclxuXHJcbi8vIFtkYXRhLWVsbGlwc2lzXSB7XHJcbi8vICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuLy8gfVxyXG5cclxuLy8gLmNvbHVtbiB7XHJcbi8vICAgZmxvYXQ6IGxlZnQ7XHJcbi8vICAgbWluLWhlaWdodDogMXB4O1xyXG4vLyB9XHJcblxyXG4vLyAuYmctLWNvdmVyIHtcclxuLy8gICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4vLyAgIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XHJcbi8vIH1cclxuXHJcbi8vIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgjNjk1Zjc0LCAjYmRhZWI3KTtcclxuLy8gZmlsdGVyOiBwcm9naWQ6RFhJbWFnZVRyYW5zZm9ybS5NaWNyb3NvZnQuZ3JhZGllbnQoIHN0YXJ0Q29sb3JzdHI9JyM2OTVmNzQnLCBlbmRDb2xvcnN0cj0nI2JkYWViNycsR3JhZGllbnRUeXBlPTAgKTtcclxuXHJcbi8vIFtjbGFzc149XCJjb2wtXCJdXHJcblxyXG4vLyB7JSBmb3IgaXRlbSBpbiBbXHJcbi8vIF0gLSV9XHJcbi8vIHslIGluY2x1ZGUgXCJpdGVtL19pdGVtLmh0bWxcIiAlfVxyXG4vLyB7JS0gZW5kZm9yICV9XHJcblxyXG4vLyB7JSBmb3IgaSBpbiByYW5nZSgwLCAyKSAtJX1cclxuLy8geyUgaW5jbHVkZSBcIml0ZW0vX2l0ZW0uaHRtbFwiICV9XHJcbi8vIHslLSBlbmRmb3IgJX1cclxuXHJcbltkYXRhLXJvbGU9XCJsYXp5aW1nXCJdIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0Jjo6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0bGVmdDogNTAlO1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcclxuXHRcdHdpZHRoOiA0MHB4O1xyXG5cdFx0aGVpZ2h0OiA0MHB4O1xyXG5cdFx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiBpbmxpbmUoJyN7JHBhdGgtaW5saW5lfS9zcGlubmVyLWJsdWUuc3ZnJyk7XHJcblx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDFzO1xyXG5cdH1cclxuXHRpbWcge1xyXG5cdFx0b3BhY2l0eTogMDtcclxuXHRcdHRyYW5zaXRpb246IG9wYWNpdHkgMXM7XHJcblx0fVxyXG5cdCYubG9hZGVkIHtcclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdG9wYWNpdHk6IDA7XHJcblx0XHR9XHJcblx0XHRpbWcge1xyXG5cdFx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8vIFJlc3BvbnNpdmUgaW1hZ2Vcbi8vXG4vLyBLZWVwIGltYWdlcyBmcm9tIHNjYWxpbmcgYmV5b25kIHRoZSB3aWR0aCBvZiB0aGVpciBwYXJlbnRzLlxuQG1peGluIGltZy1yZXNwb25zaXZlKCRkaXNwbGF5OiBibG9jaykge1xuICBkaXNwbGF5OiAkZGlzcGxheTtcbiAgbWF4LXdpZHRoOiAxMDAlOyAvLyBQYXJ0IDE6IFNldCBhIG1heGltdW0gcmVsYXRpdmUgdG8gdGhlIHBhcmVudFxuICBoZWlnaHQ6IGF1dG87IC8vIFBhcnQgMjogU2NhbGUgdGhlIGhlaWdodCBhY2NvcmRpbmcgdG8gdGhlIHdpZHRoLCBvdGhlcndpc2UgeW91IGdldCBzdHJldGNoaW5nXG59XG5cblxuLy8gUmV0aW5hIGltYWdlXG4vL1xuLy8gU2hvcnQgcmV0aW5hIG1peGluIGZvciBzZXR0aW5nIGJhY2tncm91bmQtaW1hZ2UgYW5kIC1zaXplLiBOb3RlIHRoYXQgdGhlXG4vLyBzcGVsbGluZyBvZiBgbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvYCBpcyBpbnRlbnRpb25hbC5cbkBtaXhpbiBpbWctcmV0aW5hKCRmaWxlLTF4LCAkZmlsZS0yeCwgJHdpZHRoLTF4LCAkaGVpZ2h0LTF4KSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChpZigkYm9vdHN0cmFwLXNhc3MtYXNzZXQtaGVscGVyLCB0d2JzLWltYWdlLXBhdGgoXCIjeyRmaWxlLTF4fVwiKSwgXCIjeyRmaWxlLTF4fVwiKSk7XG5cbiAgQG1lZGlhXG4gIG9ubHkgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggbWluLS1tb3otZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSxcbiAgb25seSBzY3JlZW4gYW5kICggLW8tbWluLWRldmljZS1waXhlbC1yYXRpbzogMi8xKSxcbiAgb25seSBzY3JlZW4gYW5kICggbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksXG4gIG9ubHkgc2NyZWVuIGFuZCAoIG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpLFxuICBvbmx5IHNjcmVlbiBhbmQgKCBtaW4tcmVzb2x1dGlvbjogMmRwcHgpIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaWYoJGJvb3RzdHJhcC1zYXNzLWFzc2V0LWhlbHBlciwgdHdicy1pbWFnZS1wYXRoKFwiI3skZmlsZS0yeH1cIiksIFwiI3skZmlsZS0yeH1cIikpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogJHdpZHRoLTF4ICRoZWlnaHQtMXg7XG4gIH1cbn1cbiIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge1xyXG5cclxuXHQucm93IHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHQvLyBmbGV4LXdyYXA6IHdyYXA7XHJcblx0fVxyXG5cclxuXHRbY2xhc3NePVwiY29sLVwiXSB7XHJcblx0XHRmbG9hdDogbm9uZTtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wLXVwKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtbGFyZ2UpIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3ApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBTbWFsbFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wLWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQpIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1waG9uZSkge30iLCJodG1sLFxyXG5ib2R5IHtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcbn1cclxuXHJcbmJvZHkge1xyXG5cdG1pbi13aWR0aDogJGxheW91dC1taW4td2lkdGg7XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG59XHJcblxyXG4uY29udGFpbmVyIHtcclxuXHR3aWR0aDogYXV0bztcclxufSIsIi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1sYXJnZSkge1xyXG5cclxuXHRib2R5IHtcclxuXHRcdHBhZGRpbmctbGVmdDogMjAwcHg7XHJcblx0fVxyXG5cclxuXHQuY29udGFpbmVyIHtcclxuXHRcdG1heC13aWR0aDogJGNvbnRhaW5lci1sZztcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3ApIHtcclxuXHJcblx0Ym9keSB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDIwMHB4O1xyXG5cdH1cclxuXHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHRtYXgtd2lkdGg6ICRjb250YWluZXItbWQ7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQtdXApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldCkge1xyXG5cclxuXHRib2R5IHtcclxuXHRcdHBhZGRpbmctbGVmdDogNjBweDtcclxuXHR9XHJcblx0XHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHRtYXgtd2lkdGg6ICRjb250YWluZXItc207XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtcGhvbmUpIHtcclxuXHJcblx0LmNvbnRhaW5lciB7XHJcblx0XHRwYWRkaW5nLWxlZnQ6IDE0cHg7XHJcblx0XHRwYWRkaW5nLXJpZ2h0OiAxNHB4O1xyXG5cdH1cclxuXHRcclxufSIsIi5jb25zdWx0YW50IHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0ei1pbmRleDogOTtcclxuXHJcblx0LmxpbmtzIHtcclxuXHRcdGEge1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBjb2xvciAuM3M7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufSIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge1xyXG5cclxuXHQuY29uc3VsdGFudCB7XHJcblx0XHQuaWNvbiB7XHJcblx0XHRcdHdpZHRoOiAyNXB4O1xyXG5cdFx0XHRoZWlnaHQ6IDI1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC11cCkge1xyXG5cclxuXHQuY29uc3VsdGFudCB7XHJcblx0XHRwYWRkaW5nOiAxMHB4O1xyXG5cdFx0dG9wOiA1MCU7XHJcblx0XHRsZWZ0OiAxMHB4O1xyXG5cdFx0dHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKC45KTtcclxuXHRcdHRyYW5zZm9ybS1vcmlnaW46IDAgMDtcclxuXHRcdC5hdmEge1xyXG5cdFx0XHQkd2lkdGg6IDIxMHB4Oy8vMjEwcHg7XHJcblx0XHRcdCRoZWlnaHQ6ICR3aWR0aCoyOTBweC8yMTBweDtcclxuXHRcdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdFx0XHRtYXJnaW46IDAgYXV0byAtNTFweDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHR6LWluZGV4OiAwO1xyXG5cdFx0fVxyXG5cdFx0LnRpdGxlIHtcclxuXHRcdFx0Zm9udC1zaXplOiAyMHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMjNweDtcclxuXHRcdFx0d2lkdGg6IDE5MHB4O1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdHotaW5kZXg6IDE7XHJcblx0XHRcdGJhY2tncm91bmQ6ICMwMDgzZWE7XHJcblx0XHRcdHBhZGRpbmc6IDhweCAxMHB4O1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvIDI4cHg7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDdweDtcclxuXHRcdH1cdFxyXG5cdFx0Lm1vcmUge1xyXG5cdFx0XHR3aWR0aDogMjQxcHg7XHJcblx0XHRcdGhlaWdodDogNTlweDtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogMzBweDtcclxuXHRcdFx0Zm9udC1zaXplOiAxOHB4O1xyXG5cdFx0XHRsaW5lLWhlaWdodDogMjBweDtcclxuXHRcdFx0cGFkZGluZzogMTBweCAwIDhweDtcclxuXHRcdFx0YmFja2dyb3VuZDogIzAwODNlYTtcclxuXHRcdFx0Y29sb3I6IHdoaXRlO1xyXG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdFx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcztcclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogZGFya2VuKCMwMDgzZWEsIDUlKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0LmxpbmtzIHtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRsZWZ0OiAtOXB4O1xyXG5cdFx0XHRmb250LXNpemU6IDE1cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNXB4O1xyXG5cdFx0XHR3aWR0aDogMTIwcHg7XHJcblx0XHRcdG1hcmdpbjogMCBhdXRvIDMwcHg7XHJcblx0XHRcdGEge1xyXG5cdFx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0XHQ+ICoge1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0XHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdGxpIHtcclxuXHRcdFx0d2hpdGUtc3BhY2U6IG5vd3JhcDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjFweDtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHQmOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTlweDtcclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0bGluZS1oZWlnaHQ6IDIwcHg7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMTVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0Lmljb24ge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDdweDtcclxuXHRcdH1cclxuXHRcdC5pY29uLXBob25lIHtcclxuXHRcdFx0dG9wOiAtNHB4O1xyXG5cdFx0fVxyXG5cdFx0Lmljb24tbW9yZSB7XHJcblx0XHRcdHRvcDogLTJweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1sYXJnZSkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldCkge1xyXG5cclxuXHQuY29uc3VsdGFudCB7XHJcblx0XHR0b3A6IDQ0MHB4O1xyXG5cdFx0bGVmdDogMjBweDtcclxuXHRcdGxpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdH1cclxuXHR9XHJcblx0XHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXBob25lKSB7XHJcblxyXG5cdC5jb25zdWx0YW50IHtcclxuXHRcdHJpZ2h0OiAxM3B4O1xyXG5cdFx0dG9wOiAyNTVweDtcclxuXHRcdGxpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjdweDtcclxuXHRcdH1cclxuXHRcdC5pY29uIHtcclxuXHRcdFx0d2lkdGg6IDI3cHg7XHJcblx0XHRcdGhlaWdodDogMjdweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59IiwiLnNlY3Rpb24ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufSIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtdXApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1sYXJnZSkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXBob25lKSB7fSIsIi8vIC5zLS1wcm9tbyB7XHJcbi8vIH1cclxuXHJcbi5wcm9tby1iZyB7XHJcblx0YmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbn1cclxuXHJcbi5wcm9tby1sb2dvIHtcclxuXHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxufVxyXG5cclxuLy8gLnByb21vLXRpdGxlIHtcclxuLy8gfVxyXG5cclxuLnByb21vLXRleHQge1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn0iLCIvKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQtdXApIHtcclxuXHJcblx0LnMtLXByb21vIHtcclxuXHRcdHBhZGRpbmctdG9wOiA1MXB4O1xyXG5cdFx0LmNvbnRhaW5lciB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5wcm9tby1iZyB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skcGF0aC1pbWd9L3Byb21vLWJnLW5ldy5qcGcpO1xyXG5cdFx0QGluY2x1ZGUgcmV0aW5hKCcjeyRwYXRoLWltZ30vcHJvbW8tYmctbmV3QDJ4LmpwZycpO1xyXG5cdFx0ei1pbmRleDogMDtcclxuXHR9XHJcblxyXG5cdC5wcm9tby1sb2dvIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDQxcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skcGF0aC1pbWd9L2xvZ28ucG5nKTtcclxuXHR9XHJcblxyXG5cdC5wcm9tby10aXRsZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyOXB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtdXApIHtcclxuXHJcblx0LnMtLXByb21vIHtcclxuXHRcdG1pbi1oZWlnaHQ6IDYzMHB4O1xyXG5cdH1cclxuXHJcblx0LnByb21vLWxvZ28ge1xyXG5cdFx0d2lkdGg6IDI5MHB4O1xyXG5cdFx0aGVpZ2h0OiA3NXB4O1xyXG5cdH1cclxuXHJcblx0LnByb21vLXRpdGxlLFxyXG5cdC5wcm9tby10ZXh0IHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAzOHB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWxhcmdlKSB7XHJcblxyXG5cdC5wcm9tby1iZyB7XHJcblx0XHR3aWR0aDogMTExNXB4O1xyXG5cdFx0aGVpZ2h0OiA2MzBweDtcclxuXHRcdC8vIGxlZnQ6IGNhbGMoNTAlIC0gMTU0cHgpO1xyXG5cdFx0bGVmdDogY2FsYyg1MCUgLSAyMDBweCk7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wKSB7XHJcblxyXG5cdC5wcm9tby1iZyB7XHJcblx0XHQkd2lkdGg6IDkwMHB4Oy8vMTExNXB4O1xyXG5cdFx0JGhlaWdodDogJHdpZHRoKjYzMHB4LzExMTVweDtcclxuXHRcdHdpZHRoOiAkd2lkdGg7XHJcblx0XHRoZWlnaHQ6ICRoZWlnaHQ7XHJcblx0XHQvLyBsZWZ0OiBjYWxjKDUwJSAtIDEzNHB4KTtcclxuXHRcdGxlZnQ6IGNhbGMoNTAlIC0gOTRweCk7XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0KSB7XHJcblxyXG5cdC5zLS1wcm9tbyB7XHJcblx0XHRtaW4taGVpZ2h0OiA0NTBweDtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtNjBweDtcclxuXHR9XHJcblxyXG5cdC5wcm9tby1iZyB7XHJcblx0XHQkd2lkdGg6IDY5MHB4Oy8vMTExNXB4O1xyXG5cdFx0JGhlaWdodDogJHdpZHRoKjYzMHB4LzExMTVweDtcclxuXHRcdHdpZHRoOiAkd2lkdGg7XHJcblx0XHRoZWlnaHQ6ICRoZWlnaHQ7XHJcblx0XHRsZWZ0OiBjYWxjKDUwJSAtIDEwMHB4KTtcclxuXHR9XHJcblxyXG5cdC5wcm9tby1sb2dvIHtcclxuXHRcdCR3aWR0aDogMjUwcHg7Ly8yOTBweDtcclxuXHRcdCRoZWlnaHQ6ICR3aWR0aCo3NXB4LzI5MHB4O1xyXG5cdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdGhlaWdodDogJGhlaWdodDtcclxuXHR9XHJcblxyXG5cdC5wcm9tby10aXRsZSxcclxuXHQucHJvbW8tdGV4dCB7XHJcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1waG9uZSkge1xyXG5cclxuXHQucHJvbW8tYmcge1xyXG5cdFx0aGVpZ2h0OiAyMDBweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRwYXRoLWltZ30vcHJvbW8tYmctcGhvbmUtbmV3LmpwZyk7XHJcblx0XHRAaW5jbHVkZSByZXRpbmEoJyN7JHBhdGgtaW1nfS9wcm9tby1iZy1waG9uZS1uZXdAMnguanBnJyk7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyN3B4O1xyXG5cdH1cclxuXHJcblx0LnByb21vLWxvZ28ge1xyXG5cdFx0d2lkdGg6IDE4NXB4O1xyXG5cdFx0aGVpZ2h0OiA0NnB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjFweDtcclxuXHRcdGJhY2tncm91bmQtaW1hZ2U6IHVybCgjeyRwYXRoLWltZ30vbG9nby1waG9uZS5wbmcpO1xyXG5cdH1cclxuXHJcblx0LnByb21vLXRpdGxlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0fVxyXG5cclxuXHQucHJvbW8tdGV4dCB7XHJcblx0XHRtYXJnaW4tbGVmdDogMnB4O1xyXG5cdH1cclxuXHJcbn0iLCIuYmVuZWZpdHMtaXRlbSB7XHJcblx0LmltZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0fVxyXG5cdC50ZXh0IHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0fVxyXG5cdGIge1xyXG5cdFx0Y29sb3I6ICRicmFuZC1wcmltYXJ5O1xyXG5cdH1cclxufSIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge1xyXG5cclxuXHQucy0tYmVuZWZpdHMge1xyXG5cdFx0cGFkZGluZzogNTJweCAwIDc5cHg7XHJcblx0fVxyXG5cclxuXHQuYmVuZWZpdHMtdGl0bGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMTIycHg7XHJcblx0fVxyXG5cclxuXHQuYmVuZWZpdHMtaXRlbSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHRcdC5yb3cge1xyXG5cdFx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQob2RkKSB7XHJcblx0XHRcdFtjbGFzc149XCJjb2wtXCJdIHtcclxuXHRcdFx0XHQmOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0XHRcdFx0anVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKGV2ZW4pIHtcclxuXHRcdFx0W2NsYXNzXj1cImNvbC1cIl0ge1xyXG5cdFx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHRcdG9yZGVyOiAyO1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHRvcmRlcjogMTtcclxuXHRcdFx0XHRcdHRleHQtYWxpZ246IHJpZ2h0O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtdXApIHtcclxuXHJcblx0LmJlbmVmaXRzLWl0ZW0ge1xyXG5cdFx0LnRpdGxlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzZweDtcclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDIyMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjIwcHg7XHJcblx0XHRcdFx0dG9wOiAxMnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdHRvcDogMzhweDtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDQwMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjAwcHg7XHJcblx0XHRcdFx0dG9wOiAtNnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCgzKSB7XHJcblx0XHRcdHRvcDogMjdweDtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDQzNXB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjUwcHg7XHJcblx0XHRcdFx0dG9wOiAtMTRweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoNCkge1xyXG5cdFx0XHR0b3A6IDE4cHg7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdHdpZHRoOiA0MjVweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDIyNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg1KSB7XHJcblx0XHRcdHRvcDogMzNweDtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDM4MHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjc1cHg7XHJcblx0XHRcdFx0dG9wOiAtMjVweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoNikge1xyXG5cdFx0XHR0b3A6IDM0cHg7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdHdpZHRoOiA0MTBweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDI3NXB4O1xyXG5cdFx0XHRcdHRvcDogLTM3cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDcpIHtcclxuXHRcdFx0dG9wOiAzM3B4O1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHR3aWR0aDogMzg1cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAyNjBweDtcclxuXHRcdFx0XHR0b3A6IC00NXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg4KSB7XHJcblx0XHRcdHRvcDogMTNweDtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0d2lkdGg6IDQyMHB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjA1cHg7XHJcblx0XHRcdFx0dG9wOiA1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1sYXJnZSkge1xyXG5cclxuXHQvLyAkY29sLW9mZnNldDogMjcycHg7XHJcblx0JGNvbC1vZmZzZXQ6IDE0MHB4O1xyXG5cclxuXHQuYmVuZWZpdHMtaXRlbSB7XHJcblx0XHQucm93IHtcclxuXHRcdFx0bWFyZ2luOiAwICgtJGNvbC1vZmZzZXQvMik7XHRcdFxyXG5cdFx0fVxyXG5cdFx0W2NsYXNzXj1cImNvbC1cIl0ge1xyXG5cdFx0XHRwYWRkaW5nOiAwICRjb2wtb2Zmc2V0LzI7XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdGxlZnQ6IDI3cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdC8vICY6bnRoLWNoaWxkKDIpIHtcclxuXHRcdC8vIFx0LmltZyB7XHJcblx0XHQvLyBcdFx0bGVmdDogLTc2cHg7XHJcblx0XHQvLyBcdH1cclxuXHRcdC8vIH1cclxuXHRcdCY6bnRoLWNoaWxkKDMpIHtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0Ly8gbGVmdDogMTExcHg7XHJcblx0XHRcdFx0bGVmdDogNDBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoNCkge1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHRsZWZ0OiAtMzBweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoNSkge1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHRsZWZ0OiA2MHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg2KSB7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdGxlZnQ6IC0zNHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg3KSB7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdGxlZnQ6IDQ1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDgpIHtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0Ly8gbGVmdDogLTU2cHg7XHJcblx0XHRcdFx0bGVmdDogLTM2cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3ApIHtcclxuXHJcblx0JGNvbC1vZmZzZXQ6IDgwcHg7XHJcblxyXG5cdC5iZW5lZml0cy1pdGVtIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDgwcHg7XHJcblx0XHQucm93IHtcclxuXHRcdFx0bWFyZ2luOiAwICgtJGNvbC1vZmZzZXQvMik7XHJcblx0XHR9XHJcblx0XHRbY2xhc3NePVwiY29sLVwiXSB7XHJcblx0XHRcdHBhZGRpbmc6IDAgJGNvbC1vZmZzZXQvMjtcclxuXHRcdH1cclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBTbWFsbFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wLWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQpIHtcclxuXHJcblx0JGNvbC1vZmZzZXQ6IDYwcHg7XHJcblxyXG5cdC5iZW5lZml0cy1pdGVtIHtcclxuXHRcdC5yb3cge1xyXG5cdFx0XHRtYXJnaW46IDAgKC0kY29sLW9mZnNldC8yKTtcclxuXHRcdH1cclxuXHRcdFtjbGFzc149XCJjb2wtXCJdIHtcclxuXHRcdFx0cGFkZGluZzogMCAkY29sLW9mZnNldC8yO1xyXG5cdFx0fVxyXG5cdFx0LnRpdGxlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0JHdpZHRoOiAxNjZweDsvLzIyMHB4O1xyXG5cdFx0XHRcdCRoZWlnaHQ6ICR3aWR0aCoyMjBweC8yMjBweDtcclxuXHRcdFx0XHR3aWR0aDogJHdpZHRoO1xyXG5cdFx0XHRcdGhlaWdodDogJGhlaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoMikge1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHQkd2lkdGg6IDMwMXB4Oy8vNDAwcHg7XHJcblx0XHRcdFx0JGhlaWdodDogJHdpZHRoKjIwMHB4LzQwMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAkd2lkdGg7XHJcblx0XHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCgzKSB7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdCR3aWR0aDogMzI3cHg7Ly80MzVweDtcclxuXHRcdFx0XHQkaGVpZ2h0OiAkd2lkdGgqMjUwcHgvNDM1cHg7XHJcblx0XHRcdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdFx0XHRoZWlnaHQ6ICRoZWlnaHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDQpIHtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0JHdpZHRoOiAzMjBweDsvLzQyNXB4O1xyXG5cdFx0XHRcdCRoZWlnaHQ6ICR3aWR0aCoyMjVweC80MjVweDtcclxuXHRcdFx0XHR3aWR0aDogJHdpZHRoO1xyXG5cdFx0XHRcdGhlaWdodDogJGhlaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoNSkge1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHQkd2lkdGg6IDI4NnB4Oy8vMzgwcHg7XHJcblx0XHRcdFx0JGhlaWdodDogJHdpZHRoKjI3NXB4LzM4MHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAkd2lkdGg7XHJcblx0XHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg2KSB7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdCR3aWR0aDogMzA5cHg7Ly80MTBweDtcclxuXHRcdFx0XHQkaGVpZ2h0OiAkd2lkdGgqMjc1cHgvNDEwcHg7XHJcblx0XHRcdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdFx0XHRoZWlnaHQ6ICRoZWlnaHQ7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDcpIHtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0JHdpZHRoOiAyOTBweDsvLzM4NXB4O1xyXG5cdFx0XHRcdCRoZWlnaHQ6ICR3aWR0aCoyNjBweC8zODVweDtcclxuXHRcdFx0XHR3aWR0aDogJHdpZHRoO1xyXG5cdFx0XHRcdGhlaWdodDogJGhlaWdodDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoOCkge1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHQkd2lkdGg6IDMxNnB4Oy8vNDIwcHg7XHJcblx0XHRcdFx0JGhlaWdodDogJHdpZHRoKjIwNXB4LzQyMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAkd2lkdGg7XHJcblx0XHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtcGhvbmUpIHtcclxuXHJcblx0LnMtLWJlbmVmaXRzIHtcclxuXHRcdHBhZGRpbmc6IDgwcHggMCAxMDBweDtcclxuXHR9XHJcblxyXG5cdC5iZW5lZml0cy10aXRsZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHR9XHJcblxyXG5cdC5iZW5lZml0cy1pdGVtIHtcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRcdC50aXRsZSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDE1cHg7XHJcblx0XHR9XHJcblx0XHQuaW1nIHtcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCgxKSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDkzcHg7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdCR3aWR0aDogMTA1cHg7Ly8yMjBweDtcclxuXHRcdFx0XHQkaGVpZ2h0OiAkd2lkdGgqMjIwcHgvMjIwcHg7XHJcblx0XHRcdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdFx0XHRoZWlnaHQ6ICRoZWlnaHQ7XHJcblx0XHRcdFx0dG9wOiBhdXRvO1xyXG5cdFx0XHRcdGxlZnQ6IGF1dG87XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzJweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoMikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA3NHB4O1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHQkd2lkdGg6IDE5M3B4Oy8vNDAwcHg7XHJcblx0XHRcdFx0JGhlaWdodDogJHdpZHRoKjIwMHB4LzQwMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAkd2lkdGg7XHJcblx0XHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMxcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDMpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogODhweDtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0JHdpZHRoOiAyMDlweDsvLzQzNXB4O1xyXG5cdFx0XHRcdCRoZWlnaHQ6ICR3aWR0aCoyNTBweC80MzVweDtcclxuXHRcdFx0XHR3aWR0aDogJHdpZHRoO1xyXG5cdFx0XHRcdGhlaWdodDogJGhlaWdodDtcclxuXHRcdFx0XHRsZWZ0OiAtNnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDI2cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDQpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogOTBweDtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0JHdpZHRoOiAxOTdweDsvLzQyNXB4O1xyXG5cdFx0XHRcdCRoZWlnaHQ6ICR3aWR0aCoyMjVweC80MjVweDtcclxuXHRcdFx0XHR3aWR0aDogJHdpZHRoO1xyXG5cdFx0XHRcdGhlaWdodDogJGhlaWdodDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg1KSB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdCR3aWR0aDogMTk3cHg7Ly8zODBweDtcclxuXHRcdFx0XHQkaGVpZ2h0OiAkd2lkdGgqMjc1cHgvMzgwcHg7XHJcblx0XHRcdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdFx0XHRoZWlnaHQ6ICRoZWlnaHQ7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMjhweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdFx0JjpudGgtY2hpbGQoNikge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA2OHB4O1xyXG5cdFx0XHQuaW1nIHtcclxuXHRcdFx0XHQkd2lkdGg6IDE5N3B4Oy8vNDEwcHg7XHJcblx0XHRcdFx0JGhlaWdodDogJHdpZHRoKjI3NXB4LzQxMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAkd2lkdGg7XHJcblx0XHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdCY6bnRoLWNoaWxkKDcpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogODVweDtcclxuXHRcdFx0LmltZyB7XHJcblx0XHRcdFx0JHdpZHRoOiAyMDJweDsvLzM4NXB4O1xyXG5cdFx0XHRcdCRoZWlnaHQ6ICR3aWR0aCoyNjBweC8zODVweDtcclxuXHRcdFx0XHR3aWR0aDogJHdpZHRoO1xyXG5cdFx0XHRcdGhlaWdodDogJGhlaWdodDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQmOm50aC1jaGlsZCg4KSB7XHJcblx0XHRcdC5pbWcge1xyXG5cdFx0XHRcdCR3aWR0aDogMjAzcHg7Ly80MjBweDtcclxuXHRcdFx0XHQkaGVpZ2h0OiAkd2lkdGgqMjA1cHgvNDIwcHg7XHJcblx0XHRcdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdFx0XHRoZWlnaHQ6ICRoZWlnaHQ7XHJcblx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMzFweDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn0iLCIucy0tdGVybXMge1xyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kLXNpemU6IDEwMCUgMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi50ZXJtcy1pdGVtIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG5cdC52YWx1ZSB7XHJcblx0XHRjb2xvcjogJGxpbmstY29sb3I7XHJcblx0XHRsaW5lLWhlaWdodDogMTtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdD4gKiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0dmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuXHRcdH1cclxuXHRcdGRpdiB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdGxlZnQ6IDVweDtcclxuXHRcdH1cclxuXHR9XHJcblx0LnRpdGxlIHtcclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCB3aGl0ZTtcclxuXHRcdH1cclxuXHR9XHJcblx0c3ViIHtcclxuXHRcdGJvdHRvbTogYXV0bztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR9XHJcblx0c3Ryb25nIHtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAtLjFlbTtcclxuXHR9XHJcblx0c21hbGwge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdH1cclxufSIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge1xyXG5cclxuXHQucy0tdGVybXMge1xyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMTIxcHg7XHJcblx0XHRcdHdpZHRoOiA0ODBweDtcclxuXHRcdFx0aGVpZ2h0OiAycHg7XHJcblx0XHRcdGJhY2tncm91bmQtaW1hZ2U6IGlubGluZSgnI3skcGF0aC1pbmxpbmV9L3Rlcm1zLWxpbmUucG5nJyk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudGVybXMtdGl0bGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNjZweDtcclxuXHR9XHJcblxyXG5cdC50ZXJtcy1saXN0IHtcclxuXHRcdFtjbGFzc149XCJjb2wtXCJdIHtcclxuXHRcdFx0JjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdC52YWx1ZSB7XHJcblx0XHRcdFx0XHRsZWZ0OiAtNXB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1jaGlsZCgzKSB7XHJcblx0XHRcdFx0LnZhbHVlIHtcclxuXHRcdFx0XHRcdGxlZnQ6IC0zcHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLWNoaWxkKDQpIHtcclxuXHRcdFx0XHQudmFsdWUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiA0M3B4O1xyXG5cdFx0XHRcdFx0cGFkZGluZy10b3A6IDE3cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQudGVybXMtaXRlbSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHRcdC52YWx1ZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMjNweDtcclxuXHRcdFx0aGVpZ2h0OiAxMjZweDtcclxuXHRcdFx0ZGl2IHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAtNnB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDQxcHg7XHJcblx0XHRcdFx0d2lkdGg6IDQzcHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHN1YiB7XHJcblx0XHRcdHRvcDogNDJweDtcclxuXHRcdFx0Zm9udC1zaXplOiAzNnB4O1xyXG5cdFx0XHRsZWZ0OiAtMzVweDtcclxuXHRcdH1cclxuXHRcdHN0cm9uZyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogODhweDtcclxuXHRcdH1cclxuXHRcdHNtYWxsIHtcclxuXHRcdFx0dG9wOiAxOHB4O1xyXG5cdFx0XHRmb250LXNpemU6IDUwcHg7XHJcblx0XHRcdHJpZ2h0OiAtNDdweDtcclxuXHRcdH1cclxuXHRcdC5pY29uIHtcclxuXHRcdFx0d2lkdGg6IDQ1cHg7XHJcblx0XHRcdGhlaWdodDogNTVweDtcclxuXHRcdFx0bGVmdDogM3B4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtdXApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1sYXJnZSkge1xyXG5cclxuXHQvLyAudGVybXMtbGlzdCB7XHJcblx0Ly8gXHRbY2xhc3NePVwiY29sLVwiXSB7XHJcblx0Ly8gXHRcdCY6bnRoLWNoaWxkKDIpIHtcclxuXHQvLyBcdFx0XHRsZWZ0OiAyMXB4O1xyXG5cdC8vIFx0XHR9XHJcblx0Ly8gXHRcdCY6bnRoLWNoaWxkKDMpIHtcclxuXHQvLyBcdFx0XHRsZWZ0OiA3cHg7XHJcblx0Ly8gXHRcdH1cclxuXHQvLyBcdFx0JjpudGgtY2hpbGQoNCkge1xyXG5cdC8vIFx0XHRcdGxlZnQ6IC0xN3B4O1xyXG5cdC8vIFx0XHR9XHJcblx0Ly8gXHR9XHJcblx0Ly8gfVxyXG5cclxuLy8gfVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wKSB7XHJcblxyXG5cdC50ZXJtcy1saXN0IHtcclxuXHRcdFtjbGFzc149XCJjb2wtXCJdIHtcclxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRcdGxlZnQ6IC0yMHB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG5cclxufVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0KSB7XHJcblxyXG5cdC50ZXJtcy1saXN0IHtcclxuXHRcdG1heC13aWR0aDogNTgwcHg7XHJcblx0XHRtYXJnaW46IDAgYXV0bztcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1waG9uZSkge1xyXG5cclxuXHQucy0tdGVybXMge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDQ0cHg7XHJcblx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiA4OHB4O1xyXG5cdFx0XHR3aWR0aDogMjMycHg7XHJcblx0XHRcdGhlaWdodDogMXB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiBpbmxpbmUoJyN7JHBhdGgtaW5saW5lfS90ZXJtcy1saW5lLXBob25lLnBuZycpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRlcm1zLXRpdGxlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDg0cHg7XHJcblx0fVxyXG5cclxuXHQudGVybXMtbGlzdCB7XHJcblx0XHRbY2xhc3NePVwiY29sLVwiXSB7XHJcblx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHQudmFsdWUge1xyXG5cdFx0XHRcdFx0bGVmdDogLTZweDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdFx0JjpudGgtY2hpbGQoMikge1xyXG5cdFx0XHRcdC52YWx1ZSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tYm90dG9tOiAzMnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0XHQmOm50aC1jaGlsZCgzKSB7XHJcblx0XHRcdFx0LnZhbHVlIHtcclxuXHRcdFx0XHRcdG1hcmdpbi1ib3R0b206IDI3cHg7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHRcdCY6bnRoLWNoaWxkKDQpIHtcclxuXHRcdFx0XHQudmFsdWUge1xyXG5cdFx0XHRcdFx0Zm9udC1zaXplOiAzNnB4O1xyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnRlcm1zLWl0ZW0ge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNzdweDtcclxuXHRcdC52YWx1ZSB7XHJcblx0XHRcdGZvbnQtc2l6ZTogMTlweDtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMzVweDtcclxuXHRcdFx0ZGl2IHtcclxuXHRcdFx0XHRtYXJnaW4tdG9wOiAtNXB4O1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0XHQudGl0bGUge1xyXG5cdFx0XHRmb250LXNpemU6IDIwcHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG5cdFx0XHQmOjpiZWZvcmUge1xyXG5cdFx0XHRcdG1hcmdpbi1ib3R0b206IDIycHg7XHJcblx0XHRcdFx0d2lkdGg6IDM1cHg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHRcdHN1YiB7XHJcblx0XHRcdHRvcDogMzVweDtcclxuXHRcdFx0Zm9udC1zaXplOiAzMHB4O1xyXG5cdFx0XHRsZWZ0OiAtMjlweDtcclxuXHRcdH1cclxuXHRcdHN0cm9uZyB7XHJcblx0XHRcdGZvbnQtc2l6ZTogNzNweDtcclxuXHRcdH1cclxuXHRcdHNtYWxsIHtcclxuXHRcdFx0dG9wOiAxNXB4O1xyXG5cdFx0XHRmb250LXNpemU6IDQycHg7XHJcblx0XHRcdHJpZ2h0OiAtMzlweDtcclxuXHRcdH1cclxuXHRcdC5pY29uIHtcclxuXHRcdFx0JHdpZHRoOiAzNnB4Oy8vNDVweDtcclxuXHRcdFx0JGhlaWdodDogJHdpZHRoKjU1cHgvNDVweDtcclxuXHRcdFx0d2lkdGg6ICR3aWR0aDtcclxuXHRcdFx0aGVpZ2h0OiAkaGVpZ2h0O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn0iLCIucy0tdmlkZW8ge1xyXG5cdGJhY2tncm91bmQ6IHdoaXRlO1xyXG5cdGNvbG9yOiBibGFjaztcclxufVxyXG5cclxuLnZpZGVvIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRib3JkZXItcmFkaXVzOiAxNnB4O1xyXG5cdC8vIGJhY2tncm91bmQ6ICRib2R5LWJnO1xyXG5cdD4gKiB7XHJcblx0XHRAaW5jbHVkZSBzdHJldGNoO1xyXG5cdH1cclxufVxyXG5cclxudmlkZW8ge1xyXG4gIG9iamVjdC1maXQ6IGNvdmVyO1xyXG4gIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB3aWR0aDogMTAwJTtcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgbWluLWhlaWdodDogMTAwJTtcclxuICBtaW4td2lkdGg6IDEwMCU7IFxyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICAmOmZvY3VzIHtcclxuICBcdG91dGxpbmU6IG5vbmU7XHJcbiAgfVxyXG59XHJcbiIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge1xyXG5cclxuXHQucy0tdmlkZW8ge1xyXG5cdFx0cGFkZGluZzogODRweCAwIDEzOXB4O1xyXG5cdFx0Jjo6YmVmb3JlIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdEBpbmNsdWRlIHN0cmV0Y2gteTtcclxuXHRcdFx0cmlnaHQ6IDA7XHJcblx0XHRcdGxlZnQ6IC0xMDAlO1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiBpbmhlcml0O1xyXG5cdFx0XHR6LWluZGV4OiAtMTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC52aWRlby10aXRsZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiA2OXB4O1xyXG5cdH1cclxuXHJcblx0LnZpZGVvLWNvbnRlbnQge1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRtYXgtd2lkdGg6IDg3MHB4O1xyXG5cdH1cclxuXHJcblx0LnZpZGVvIHtcclxuXHRcdHBhZGRpbmctYm90dG9tOiByYXRpbyg0ODlweCwgODcwcHgpO1xyXG5cdFx0Ym94LXNoYWRvdzogMCAzM3B4IDQwcHggMCByZ2JhKGJsYWNrLCAuMjIpO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtdXApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1sYXJnZSkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXBob25lKSB7XHJcblxyXG5cdC5zLS12aWRlbyB7XHJcblx0XHRwYWRkaW5nOiAzMHB4IDAgKDQ2cHggKyA4MnB4KTtcclxuXHRcdCY6OmFmdGVyIHtcclxuXHRcdFx0Y29udGVudDogJyc7XHJcblx0XHRcdEBpbmNsdWRlIHN0cmV0Y2gteDtcclxuXHRcdFx0aGVpZ2h0OiA4MnB4O1xyXG5cdFx0XHRib3R0b206IDA7XHJcblx0XHRcdGJhY2tncm91bmQ6ICRib2R5LWJnO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnZpZGVvLXRpdGxlIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMzcHg7XHJcblx0fVxyXG5cclxuXHQudmlkZW8ge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IHJhdGlvKDE2M3B4LCAyOTBweCk7XHJcblx0fVxyXG5cclxufSIsImJ1dHRvbiB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcclxufVxyXG5cclxuLmJ0bixcclxuLmJ0bi0tdW5zdHlsZWQge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQyODU3MTQyOTtcclxuICBsaW5lLWhlaWdodDogbm9ybWFsO1xyXG4gIHVzZXItc2VsZWN0OiBub25lO1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcclxufVxyXG5cclxuLmJ0bi0tdW5zdHlsZWQge1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbi5idG4ge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBib3gtc2hhZG93LCBiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcjtcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAuMnM7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIGJvcmRlci1yYWRpdXM6IDVweDtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG5cclxuICA+ICoge1xyXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICB9XHJcblxyXG4gICY6YWN0aXZlLFxyXG4gICYuYWN0aXZlIHtcclxuICAgICY6bm90KFtkaXNhYmxlZF0pIHtcclxuICAgICAgYm94LXNoYWRvdzogaW5zZXQgMCAzcHggNXB4IHJnYmEoYmxhY2ssIC4xMjUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJltkaXNhYmxlZF0ge1xyXG4gICAgb3BhY2l0eTogLjk7XHJcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgIC8vIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgICAvLyBvcGFjaXR5OiAuNjU7XHJcbiAgICAvLyBib3gtc2hhZG93OiBub25lO1xyXG4gIH1cclxuXHJcbn1cclxuXHJcbmEuYnRuIHtcclxuICAmLmRpc2FibGVkLFxyXG4gIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuLmJ0bi0tYmxvY2sge1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdLFxyXG4vLyBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXHJcbmlucHV0W3R5cGU9XCJidXR0b25cIl0ge1xyXG4gICYuYnRuLS1ibG9jayB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbn1cclxuXHJcbi5idG4tLXN1Ym1pdCB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICBsZWZ0OiA1MCU7XHJcbiAgICB0b3A6IDUwJTtcclxuICAgIHdpZHRoOiA0MHB4O1xyXG4gICAgaGVpZ2h0OiA0MHB4O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiAxMDAlIDEwMCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKSBzY2FsZSgwKTtcclxuICAgIGJhY2tncm91bmQtaW1hZ2U6IGlubGluZSgnI3skcGF0aC1pbmxpbmV9L3NwaW5uZXItd2hpdGUuc3ZnJyk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjJzO1xyXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XHJcbiAgfVxyXG4gIC5mb3JtLS1sb2FkaW5nICYge1xyXG4gICAgPiBzcGFuIHtcclxuICAgICAgb3BhY2l0eTogMDtcclxuICAgIH1cclxuICAgICY6OmFmdGVyIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSkgc2NhbGUoMSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYnRuLS1wcmltYXJ5IHtcclxuICBjb2xvcjogd2hpdGU7XHJcbiAgYmFja2dyb3VuZDogJGxpbmstY29sb3I7XHJcbiAgYm9yZGVyLWNvbG9yOiAkbGluay1jb2xvcjtcclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQ6ICRsaW5rLWhvdmVyLWNvbG9yO1xyXG4gICAgYm9yZGVyLWNvbG9yOiAkbGluay1ob3Zlci1jb2xvcjtcclxuICB9XHJcbn1cclxuXHJcbi5idG4tLWNsb3NlIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgei1pbmRleDogMjtcclxuICByaWdodDogMjBweDtcclxuICB0b3A6IDIwcHg7XHJcbiAgLmljb24ge1xyXG4gICAgd2lkdGg6IDIwcHg7XHJcbiAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgfVxyXG59IiwiLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbkBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LXVwKSB7XHJcblxyXG5cdC5idG4ge1xyXG5cdCAgZm9udC1zaXplOiAyMHB4O1xyXG5cdCAgcGFkZGluZzogMTVweCA0MHB4O1xyXG5cdH1cclxuXHJcbn1cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtdXApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1sYXJnZSkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3BcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIERlc2t0b3AgYW5kIFNtYWxsXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3AtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgUGhvbmVzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0XHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFBob25lXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXBob25lKSB7XHJcblxyXG5cdC5idG4ge1xyXG5cdCAgZm9udC1zaXplOiAxNnB4O1xyXG5cdCAgcGFkZGluZzogMTBweCAzMHB4O1xyXG5cdH1cclxuXHJcbn0iLCIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXHJcblxyXG5maWVsZHNldCB7XHJcbiAgcGFkZGluZzogMDtcclxuICBtYXJnaW46IDA7XHJcbiAgYm9yZGVyOiAwO1xyXG4gIG1pbi13aWR0aDogMDtcclxufVxyXG5cclxuLy8gbGVnZW5kIHtcclxuLy8gICBkaXNwbGF5OiBibG9jaztcclxuLy8gICB3aWR0aDogMTAwJTtcclxuLy8gICBwYWRkaW5nOiAwO1xyXG4vLyAgIG1hcmdpbjogMDtcclxuLy8gICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuLy8gICBsaW5lLWhlaWdodDogaW5oZXJpdDtcclxuLy8gICBib3JkZXI6IDA7XHJcbi8vIH1cclxuXHJcbi8vIGxhYmVsIHtcclxuLy8gICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4vLyB9XHJcblxyXG4vLyBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcclxuLy8gICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xyXG4vLyB9XHJcblxyXG4vLyBpbnB1dFt0eXBlPVwicmFkaW9cIl0sXHJcbi8vIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XHJcbi8vICAgbWFyZ2luOiA0cHggMCAwO1xyXG4vLyAgIG1hcmdpbi10b3A6IDFweCBcXDk7IC8vIElFOC05XHJcbi8vICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcclxuLy8gfVxyXG5cclxuLy8gaW5wdXRbdHlwZT1cImZpbGVcIl0ge1xyXG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyB9XHJcblxyXG4vLyBpbnB1dFt0eXBlPVwicmFuZ2VcIl0ge1xyXG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgIHdpZHRoOiAxMDAlO1xyXG4vLyB9XHJcblxyXG4vLyBzZWxlY3RbbXVsdGlwbGVdLFxyXG4vLyBzZWxlY3Rbc2l6ZV0ge1xyXG4vLyAgIGhlaWdodDogYXV0bztcclxuLy8gfVxyXG5cclxuLy8gb3V0cHV0IHtcclxuLy8gICBkaXNwbGF5OiBibG9jaztcclxuLy8gICBtYXJnaW46IDA7XHJcbi8vICAgcGFkZGluZzogMDtcclxuLy8gICBmb250LXNpemU6ICRmb250LXNpemUtYmFzZTtcclxuLy8gICBsaW5lLWhlaWdodDogJGxpbmUtaGVpZ2h0LWJhc2U7XHJcbi8vICAgY29sb3I6ICRpbnB1dC1jb2xvcjtcclxuLy8gfVxyXG5cclxuLmZvcm0tY29udHJvbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgcGFkZGluZzogNnB4IDEycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDI4NTcxNDI5O1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XHJcbiAgY29sb3I6IGJsYWNrO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcclxuICBib3JkZXItcmFkaXVzOiA1cHg7XHJcbiAgLy8gYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoYmxhY2ssIC4wNzUpO1xyXG4gIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLCBib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7XHJcbiAgb3V0bGluZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gIFxyXG4gICY6OnBsYWNlaG9sZGVyIHtcclxuICAgIGNvbG9yOiAjOTk5O1xyXG4gIH1cclxuXHJcbiAgJjo6LW1zLWV4cGFuZCB7XHJcbiAgICBib3JkZXI6IDA7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICB9XHJcbiAgXHJcbiAgJjpmb2N1cyB7XHJcbiAgICAkY29sb3ItcmdiYTogcmdiYShyZWQoJGxpbmstY29sb3IpLCBncmVlbigkbGluay1jb2xvciksIGJsdWUoJGxpbmstY29sb3IpLCAuNik7XHJcbiAgICBib3JkZXItY29sb3I6ICRsaW5rLWNvbG9yO1xyXG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMXB4IHJnYmEoYmxhY2ssIC4wNzUpLCAwIDAgOHB4ICRjb2xvci1yZ2JhO1xyXG4gIH1cclxuXHJcbiAgLy8gJjppbnZhbGlkIHtcclxuICAvLyAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgLy8gfVxyXG5cclxuICAvLyAmW2Rpc2FibGVkXSxcclxuICAvLyAmW3JlYWRvbmx5XSxcclxuICAvLyBmaWVsZHNldFtkaXNhYmxlZF0gJiB7XHJcbiAgLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiBncmF5O1xyXG4gIC8vICAgb3BhY2l0eTogMTtcclxuICAvLyB9XHJcblxyXG4gIC8vICZbZGlzYWJsZWRdLFxyXG4gIC8vIGZpZWxkc2V0W2Rpc2FibGVkXSAmIHtcclxuICAvLyAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XHJcbiAgLy8gfVxyXG5cclxufVxyXG5cclxudGV4dGFyZWEuZm9ybS1jb250cm9sIHtcclxuICBoZWlnaHQ6IGF1dG87XHJcbiAgcmVzaXplOiB2ZXJ0aWNhbDtcclxufVxyXG5cclxuLy8gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XHJcbi8vICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4vLyB9XHJcblxyXG4vLyBAbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XHJcbi8vICAgaW5wdXRbdHlwZT1cImRhdGVcIl0sXHJcbi8vICAgaW5wdXRbdHlwZT1cInRpbWVcIl0sXHJcbi8vICAgaW5wdXRbdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxyXG4vLyAgIGlucHV0W3R5cGU9XCJtb250aFwiXSB7XHJcbi8vICAgICAmLmZvcm0tY29udHJvbCB7XHJcbi8vICAgICAgIGxpbmUtaGVpZ2h0OiAkaW5wdXQtaGVpZ2h0LWJhc2U7XHJcbi8vICAgICB9XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG4uZm9ybS1ncm91cCB7XHJcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxufVxyXG5cclxuLy8gLmNvbnRyb2xzIHtcclxuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vIH1cclxuXHJcbi8vIC5jb250cm9sLWxhYmVsIHtcclxuLy8gfVxyXG5cclxuZm9ybSB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uZm9ybS0tbG9hZGluZyB7XHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBAaW5jbHVkZSBzdHJldGNoO1xyXG4gICAgei1pbmRleDogMTtcclxuICB9XHJcbn1cclxuXHJcbi5mb3JtLXJlc3BvbnNlIHtcclxuICBjb2xvcjogJGJvZHktYmc7XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn0iLCIvKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQtdXApIHtcclxuXHJcblx0LmZvcm0tY29udHJvbCB7XHJcblx0ICBoZWlnaHQ6IDUwcHg7XHJcblx0ICBmb250LXNpemU6IDIwcHg7XHJcblx0fVxyXG5cclxuXHQuZm9ybS1jb250cm9scyB7XHJcblx0ICBwYWRkaW5nLXRvcDogMjBweDtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wLXVwKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtbGFyZ2UpIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3ApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBTbWFsbFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wLWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQpIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1waG9uZSkge1xyXG5cclxuXHQuZm9ybS1jb250cm9sIHtcclxuXHQgIGhlaWdodDogNDBweDtcclxuXHQgIGZvbnQtc2l6ZTogMTZweDtcclxuXHR9XHJcblxyXG5cdC5mb3JtLWNvbnRyb2xzIHtcclxuXHQgIHBhZGRpbmctdG9wOiAxMHB4O1xyXG5cdH1cclxuXHJcbn0iLCIvL1xyXG4vLyBNb2RhbHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIC5tb2RhbC1vcGVuICAgICAgLSBib2R5IGNsYXNzIGZvciBraWxsaW5nIHRoZSBzY3JvbGxcclxuLy8gLm1vZGFsICAgICAgICAgICAtIGNvbnRhaW5lciB0byBzY3JvbGwgd2l0aGluXHJcbi8vIC5tb2RhbC1kaWFsb2cgICAgLSBwb3NpdGlvbmluZyBzaGVsbCBmb3IgdGhlIGFjdHVhbCBtb2RhbFxyXG4vLyAubW9kYWwtY29udGVudCAgIC0gYWN0dWFsIG1vZGFsIHcvIGJnIGFuZCBjb3JuZXJzIGFuZCBzaGl0XHJcblxyXG4vLyBLaWxsIHRoZSBzY3JvbGwgb24gdGhlIGJvZHlcclxuLm1vZGFsLW9wZW4ge1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbn1cclxuXHJcbi8vIENvbnRhaW5lciB0aGF0IHRoZSBtb2RhbCBzY3JvbGxzIHdpdGhpblxyXG4ubW9kYWwge1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgdG9wOiAwO1xyXG4gIHJpZ2h0OiAwO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHotaW5kZXg6IDEwNTA7XHJcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xyXG5cclxuICAvLyBQcmV2ZW50IENocm9tZSBvbiBXaW5kb3dzIGZyb20gYWRkaW5nIGEgZm9jdXMgb3V0bGluZS4gRm9yIGRldGFpbHMsIHNlZVxyXG4gIC8vIGh0dHBzOi8vZ2l0aHViLmNvbS90d2JzL2Jvb3RzdHJhcC9wdWxsLzEwOTUxLlxyXG4gIG91dGxpbmU6IDA7XHJcblxyXG4gIC8vIFdoZW4gZmFkaW5nIGluIHRoZSBtb2RhbCwgYW5pbWF0ZSBpdCB0byBzbGlkZSBkb3duXHJcbiAgJi5mYWRlIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTI1JSk7XHJcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gLjRzIGVhc2Utb3V0O1xyXG4gIH1cclxuICAmLmluIC5tb2RhbC1kaWFsb2cge1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7XHJcbiAgfVxyXG59XHJcbi5tb2RhbC1vcGVuIC5tb2RhbCB7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIG92ZXJmbG93LXk6IGF1dG87XHJcbn1cclxuXHJcbi8vIFNoZWxsIGRpdiB0byBwb3NpdGlvbiB0aGUgbW9kYWwgd2l0aCBib3R0b20gcGFkZGluZ1xyXG4ubW9kYWwtZGlhbG9nIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG59XHJcblxyXG5cclxuLy8gQWN0dWFsIG1vZGFsXHJcbi5tb2RhbC1jb250ZW50IHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgYmFja2dyb3VuZDogd2hpdGU7XHJcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggMTBweCByZ2JhKCRsaW5rLWNvbG9yLCAuMyk7XHJcbiAgYmFja2dyb3VuZC1jbGlwOiBwYWRkaW5nLWJveDtcclxuICAvLyBSZW1vdmUgZm9jdXMgb3V0bGluZSBmcm9tIG9wZW5lZCBtb2RhbFxyXG4gIG91dGxpbmU6IDA7XHJcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcclxuICB3aWR0aDogMTAwJTtcclxufVxyXG5cclxuLy8gTW9kYWwgYmFja2dyb3VuZFxyXG4ubW9kYWwtYmFja2Ryb3Age1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgei1pbmRleDogMTA0MDtcclxuICBiYWNrZ3JvdW5kOiBibGFjaztcclxuICAvLyBGYWRlIGZvciBiYWNrZHJvcFxyXG4gICYuZmFkZSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gIH1cclxuICAmLmluIHtcclxuICAgIG9wYWNpdHk6IC43O1xyXG4gIH1cclxufVxyXG5cclxuLy8gTWVhc3VyZSBzY3JvbGxiYXIgd2lkdGggZm9yIHBhZGRpbmcgYm9keSBkdXJpbmcgbW9kYWwgc2hvdy9oaWRlXHJcbi5tb2RhbC1zY3JvbGxiYXItbWVhc3VyZSB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogLTk5OTlweDtcclxuICB3aWR0aDogNTBweDtcclxuICBoZWlnaHQ6IDUwcHg7XHJcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcclxufSIsIi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG5AaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLXRhYmxldC11cCkge1xyXG5cclxuXHQubW9kYWwtY29udGVudCB7XHJcblx0ICBtYXJnaW4tbGVmdDogYXV0bztcclxuXHQgIG1hcmdpbi1yaWdodDogYXV0bztcclxuXHQgIG1heC13aWR0aDogNjAwcHg7XHJcblx0ICBwYWRkaW5nOiA4MHB4IDQwcHggNDBweDtcclxuXHR9XHJcblxyXG59XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBMYXJnZSBEZXNrdG9wc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wLXVwKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtbGFyZ2UpIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWRlc2t0b3ApIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBEZXNrdG9wIGFuZCBTbWFsbFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wLWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXQgYW5kIFBob25lc1xyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQtZG93bikge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC10YWJsZXQpIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBQaG9uZVxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1waG9uZSkge1xyXG5cclxuXHQubW9kYWwtZGlhbG9nIHtcclxuXHRcdHBhZGRpbmc6IDEwcHg7XHJcblx0fVxyXG5cclxuXHQubW9kYWwtY29udGVudCB7XHJcblx0ICBwYWRkaW5nOiA2MHB4IDIwcHggMzBweDtcclxuXHR9XHJcblxyXG59IiwiLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LXVwKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC11cCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWxhcmdlKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0KSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtcGhvbmUpIHt9IiwiLypcclxuXHRzdHlsZXMgZm9yIFRhYmxldCBhbmQgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LXVwKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgTGFyZ2UgRGVza3RvcHNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC11cCkge31cclxuXHJcblxyXG5cclxuLypcclxuXHRzdHlsZXMgZm9yIExhcmdlIERlc2t0b3BzXHJcbiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSAqL1xyXG4vLyBAaW5jbHVkZSByZXNwb25kLXRvKCRyZXNwb25kLWxhcmdlKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcFxyXG4gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gKi9cclxuLy8gQGluY2x1ZGUgcmVzcG9uZC10bygkcmVzcG9uZC1kZXNrdG9wKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgRGVza3RvcCBhbmQgU21hbGxcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtZGVza3RvcC1kb3duKSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgVGFibGV0IGFuZCBQaG9uZXNcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0LWRvd24pIHt9XHJcblxyXG5cclxuXHJcbi8qXHJcblx0c3R5bGVzIGZvciBUYWJsZXRcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtdGFibGV0KSB7fVxyXG5cclxuXHJcblxyXG4vKlxyXG5cdHN0eWxlcyBmb3IgUGhvbmVcclxuIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tICovXHJcbi8vIEBpbmNsdWRlIHJlc3BvbmQtdG8oJHJlc3BvbmQtcGhvbmUpIHt9Il19 */
