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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

td,
th {
  padding: 0; }

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

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

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

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

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

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

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

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

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

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

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

.row {
  max-width: 75rem;
  margin-left: auto;
  margin-right: auto; }
  .row::before, .row::after {
    content: ' ';
    display: table; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .row .row {
    margin-left: -0.625rem;
    margin-right: -0.625rem; }
    @media screen and (min-width: 40em) {
      .row .row {
        margin-left: -1.5625rem;
        margin-right: -1.5625rem; } }
    .row .row.collapse {
      margin-left: 0;
      margin-right: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-left: auto;
      margin-right: auto; }

.column, .columns {
  width: 100%;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem; }
  @media screen and (min-width: 40em) {
    .column, .columns {
      padding-left: 1.5625rem;
      padding-right: 1.5625rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

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

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

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

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

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

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

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

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

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

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

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

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

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

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

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

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

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

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

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

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

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

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

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

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

.small-12 {
  width: 100%; }

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

.small-up-1 > .column, .small-up-1 > .columns {
  width: 100%;
  float: left; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  width: 50%;
  float: left; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  width: 33.33333%;
  float: left; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  width: 25%;
  float: left; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  width: 20%;
  float: left; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  width: 16.66667%;
  float: left; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  width: 14.28571%;
  float: left; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  width: 12.5%;
  float: left; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

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

.small-collapse .row {
  margin-left: 0;
  margin-right: 0; }

.expanded.row .small-collapse.row {
  margin-left: 0;
  margin-right: 0; }

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

.small-centered {
  margin-left: auto;
  margin-right: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  margin-left: 0;
  margin-right: 0;
  float: left; }

@media screen and (min-width: 40em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    width: 100%;
    float: left; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    width: 50%;
    float: left; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    width: 25%;
    float: left; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    width: 20%;
    float: left; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    width: 14.28571%;
    float: left; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    width: 12.5%;
    float: left; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .medium-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .medium-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem; }
  .medium-centered {
    margin-left: auto;
    margin-right: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 64em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    width: 100%;
    float: left; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    width: 50%;
    float: left; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    width: 25%;
    float: left; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    width: 20%;
    float: left; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    width: 14.28571%;
    float: left; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    width: 12.5%;
    float: left; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .large-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .large-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem; }
  .large-centered {
    margin-left: auto;
    margin-right: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 90em) {
  .xlarge-1 {
    width: 8.33333%; }
  .xlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xlarge-offset-0 {
    margin-left: 0%; }
  .xlarge-2 {
    width: 16.66667%; }
  .xlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xlarge-offset-1 {
    margin-left: 8.33333%; }
  .xlarge-3 {
    width: 25%; }
  .xlarge-push-3 {
    position: relative;
    left: 25%; }
  .xlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xlarge-offset-2 {
    margin-left: 16.66667%; }
  .xlarge-4 {
    width: 33.33333%; }
  .xlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xlarge-offset-3 {
    margin-left: 25%; }
  .xlarge-5 {
    width: 41.66667%; }
  .xlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xlarge-offset-4 {
    margin-left: 33.33333%; }
  .xlarge-6 {
    width: 50%; }
  .xlarge-push-6 {
    position: relative;
    left: 50%; }
  .xlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xlarge-offset-5 {
    margin-left: 41.66667%; }
  .xlarge-7 {
    width: 58.33333%; }
  .xlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xlarge-offset-6 {
    margin-left: 50%; }
  .xlarge-8 {
    width: 66.66667%; }
  .xlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xlarge-offset-7 {
    margin-left: 58.33333%; }
  .xlarge-9 {
    width: 75%; }
  .xlarge-push-9 {
    position: relative;
    left: 75%; }
  .xlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xlarge-offset-8 {
    margin-left: 66.66667%; }
  .xlarge-10 {
    width: 83.33333%; }
  .xlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xlarge-offset-9 {
    margin-left: 75%; }
  .xlarge-11 {
    width: 91.66667%; }
  .xlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xlarge-offset-10 {
    margin-left: 83.33333%; }
  .xlarge-12 {
    width: 100%; }
  .xlarge-offset-11 {
    margin-left: 91.66667%; }
  .xlarge-up-1 > .column, .xlarge-up-1 > .columns {
    width: 100%;
    float: left; }
    .xlarge-up-1 > .column:nth-of-type(1n), .xlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-1 > .column:nth-of-type(1n+1), .xlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xlarge-up-1 > .column:last-child, .xlarge-up-1 > .columns:last-child {
      float: left; }
  .xlarge-up-2 > .column, .xlarge-up-2 > .columns {
    width: 50%;
    float: left; }
    .xlarge-up-2 > .column:nth-of-type(1n), .xlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-2 > .column:nth-of-type(2n+1), .xlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xlarge-up-2 > .column:last-child, .xlarge-up-2 > .columns:last-child {
      float: left; }
  .xlarge-up-3 > .column, .xlarge-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .xlarge-up-3 > .column:nth-of-type(1n), .xlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-3 > .column:nth-of-type(3n+1), .xlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xlarge-up-3 > .column:last-child, .xlarge-up-3 > .columns:last-child {
      float: left; }
  .xlarge-up-4 > .column, .xlarge-up-4 > .columns {
    width: 25%;
    float: left; }
    .xlarge-up-4 > .column:nth-of-type(1n), .xlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-4 > .column:nth-of-type(4n+1), .xlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xlarge-up-4 > .column:last-child, .xlarge-up-4 > .columns:last-child {
      float: left; }
  .xlarge-up-5 > .column, .xlarge-up-5 > .columns {
    width: 20%;
    float: left; }
    .xlarge-up-5 > .column:nth-of-type(1n), .xlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-5 > .column:nth-of-type(5n+1), .xlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xlarge-up-5 > .column:last-child, .xlarge-up-5 > .columns:last-child {
      float: left; }
  .xlarge-up-6 > .column, .xlarge-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .xlarge-up-6 > .column:nth-of-type(1n), .xlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-6 > .column:nth-of-type(6n+1), .xlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xlarge-up-6 > .column:last-child, .xlarge-up-6 > .columns:last-child {
      float: left; }
  .xlarge-up-7 > .column, .xlarge-up-7 > .columns {
    width: 14.28571%;
    float: left; }
    .xlarge-up-7 > .column:nth-of-type(1n), .xlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-7 > .column:nth-of-type(7n+1), .xlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xlarge-up-7 > .column:last-child, .xlarge-up-7 > .columns:last-child {
      float: left; }
  .xlarge-up-8 > .column, .xlarge-up-8 > .columns {
    width: 12.5%;
    float: left; }
    .xlarge-up-8 > .column:nth-of-type(1n), .xlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xlarge-up-8 > .column:nth-of-type(8n+1), .xlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xlarge-up-8 > .column:last-child, .xlarge-up-8 > .columns:last-child {
      float: left; }
  .xlarge-collapse > .column, .xlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xlarge-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .xlarge-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .xlarge-uncollapse > .column, .xlarge-uncollapse > .columns {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem; }
  .xlarge-centered {
    margin-left: auto;
    margin-right: auto; }
    .xlarge-centered, .xlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xlarge-uncentered,
  .xlarge-push-0,
  .xlarge-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

@media screen and (min-width: 160em) {
  .xxlarge-1 {
    width: 8.33333%; }
  .xxlarge-push-1 {
    position: relative;
    left: 8.33333%; }
  .xxlarge-pull-1 {
    position: relative;
    left: -8.33333%; }
  .xxlarge-offset-0 {
    margin-left: 0%; }
  .xxlarge-2 {
    width: 16.66667%; }
  .xxlarge-push-2 {
    position: relative;
    left: 16.66667%; }
  .xxlarge-pull-2 {
    position: relative;
    left: -16.66667%; }
  .xxlarge-offset-1 {
    margin-left: 8.33333%; }
  .xxlarge-3 {
    width: 25%; }
  .xxlarge-push-3 {
    position: relative;
    left: 25%; }
  .xxlarge-pull-3 {
    position: relative;
    left: -25%; }
  .xxlarge-offset-2 {
    margin-left: 16.66667%; }
  .xxlarge-4 {
    width: 33.33333%; }
  .xxlarge-push-4 {
    position: relative;
    left: 33.33333%; }
  .xxlarge-pull-4 {
    position: relative;
    left: -33.33333%; }
  .xxlarge-offset-3 {
    margin-left: 25%; }
  .xxlarge-5 {
    width: 41.66667%; }
  .xxlarge-push-5 {
    position: relative;
    left: 41.66667%; }
  .xxlarge-pull-5 {
    position: relative;
    left: -41.66667%; }
  .xxlarge-offset-4 {
    margin-left: 33.33333%; }
  .xxlarge-6 {
    width: 50%; }
  .xxlarge-push-6 {
    position: relative;
    left: 50%; }
  .xxlarge-pull-6 {
    position: relative;
    left: -50%; }
  .xxlarge-offset-5 {
    margin-left: 41.66667%; }
  .xxlarge-7 {
    width: 58.33333%; }
  .xxlarge-push-7 {
    position: relative;
    left: 58.33333%; }
  .xxlarge-pull-7 {
    position: relative;
    left: -58.33333%; }
  .xxlarge-offset-6 {
    margin-left: 50%; }
  .xxlarge-8 {
    width: 66.66667%; }
  .xxlarge-push-8 {
    position: relative;
    left: 66.66667%; }
  .xxlarge-pull-8 {
    position: relative;
    left: -66.66667%; }
  .xxlarge-offset-7 {
    margin-left: 58.33333%; }
  .xxlarge-9 {
    width: 75%; }
  .xxlarge-push-9 {
    position: relative;
    left: 75%; }
  .xxlarge-pull-9 {
    position: relative;
    left: -75%; }
  .xxlarge-offset-8 {
    margin-left: 66.66667%; }
  .xxlarge-10 {
    width: 83.33333%; }
  .xxlarge-push-10 {
    position: relative;
    left: 83.33333%; }
  .xxlarge-pull-10 {
    position: relative;
    left: -83.33333%; }
  .xxlarge-offset-9 {
    margin-left: 75%; }
  .xxlarge-11 {
    width: 91.66667%; }
  .xxlarge-push-11 {
    position: relative;
    left: 91.66667%; }
  .xxlarge-pull-11 {
    position: relative;
    left: -91.66667%; }
  .xxlarge-offset-10 {
    margin-left: 83.33333%; }
  .xxlarge-12 {
    width: 100%; }
  .xxlarge-offset-11 {
    margin-left: 91.66667%; }
  .xxlarge-up-1 > .column, .xxlarge-up-1 > .columns {
    width: 100%;
    float: left; }
    .xxlarge-up-1 > .column:nth-of-type(1n), .xxlarge-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-1 > .column:nth-of-type(1n+1), .xxlarge-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .xxlarge-up-1 > .column:last-child, .xxlarge-up-1 > .columns:last-child {
      float: left; }
  .xxlarge-up-2 > .column, .xxlarge-up-2 > .columns {
    width: 50%;
    float: left; }
    .xxlarge-up-2 > .column:nth-of-type(1n), .xxlarge-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-2 > .column:nth-of-type(2n+1), .xxlarge-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .xxlarge-up-2 > .column:last-child, .xxlarge-up-2 > .columns:last-child {
      float: left; }
  .xxlarge-up-3 > .column, .xxlarge-up-3 > .columns {
    width: 33.33333%;
    float: left; }
    .xxlarge-up-3 > .column:nth-of-type(1n), .xxlarge-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-3 > .column:nth-of-type(3n+1), .xxlarge-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .xxlarge-up-3 > .column:last-child, .xxlarge-up-3 > .columns:last-child {
      float: left; }
  .xxlarge-up-4 > .column, .xxlarge-up-4 > .columns {
    width: 25%;
    float: left; }
    .xxlarge-up-4 > .column:nth-of-type(1n), .xxlarge-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-4 > .column:nth-of-type(4n+1), .xxlarge-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .xxlarge-up-4 > .column:last-child, .xxlarge-up-4 > .columns:last-child {
      float: left; }
  .xxlarge-up-5 > .column, .xxlarge-up-5 > .columns {
    width: 20%;
    float: left; }
    .xxlarge-up-5 > .column:nth-of-type(1n), .xxlarge-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-5 > .column:nth-of-type(5n+1), .xxlarge-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .xxlarge-up-5 > .column:last-child, .xxlarge-up-5 > .columns:last-child {
      float: left; }
  .xxlarge-up-6 > .column, .xxlarge-up-6 > .columns {
    width: 16.66667%;
    float: left; }
    .xxlarge-up-6 > .column:nth-of-type(1n), .xxlarge-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-6 > .column:nth-of-type(6n+1), .xxlarge-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .xxlarge-up-6 > .column:last-child, .xxlarge-up-6 > .columns:last-child {
      float: left; }
  .xxlarge-up-7 > .column, .xxlarge-up-7 > .columns {
    width: 14.28571%;
    float: left; }
    .xxlarge-up-7 > .column:nth-of-type(1n), .xxlarge-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-7 > .column:nth-of-type(7n+1), .xxlarge-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .xxlarge-up-7 > .column:last-child, .xxlarge-up-7 > .columns:last-child {
      float: left; }
  .xxlarge-up-8 > .column, .xxlarge-up-8 > .columns {
    width: 12.5%;
    float: left; }
    .xxlarge-up-8 > .column:nth-of-type(1n), .xxlarge-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .xxlarge-up-8 > .column:nth-of-type(8n+1), .xxlarge-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .xxlarge-up-8 > .column:last-child, .xxlarge-up-8 > .columns:last-child {
      float: left; }
  .xxlarge-collapse > .column, .xxlarge-collapse > .columns {
    padding-left: 0;
    padding-right: 0; }
  .xxlarge-collapse .row {
    margin-left: 0;
    margin-right: 0; }
  .expanded.row .xxlarge-collapse.row {
    margin-left: 0;
    margin-right: 0; }
  .xxlarge-uncollapse > .column, .xxlarge-uncollapse > .columns {
    padding-left: 1.5625rem;
    padding-right: 1.5625rem; }
  .xxlarge-centered {
    margin-left: auto;
    margin-right: auto; }
    .xxlarge-centered, .xxlarge-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .xxlarge-uncentered,
  .xxlarge-push-0,
  .xxlarge-pull-0 {
    position: static;
    margin-left: 0;
    margin-right: 0;
    float: left; } }

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

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

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

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

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

h1,
h2,
h3,
h4,
.product-subhead,
h5,
h6 {
  font-family: "proxima-nova", "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: 500;
  font-style: normal;
  color: #0a0a0a;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.2; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  .product-subhead small,
  h5 small,
  h6 small {
    color: #8a8a8a;
    line-height: 0; }

h1 {
  font-size: 1.75rem; }

h2 {
  font-size: 1.5rem; }

h3 {
  font-size: 1.375rem; }


h4,
.product-subhead {
  font-size: 1.125rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 1rem; }

@media screen and (min-width: 40em) {
  h1 {
    font-size: 3.157rem; }
  h2 {
    font-size: 2.369rem; }
  h3 {
    font-size: 1.777rem; }
  
  h4,
  .product-subhead {
    font-size: 1.375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 1rem; } }

a {
  color: #2199e8;
  text-decoration: none;
  line-height: inherit;
  cursor: pointer; }
  a:hover, a:focus {
    color: #1585cf; }
  a img {
    border: 0; }

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

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

li {
  font-size: inherit; }

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

ol {
  margin-left: 1.25rem; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #2199e8;
  color: #fefefe; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #1583cc;
    color: #fefefe; }
  .button.tiny {
    font-size: 0.6rem; }
  .button.small {
    font-size: 0.75rem; }
  .button.large {
    font-size: 1.25rem; }
  .button.expanded {
    display: block;
    width: 100%;
    margin-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #2199e8;
    color: #fefefe; }
    .button.primary:hover, .button.primary:focus {
      background-color: #147cc0;
      color: #fefefe; }
  .button.secondary {
    background-color: #777;
    color: #fefefe; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button.success {
    background-color: #1cb841;
    color: #fefefe; }
    .button.success:hover, .button.success:focus {
      background-color: #169334;
      color: #fefefe; }
  .button.warning {
    background-color: #ffae00;
    color: #fefefe; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button.alert {
    background-color: firebrick;
    color: #fefefe; }
    .button.alert:hover, .button.alert:focus {
      background-color: #8e1b1b;
      color: #fefefe; }
  .button.hollow {
    border: 1px solid #2199e8;
    color: #2199e8; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c4d78;
      color: #0c4d78; }
    .button.hollow.primary {
      border: 1px solid #2199e8;
      color: #2199e8; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c4d78;
        color: #0c4d78; }
    .button.hollow.secondary {
      border: 1px solid #777;
      color: #777; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3c3c3c;
        color: #3c3c3c; }
    .button.hollow.success {
      border: 1px solid #1cb841;
      color: #1cb841; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #0e5c21;
        color: #0e5c21; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid firebrick;
      color: firebrick; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #591111;
        color: #591111; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #2199e8;
      color: #fefefe; }
    .button.disabled.primary, .button[disabled].primary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.primary:hover, .button.disabled.primary:focus, .button[disabled].primary:hover, .button[disabled].primary:focus {
        background-color: #2199e8;
        color: #fefefe; }
    .button.disabled.secondary, .button[disabled].secondary {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #777;
        color: #fefefe; }
    .button.disabled.success, .button[disabled].success {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #1cb841;
        color: #fefefe; }
    .button.disabled.warning, .button[disabled].warning {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #ffae00;
        color: #fefefe; }
    .button.disabled.alert, .button[disabled].alert {
      opacity: 0.25;
      cursor: not-allowed; }
      .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: firebrick;
        color: #fefefe; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fefefe transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

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

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

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

input::placeholder,
textarea::placeholder {
  color: #8a8a8a; }

input:disabled, input[readonly],
textarea:disabled,
textarea[readonly] {
  background-color: #efefef;
  cursor: default; }

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

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

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

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

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

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

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

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

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

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

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

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

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

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

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

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

.is-invalid-input:not(:focus) {
  background-color: rgba(178, 34, 34, 0.1);
  border-color: firebrick; }

.is-invalid-label {
  color: firebrick; }

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

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

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

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

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

.accordion-content {
  padding: 1rem;
  display: none;
  border: 1px solid #efefef;
  border-bottom: 0;
  background-color: #fefefe;
  color: #2199e8; }
  :last-child > .accordion-content:last-child {
    border-bottom: 1px solid #efefef; }

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

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

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

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #2199e8;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #147cc0;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #777;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5f5f5f;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #1cb841;
    color: #fefefe; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #169334;
      color: #fefefe; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #fefefe; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #fefefe; }
  .button-group.alert .button {
    background-color: firebrick;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #8e1b1b;
      color: #fefefe; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(10, 10, 10, 0.25);
  border-radius: 0;
  position: relative;
  color: #0a0a0a;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #def0fc; }
  .callout.secondary {
    background-color: #ebebeb; }
  .callout.success {
    background-color: #d8f9e0; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #f8d9d9; }
  .callout.small {
    padding-top: 0.5rem;
    padding-right: 0.5rem;
    padding-bottom: 0.5rem;
    padding-left: 0.5rem; }
  .callout.large {
    padding-top: 3rem;
    padding-right: 3rem;
    padding-bottom: 3rem;
    padding-left: 3rem; }

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

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

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

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

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

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

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

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

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -ms-transform: translateX(-100%);
        transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -ms-transform: translateX(100%);
        transform: translateX(100%); }

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

.js-drilldown-back > a::before {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 6px;
  border-color: transparent #2199e8 transparent transparent;
  border-right-style: solid;
  border-left-width: 0;
  border-left-width: 0;
  display: inline-block;
  vertical-align: middle;
  margin-right: 0.75rem; }

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

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

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

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

.dropdown-pane.xlarge {
  width: 600px; }

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

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

.dropdown.menu > li.is-dropdown-submenu-parent > a {
  padding-right: 1.5rem;
  position: relative; }

.dropdown.menu > li.is-dropdown-submenu-parent > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: #2199e8 transparent transparent;
  border-top-style: solid;
  border-bottom-width: 0;
  right: 5px;
  margin-top: -2px; }

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

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

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

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

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

.dropdown.menu.vertical > li > a::after {
  right: 14px;
  margin-top: -3px; }

.dropdown.menu.vertical > li.opens-left > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent #2199e8 transparent transparent;
  border-right-style: solid;
  border-left-width: 0; }

.dropdown.menu.vertical > li.opens-right > a::after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  border: inset 5px;
  border-color: transparent transparent transparent #2199e8;
  border-left-style: solid;
  border-right-width: 0; }

@media screen and (min-width: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #2199e8 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.medium-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.medium-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.medium-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.medium-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.medium-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.medium-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #2199e8;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #2199e8 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.large-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.large-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.large-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.large-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.large-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.large-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #2199e8;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 90em) {
  .dropdown.menu.xlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #2199e8 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #2199e8;
    border-left-style: solid;
    border-right-width: 0; } }

@media screen and (min-width: 160em) {
  .dropdown.menu.xxlarge-horizontal > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 0;
    top: 100%; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a {
    padding-right: 1.5rem;
    position: relative; }
  .dropdown.menu.xxlarge-horizontal > li.is-dropdown-submenu-parent > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: #2199e8 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    right: 5px;
    margin-top: -2px; }
  .dropdown.menu.xxlarge-vertical > li .is-dropdown-submenu {
    top: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }
  .dropdown.menu.xxlarge-vertical > li > a::after {
    right: 14px;
    margin-top: -3px; }
  .dropdown.menu.xxlarge-vertical > li.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .dropdown.menu.xxlarge-vertical > li.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #2199e8;
    border-left-style: solid;
    border-right-width: 0; } }

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

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

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

.is-dropdown-submenu {
  display: none;
  position: absolute;
  top: 0;
  left: 100%;
  min-width: 200px;
  z-index: 1;
  background: #fefefe;
  border: 1px solid #d6d6d6; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px;
    margin-top: -3px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent #2199e8 transparent transparent;
    border-right-style: solid;
    border-left-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-right > a::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 5px;
    border-color: transparent transparent transparent #2199e8;
    border-left-style: solid;
    border-right-width: 0; }
  .is-dropdown-submenu .is-dropdown-submenu {
    margin-top: -1px; }
  .is-dropdown-submenu > li {
    width: 100%; }
  .is-dropdown-submenu.js-dropdown-active {
    display: block; }

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 0;
  background: #2199e8;
  color: #fefefe; }
  .label.secondary {
    background: #777;
    color: #fefefe; }
  .label.success {
    background: #1cb841;
    color: #fefefe; }
  .label.warning {
    background: #ffae00;
    color: #fefefe; }
  .label.alert {
    background: firebrick;
    color: #fefefe; }

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

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

html,
body {
  height: 100%; }

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

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

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

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

.off-canvas {
  position: absolute;
  background: #efefef;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -ms-transform: translateX(0);
      transform: translateX(0); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -ms-transform: translateX(250px);
          transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -ms-transform: translateX(-250px);
          transform: translateX(-250px); }

@media screen and (min-width: 40em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 90em) {
  .position-left.reveal-for-xlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xlarge ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 160em) {
  .position-left.reveal-for-xxlarge {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-xxlarge ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-xxlarge {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-xxlarge ~ .off-canvas-content {
      margin-right: 250px; } }

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

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

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

.progress {
  background-color: #d6d6d6;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #2199e8; }
  .progress.secondary .progress-meter {
    background-color: #777; }
  .progress.success .progress-meter {
    background-color: #1cb841; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: firebrick; }

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

.switch.tiny {
  height: 1.5rem; }
  .switch.tiny .switch-paddle {
    width: 3rem;
    height: 1.5rem;
    font-size: 0.625rem; }
  .switch.tiny .switch-paddle::after {
    width: 1rem;
    height: 1rem; }
  .switch.tiny input:checked ~ .switch-paddle::after {
    left: 1.75rem; }

.switch.small {
  height: 1.75rem; }
  .switch.small .switch-paddle {
    width: 3.5rem;
    height: 1.75rem;
    font-size: 0.75rem; }
  .switch.small .switch-paddle::after {
    width: 1.25rem;
    height: 1.25rem; }
  .switch.small input:checked ~ .switch-paddle::after {
    left: 2rem; }

.switch.large {
  height: 2.5rem; }
  .switch.large .switch-paddle {
    width: 5rem;
    height: 2.5rem;
    font-size: 1rem; }
  .switch.large .switch-paddle::after {
    width: 2rem;
    height: 2rem; }
  .switch.large input:checked ~ .switch-paddle::after {
    left: 2.75rem; }

table {
  width: 100%;
  margin-bottom: 1rem;
  border-radius: 0; }
  thead,
  tbody,
  tfoot {
    border: none;
    background-color: #fefefe; }
  caption {
    font-weight: bold;
    padding: 0.85rem 0.625rem 0.85rem 0.625rem; }
  thead {
    background: #efefef;
    color: #0a0a0a; }
  tfoot {
    background: #f1f1f1;
    color: #0a0a0a; }
  thead tr,
  tfoot tr {
    background: transparent; }
  thead th,
  thead td,
  tfoot th,
  tfoot td {
    padding: 0.85rem 0.625rem 0.85rem 0.625rem;
    font-weight: bold;
    text-align: left; }
  tbody th,
  tbody td {
    padding: 0.85rem 0.625rem 0.85rem 0.625rem; }

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

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

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

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

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

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

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

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

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

.tabs.primary {
  background: #2199e8; }
  .tabs.primary > li > a {
    color: #fefefe; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #1893e4; }

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

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

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

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

.thumbnail {
  border: solid 4px #fefefe;
  box-shadow: 0 0 0 1px rgba(10, 10, 10, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  transition: box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    box-shadow: 0 0 6px 1px rgba(33, 153, 232, 0.5); }

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.clearfix::before, .clearfix::after {
  content: ' ';
  display: table; }

.clearfix::after {
  clear: both; }

/*===================================================
1. Global
===================================================*/
.button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
  margin-right: 0; }

.button-group .button:not(:last-child) {
  border-right: 1px solid #fefefe; }

.alert-banner-wrapper {
  background: red; }

.warning-banner-wrapper {
  background: #ffd451; }

.gray-banner-wrapper {
  background: white; }

.warning-banner-wrapper .callout,
.alert-banner-wrapper .callout,
.gray-banner-wrapper .callout {
  border: none;
  background: none;
  font-size: 0.75rem;
  font-weight: 700; }

.alert-banner-wrapper .callout {
  color: #fefefe;
  margin-bottom: 0; }

.warning-banner-wrapper .callout {
  color: #960;
  margin-bottom: 0; }

.gray-banner-wrapper .callout {
  color: #8a8a8a;
  margin-bottom: 0; }

hr.divider {
  background-color: #d6d6d6;
  display: block;
  width: 10rem;
  height: .35rem;
  border: 0;
  margin-top: 2rem;
  margin-bottom: 2rem; }

.divider {
  display: block;
  width: 100%;
  height: 4px;
  background: #d6d6d6; }

.divider-thin {
  display: block;
  width: 100%;
  height: 2px;
  background: #d6d6d6; }

hr.dotted {
  border-bottom: 1px dotted #d6d6d6; }

.pager-left {
  font-size: 0.75rem;
  color: #8a8a8a;
  text-transform: uppercase; }

.pagination .current {
  background: #003c69; }

.pagination a,
.pagination button {
  color: #505050; }

.pagination a:hover,
.pagination button:hover {
  background: #ffd451;
  color: #003c69; }

.panel {
  background: #fefefe;
  border: 1px solid #d6d6d6;
  padding: 1.5rem; }
  .panel ul, .panel ol, .panel ul ul, .panel ol ol {
    margin-bottom: 0; }
  .panel h1, .panel h2, .panel h3, .panel h4, .panel .product-subhead, .panel h5, .panel h6 {
    margin-top: 0; }
  .panel p:last-of-type {
    margin-bottom: 0; }

.panel-dark {
  background: #F5F5F5;
  border: 1px solid #d6d6d6;
  margin: 0 0 1.5rem;
  padding: 1.5rem; }
  .panel-dark ul, .panel-dark ol, .panel-dark ul ul, .panel-dark ol ol {
    margin-bottom: 0; }
  .panel-dark h1, .panel-dark h2, .panel-dark h3, .panel-dark h4, .panel-dark .product-subhead, .panel-dark h5, .panel-dark h6 {
    margin-top: 0; }
  .panel-dark p:last-of-type {
    margin-bottom: 0; }

#scrollUp {
  bottom: 20px;
  right: 20px;
  padding: 10px 20px;
  background: #555;
  color: #fefefe; }

@media screen and (min-width: 90em) {
  html {
    font-size: 115%; } }

@media screen and (min-width: 160em) {
  html {
    font-size: 130%; } }

h1, h2, h3,
h4,
.product-subhead {
  margin: 1.414rem 0 0.5rem; }

.gray {
  color: gray; }

small, .font_small {
  font-size: 0.75em; }

ul ul, ol ul, ul ol, ol ol {
  margin-bottom: 1rem; }

.auto-update {
  font-size: 0.85rem; }

.line-height-small {
  line-height: 1.1; }

.uppercase {
  text-transform: uppercase; }

.unavailable {
  color: #8a8a8a; }

.pbiblue {
  color: #003c69; }

.white,
.white a {
  color: #fefefe; }

.normal {
  font-weight: normal; }

.no-margin-top {
  margin-top: 0; }

.padding-bottom {
  padding-bottom: 3.157rem; }

.valign-middle {
  display: table; }
  .valign-middle strong {
    display: table-cell;
    vertical-align: middle; }

a {
  font-weight: bold; }

.strike {
  text-decoration: line-through;
  color: #d6d6d6; }

h1.search-results-title {
  color: #8a8a8a;
  margin-top: 0;
  margin-bottom: 2.5rem; }

.search-highlight {
  background-color: #ffd451; }

sup {
  font-size: 60%;
  top: -0.4em; }

@media screen and (min-width: 64em) {
  .float-left-large {
    float: left; } }

.last {
  border: 0;
  margin-top: 0; }

@media screen and (max-width: 63.9375em) {
  .magellan-container {
    text-align: center; }
    .magellan-container ul {
      display: inline-block; } }

.radio-list li {
  margin-bottom: 1rem; }

.red {
  color: red; }

.close-button-small {
  font-size: 1.5rem;
  line-height: 1; }

.login-message {
  font-size: 0.75rem;
  line-height: 1;
  margin-top: 1rem;
  text-align: center; }

.wrapper {
  background-color: #efefef;
  padding: 2rem 0; }
  @media screen and (min-width: 64em) {
    .wrapper {
      padding: 3.157rem 0; } }

.hidden {
  display: none !important;
  visibility: hidden; }

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

.visuallyhidden.focusable:active, .visuallyhidden.focusable:focus {
  position: static;
  overflow: visible;
  clip: auto;
  margin: 0;
  width: auto;
  height: auto; }

.invisible {
  visibility: hidden; }

header, main, footer, section, aside {
  outline: 0; }

.sfPageEditor table tbody {
  border: 0;
  background: none; }

.sfPageEditor .hide-for-large {
  display: block !important; }

table.vtop td {
  vertical-align: top; }

table td.nowrap {
  white-space: nowrap; }

.retable strong {
  font-weight: 600; }

.retable thead {
  background: none; }
  .retable thead th {
    font-size: 0.65rem;
    text-transform: uppercase; }

@media screen and (min-width: 40em) {
  .retable tr {
    border-bottom: 1px dotted #d6d6d6; } }

@media screen and (max-width: 39.9375em) {
  .retable thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px; }
  .retable tr {
    border-top: 1px solid #d6d6d6; }
  .retable td {
    float: left;
    padding: 0.5rem 0.5rem 0.5rem 0.5rem;
    width: 100%; }
  .retable td.rt-auto {
    width: auto; }
  .retable td.rt-12 {
    width: 12.5%; }
  .retable td.rt-25 {
    width: 25%; }
  .retable td.rt-33 {
    width: 33%; }
  .retable td.rt-50 {
    width: 50%; }
  .retable td.rt-88 {
    width: 87.5%; }
  .retable td.rt-75 {
    width: 75%; } }

/*===================================================
2. Icons
===================================================*/
.icon-wrapper,
.icon-wrapper-xlarge,
.icon-wrapper-large,
.icon-wrapper-small,
.icon-wrapper-xsmall {
  border-radius: 100%;
  display: inline-block;
  height: 1.5rem;
  line-height: 1;
  text-align: center;
  width: 1.5rem; }
  .icon-wrapper i, .icon-wrapper span,
  .icon-wrapper-xlarge i,
  .icon-wrapper-xlarge span,
  .icon-wrapper-large i,
  .icon-wrapper-large span,
  .icon-wrapper-small i,
  .icon-wrapper-small span,
  .icon-wrapper-xsmall i,
  .icon-wrapper-xsmall span {
    color: #fefefe;
    display: inline-block;
    font-size: 0.7rem;
    line-height: 1.5rem; }

.icon-wrapper-xlarge {
  height: 5rem;
  line-height: 3.8;
  width: 5rem; }
  .icon-wrapper-xlarge i, .icon-wrapper-xlarge span {
    font-size: 2.369rem;
    line-height: 5rem; }

.icon-wrapper-large {
  height: 2.3rem;
  line-height: 1;
  width: 2.3rem; }
  .icon-wrapper-large i, .icon-wrapper-large span {
    font-size: 0.9rem;
    line-height: 2.3rem; }

.icon-wrapper-small {
  height: 1.25rem;
  line-height: 1;
  width: 1.25rem; }
  .icon-wrapper-small i, .icon-wrapper-small span {
    font-size: 0.55rem;
    line-height: 1.25rem; }

.icon-wrapper-xsmall {
  height: .85rem;
  line-height: 1;
  width: .85rem; }
  .icon-wrapper-xsmall i, .icon-wrapper-xsmall span {
    font-size: 0.45rem;
    line-height: 0.9rem; }

.icon24 {
  width: 1.5rem;
  height: 1.5rem; }

.icon48 {
  width: 3rem;
  height: 3rem; }

.truncate {
  width: 250px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis; }

.small-card-button {
  margin-bottom: 0; }
  @media screen and (min-width: 40em) {
    .small-card-button {
      margin-top: 1rem; } }

.icon-wrapper-recommended,
.icon-wrapper-recommended-2,
.icon-wrapper-recommended-3,
.icon-wrapper-recommended-4 {
  text-align: center;
  line-height: 1.8rem;
  font-weight: 500;
  color: #fff;
  padding: 1rem; }
  .icon-wrapper-recommended i, .icon-wrapper-recommended span,
  .icon-wrapper-recommended-2 i,
  .icon-wrapper-recommended-2 span,
  .icon-wrapper-recommended-3 i,
  .icon-wrapper-recommended-3 span,
  .icon-wrapper-recommended-4 i,
  .icon-wrapper-recommended-4 span {
    color: white;
    font-size: 1.777rem;
    line-height: 2.3rem; }

.icon-wrapper-recommended-4 {
  background-color: #efefef;
  color: #8a8a8a; }
  .icon-wrapper-recommended-4 i, .icon-wrapper-recommended-4 span {
    color: #8a8a8a; }
  .icon-wrapper-recommended-4:hover {
    background-color: rgba(0, 0, 0, 0.1); }

.icon-wrapper-recommended-2,
.icon-wrapper-recommended-3 {
  color: #000; }
  .icon-wrapper-recommended-2 i, .icon-wrapper-recommended-2 span,
  .icon-wrapper-recommended-3 i,
  .icon-wrapper-recommended-3 span {
    font-size: 2.369rem; }
  .icon-wrapper-recommended-2:hover,
  .icon-wrapper-recommended-3:hover {
    background-color: rgba(0, 0, 0, 0.1); }

.icon-wrapper-recommended-3 i {
  font-size: 0.9rem;
  line-height: 2.5; }

.faux-border {
  height: 5px; }

.icon-wrapper-live {
  background-color: #8e24aa; }

.icon-wrapper-simulcast {
  background-color: #00838f; }

.icon-wrapper-webcast {
  background-color: #d50000; }

.icon-wrapper-webinar {
  background-color: #1976d2; }

.icon-wrapper-video {
  background-color: #00c853; }

.icon-wrapper-on-demand-video {
  background-color: #ff4081; }

.icon-wrapper-podcast {
  background-color: #ff6d00; }

.icon-wrapper-yellow-book {
  background-color: #f0ad05; }

.icon-wrapper-pbi-press {
  background-color: #3949ab; }

.icon-wrapper-audio-cd {
  background-color: #bf360c; }

.icon-wrapper-ebook {
  background-color: #7E96D6; }

.icon-wrapper-dvd {
  background-color: #8d6e63; }

.icon-wrapper-e-doc {
  background-color: #673ab7; }

.icon-wrapper-book-on-cd {
  background-color: #2e7d32; }

.icon-wrapper-usb {
  background-color: #9EA51E; }

.icon-wrapper-downloadable-book {
  background-color: #546e7a; }

.icon-wrapper-calendar {
  background-color: #2199e8; }

.icon-wrapper-email {
  background-color: firebrick; }

.icon-wrapper-bundle {
  background-color: #bf360c; }

.icon-wrapper-scale {
  background-color: #DCDCDC; }
  .icon-wrapper-scale i {
    color: #686868; }

.icon-wrapper-scale-white {
  background-color: white; }
  .icon-wrapper-scale-white i {
    color: #686868; }

.footer-two .icon-wrapper-twitter,
.footer-two .icon-wrapper-facebook,
.footer-two .icon-wrapper-linkedin,
.footer-two .icon-wrapper-google-plus,
.footer-two .icon-wrapper-youtube {
  background-color: rgba(255, 255, 255, 0.2); }

.footer-two .icon-twitter,
.footer-two .icon-facebook,
.footer-two .icon-linkedin,
.footer-two .icon-google-plus,
.footer-two .icon-youtube {
  color: #002d50; }
  .footer-two .icon-twitter:hover,
  .footer-two .icon-facebook:hover,
  .footer-two .icon-linkedin:hover,
  .footer-two .icon-google-plus:hover,
  .footer-two .icon-youtube:hover {
    color: #fefefe; }

.icon-wrapper-twitter {
  background-color: #55acee; }
  .icon-wrapper-twitter:hover {
    background-color: #83c3f3; }

.icon-wrapper-facebook {
  background-color: #3b5998; }
  .icon-wrapper-facebook:hover {
    background-color: #4c70ba; }

.icon-wrapper-linkedin {
  background-color: #0077b5; }
  .icon-wrapper-linkedin:hover {
    background-color: #0099e8; }

.icon-wrapper-google-plus {
  background-color: #dd4b39; }
  .icon-wrapper-google-plus:hover {
    background-color: #e47365; }

.icon-wrapper-youtube {
  background-color: #cd201f; }
  .icon-wrapper-youtube:hover {
    background-color: #e23e3d; }

/*===================================================
3. Cards
===================================================*/
.card {
  width: 100%;
  border: 1px solid #d6d6d6;
  position: relative; }

.card, .listing-card,
.listing-card-grid {
  background-color: #fefefe;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.3);
  font-size: 0.85rem;
  margin-bottom: 1.5rem;
  padding: 1.75rem 1.75rem 1.5rem;
  text-align: center;
  transition: all 0.2s ease-in-out; }
  .card:hover, .listing-card:hover,
  .listing-card-grid:hover {
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.19), 0 6px 6px rgba(0, 0, 0, 0.3); }
  .card .has-tip, .listing-card .has-tip,
  .listing-card-grid .has-tip {
    border-bottom: none; }

.card-title {
  font-size: 1.375rem;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  padding-top: 0.5rem; }
  .card-title a {
    font-weight: 500; }
  @media screen and (min-width: 40em) {
    .card-title {
      border-top: none;
      min-height: 5rem;
      padding-top: 0; } }

.listing-card {
  float: left;
  width: 100%;
  border: 1px solid #d6d6d6; }
  .listing-card table.product-price-block {
    margin-top: 0.25rem; }
  .listing-card td.product-price-block-desc {
    text-align: left; }
  .listing-card td.product-price-block-price {
    font-size: 1.35rem;
    padding-top: 0.6rem;
    padding-bottom: 0.6rem; }

.listing-card-meta {
  font-weight: 600;
  margin-bottom: 0.25rem; }
  @media screen and (min-width: 40em) {
    .listing-card-meta {
      border-bottom: 1px solid #d6d6d6;
      margin-bottom: 0.5rem;
      padding-bottom: 0.5rem; } }

.listing-card-supplemental {
  padding-bottom: 0.75rem; }
  .listing-card-supplemental strong {
    font-weight: 600; }
  @media screen and (min-width: 40em) {
    .listing-card-supplemental {
      margin-top: 0.5rem;
      border-top: 1px solid #d6d6d6;
      padding-top: 1rem;
      padding-bottom: 0; } }

.listing-card-excerpt {
  margin-top: 1rem; }

@media screen and (min-width: 64em) {
  .card-bottom .listing-card-purchase {
    left: 1.75rem;
    right: 1.75rem;
    bottom: 1.75rem; } }

.listing-card-grid {
  margin-top: 0;
  margin-bottom: 0; }

.highlighted-card {
  border-top: 4px solid #ffd451; }

.listing-card-date {
  display: inline-block;
  font-size: 0.9rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 0.5rem;
  text-transform: uppercase; }

.listing-card-title,
.rec-listing-card-title,
.rec-listing-card-title-2 {
  border-top: 1px solid #d6d6d6;
  font-size: 1.777rem;
  letter-spacing: -1px;
  line-height: 1.2;
  margin-top: 0.5rem;
  margin-bottom: 0.25rem;
  padding-top: 0.5rem; }
  .listing-card-title a,
  .rec-listing-card-title a,
  .rec-listing-card-title-2 a {
    font-weight: 500; }
  @media screen and (min-width: 40em) {
    .listing-card-title,
    .rec-listing-card-title,
    .rec-listing-card-title-2 {
      border-top: none;
      padding-top: 0; } }

.rec-listing-card-title-2 {
  font-size: 1.333rem;
  line-height: 1.2;
  margin-top: 1rem; }

.listing-card-subheader {
  font-size: 1rem;
  color: #8a8a8a;
  margin-top: 0; }

.listing-card-format-wrapper {
  margin: 1rem 0 1rem; }

.listing-card-format {
  margin: 0.25rem 0 0.25rem 0; }
  .listing-card-format .icon-wrapper {
    margin: 0 0.1rem 0.15rem 0; }

.listing-card-credits {
  font-size: 0.75rem; }
  .listing-card-credits strong {
    font-weight: normal; }

.listing-card-recorded {
  font-size: 0.75rem;
  margin: 0 0 0.25rem 0; }
  .listing-card-recorded strong {
    font-weight: normal; }

.listing-card-purchase {
  border-top: 1px solid #d6d6d6;
  margin-top: 0.75rem;
  text-align: center;
  text-transform: uppercase; }
  .listing-card-purchase .button {
    margin: 0;
    border-width: 2px;
    box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4); }

@media screen and (min-width: 40em) {
  .listing-card {
    text-align: left; }
    .listing-card .listing-card-main, .listing-card .listing-card-purchase {
      float: left; }
    .listing-card .listing-card-date {
      float: left; }
    .listing-card .listing-card-main {
      clear: both;
      padding-right: 1.77rem;
      width: 60%; }
    .listing-card .listing-card-format {
      margin-top: 0.6rem; }
      .listing-card .listing-card-format .icon-wrapper {
        float: left;
        margin-top: -0.2rem;
        margin-right: 0.35rem; }
    .listing-card .listing-card-credits {
      float: left;
      width: 50%; }
    .listing-card .listing-card-recorded {
      float: left;
      width: 50%; }
    .listing-card .listing-card-purchase {
      border-top: none;
      margin-top: 0;
      width: 40%; }
    .listing-card .listing-card-price-list {
      float: right;
      width: 40%; } }

@media screen and (min-width: 64em) {
  .listing-card .listing-card-main {
    width: 65%; }
  .listing-card .listing-card-purchase {
    width: 35%; }
  .listing-card .listing-card-price-list {
    width: 35%; } }

/*===================================================
4. Header
===================================================*/
header {
  box-shadow: 0 1px 9px rgba(0, 0, 0, 0.3);
  position: relative;
  z-index: 999; }

.cart-button {
  display: inline-block;
  position: relative; }

.cart-qty {
  position: absolute;
  top: 0;
  right: 0;
  margin-top: 4px;
  margin-right: 4px;
  color: #fff;
  background-color: #ff0000;
  font-weight: 600;
  padding: 4px 3px 2px 3px;
  line-height: 0.5rem;
  border-radius: 50%; }

.banner {
  background: #003c69;
  padding-top: 0.7rem;
  padding-bottom: 1.25rem; }
  @media screen and (min-width: 64em) {
    .banner {
      padding-top: 1.25rem; } }

.mobile-main-links {
  color: #fefefe;
  font-size: 0.65rem;
  float: left;
  text-align: center; }
  .mobile-main-links > li:not(.menu-text) > a {
    padding: 0 0 0.5rem; }
  .mobile-main-links a {
    color: #fefefe;
    font-weight: 400; }
  .mobile-main-links i {
    display: block;
    font-size: 2.1rem;
    margin-right: 0 !important;
    padding-bottom: 0.08rem; }

.mobile-utility-nav {
  font-size: 0.65rem;
  float: right;
  text-align: center; }
  .mobile-utility-nav > li:not(.menu-text) > a {
    padding: 0.25rem 0.5rem 0.75rem; }
  .mobile-utility-nav a {
    color: #fff;
    font-weight: 400; }
  .mobile-utility-nav li a:hover {
    background: rgba(255, 255, 255, 0.1); }
  .mobile-utility-nav i, .mobile-utility-nav span[class*="icon-"] {
    font-size: 1.75rem;
    margin-right: 0 !important;
    padding-bottom: 0.25rem; }

.utility-nav {
  color: #fefefe;
  font-weight: 400; }

.utility-nav .menu > li > a {
  color: #fefefe;
  font-weight: normal;
  opacity: 0.7;
  padding: 0.6rem; }
  .utility-nav .menu > li > a:hover, .utility-nav .menu > li > a:active, .utility-nav .menu > li > a:focus {
    color: #2199e8;
    opacity: 1; }

.mobile-logo {
  display: inline-block;
  height: 35px;
  width: 60px;
  margin-top: 0.25rem;
  margin-left: 0.3rem;
  background-image: url(/ResourcePackages/PBI/dist/assets/img/pbi-lettermark-white.png);
  background-image: linear-gradient(transparent, transparent), url(/ResourcePackages/PBI/dist/assets/img/pbi-lettermark-white.svg);
  background-size: contain;
  background-repeat: no-repeat; }

.logo {
  display: inline-block;
  height: 3.3rem;
  width: 15.625rem;
  background-image: url(/ResourcePackages/PBI/dist/assets/img/pbi-logo-white.png);
  background-image: linear-gradient(transparent, transparent), url(/ResourcePackages/PBI/dist/assets/img/pbi-logo-white.svg);
  background-size: contain;
  background-repeat: no-repeat; }

.hamburger-label {
  display: block; }

.banner-search-form {
  margin-top: 0.2rem; }
  @media screen and (min-width: 64em) {
    .banner-search-form {
      margin-top: 0.7rem; } }

.banner-search-form select {
  background-color: #efefef;
  color: #8a8a8a;
  font-size: 0.57rem;
  font-weight: bold;
  height: 2rem;
  margin-bottom: 0; }
  @media screen and (min-width: 90em) {
    .banner-search-form select {
      font-size: .7rem; } }

.banner-search-form input {
  font-size: 0.85rem;
  height: 2rem;
  margin-bottom: 0; }

.banner-search-form .button {
  background-color: #ffd451;
  color: #333;
  height: 2rem;
  margin-bottom: 0;
  padding: 0.6rem 0; }

/*.account-nav a {
	color: $white;
	//font-size: 0.9rem;
	// margin-top: 0.25rem;
	padding-left: 0.2rem !important;
	&:hover, &:active, &:focus {
		color: lighten($primary-color, 15%);
	}
}*/
.account-nav li {
  vertical-align: bottom; }

.hello {
  color: #2199e8;
  font-size: 0.75rem;
  line-height: 1.3; }
  @media screen and (min-width: 64em) {
    .hello {
      color: #ffd451; } }

.account-nav .dropdown-pane a {
  color: #003c69; }
  .account-nav .dropdown-pane a:hover {
    color: #2199e8; }

#account-dropdown > ul {
  margin-bottom: 0; }
  #account-dropdown > ul li {
    padding: 0.35rem 0; }

/*===================================================
5. Navigation
===================================================*/
.primary-nav-wrapper {
  border-top: 4px solid #ffd451; }

.primary-nav {
  font-size: 0.85em;
  padding: 0; }

.primary-nav-menu {
  display: table;
  margin: 0 auto;
  width: 100%; }

.primary-nav .menu > li > a {
  color: #003c69;
  font-weight: 700;
  padding: 1.5rem 1.4rem 1.25rem 1.4rem;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 90em) {
    .primary-nav .menu > li > a {
      padding: 1.75rem 2rem 1.25rem 2rem; } }

.primary-nav .menu > li:not(:first-child) > a:before {
  content: '';
  background: #DCDCDC;
  width: 1px;
  top: 10px;
  bottom: 10px;
  left: 0;
  position: absolute; }

.primary-nav-menu > li > a:hover, .primary-nav-menu > li > a.hover, .primary-nav-menu > li > a:focus, .primary-nav-menu > li > a.active {
  color: #2199e8; }

.primary-nav-menu > li > a:hover:after, .primary-nav-menu > li > a.hover:after {
  content: '';
  display: block;
  position: absolute;
  left: 40%;
  bottom: -0.75rem;
  width: 0;
  height: 0;
  border-top: 12px solid #ffd451;
  border-right: 14px solid transparent;
  border-bottom: 0 solid transparent;
  border-left: 14px solid transparent;
  z-index: 1005; }

.primary-nav-menu > li:after {
  border-top: 4px solid transparent;
  content: '';
  display: block;
  position: relative;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 0;
  z-index: 1005; }

.primary-nav-menu > li:hover:after {
  border-top: 4px solid #ffd451; }

.primary-nav-row {
  max-width: 75rem !important;
  margin-right: auto !important;
  margin-left: auto !important; }

.primary-nav .dropdown-pane {
  border-top: 4px solid #ffd451;
  border-right: none;
  border-left: none;
  border-bottom: 1px solid #d6d6d6;
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  padding: 0 1.5rem 1.25rem 1.5rem;
  width: 100%;
  opacity: 0;
  max-height: 0 !important;
  transition: max-height 0.4s ease-in-out, padding-top 0.4s ease-in-out,  opacity 0.4s ease-in-out; }
  .primary-nav .dropdown-pane.is-open {
    max-height: 80rem !important;
    padding-top: 1rem;
    opacity: 1; }
  .primary-nav .dropdown-pane ul {
    list-style: none;
    margin-bottom: 0;
    margin-left: 0; }
    .primary-nav .dropdown-pane ul li {
      padding: 0.35rem 0;
      font-size: .85rem; }
  .primary-nav .dropdown-pane a {
    color: #003c69; }
  .primary-nav .dropdown-pane a:hover, .primary-nav .dropdown-pane a.hover, .primary-nav .dropdown-pane a:hover, .primary-nav .dropdown-pane a.active {
    color: #2199e8; }
  .primary-nav .dropdown-pane label {
    border-bottom: 1px solid #d6d6d6;
    color: #8a8a8a;
    font-size: 0.8rem;
    font-weight: 700;
    line-height: 1.2;
    padding-top: 0.75rem;
    padding-bottom: 0.5rem;
    text-transform: uppercase; }

.off-canvas {
  min-height: 100%; }
  .off-canvas .is-drilldown {
    overflow: visible; }
  .off-canvas .is-drilldown-submenu {
    background: #efefef; }
  .off-canvas .js-drilldown-back::before {
    margin-top: 21px; }
  .off-canvas li.title {
    color: #003c69;
    font-size: 0.75rem;
    font-weight: 700;
    padding-top: 1.25rem;
    padding-bottom: 0.25rem;
    padding-left: 1rem;
    text-transform: uppercase; }
  .off-canvas li a {
    color: #616161; }
  .off-canvas .menu > li:not(.menu-text) > a {
    padding: 1.25rem 1rem; }
    .off-canvas .menu > li:not(.menu-text) > a i {
      margin-right: 0; }
  .off-canvas li.is-drilldown-submenu-parent, .off-canvas li.is-drilldown-submenu-item {
    border-bottom: 1px solid #dbdbdb; }

.is-drilldown-submenu-parent > a::after {
  border-color: transparent transparent transparent #8a8a8a; }

.off-canvas-help-links {
  margin-top: 0.75rem;
  margin-bottom: 1.3rem; }
  .off-canvas-help-links a {
    padding-bottom: 0.125rem !important; }

.side-nav {
  margin-bottom: 2rem; }

.side-nav li {
  border-bottom: 1px solid #efefef; }

.side-nav li a {
  color: #8a8a8a;
  font-weight: 400; }
  .side-nav li a:hover {
    color: #2199e8; }

.side-nav.menu .active > a:hover {
  color: #d6d6d6; }

.quick-link-calendar,
.quick-link-on-demand,
.quick-link-book {
  color: #fefefe;
  border: none;
  font-size: 0.9rem;
  margin-bottom: 0;
  padding: 1rem;
  text-align: center;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7); }
  .quick-link-calendar .icon-calendar,
  .quick-link-calendar .icon-on-demand-video,
  .quick-link-calendar .icon-book,
  .quick-link-on-demand .icon-calendar,
  .quick-link-on-demand .icon-on-demand-video,
  .quick-link-on-demand .icon-book,
  .quick-link-book .icon-calendar,
  .quick-link-book .icon-on-demand-video,
  .quick-link-book .icon-book {
    font-size: 2rem; }
  .quick-link-calendar .listing-card-title,
  .quick-link-on-demand .listing-card-title,
  .quick-link-book .listing-card-title {
    border: none; }

.featured .icon-in-person {
  font-size: 3rem; }

.quick-link-calendar {
  background: #126eab;
  border-top: 1px solid #fefefe; }
  @media screen and (min-width: 64em) {
    .quick-link-calendar {
      border-right: 1px solid #fefefe;
      border-bottom: 1px solid #fefefe; } }

.quick-link-on-demand {
  background: #f30053;
  border-top: 1px solid #fefefe;
  border-bottom: 1px solid #fefefe; }
  @media screen and (min-width: 64em) {
    .quick-link-on-demand {
      border-right: 1px solid #fefefe; } }

.quick-link-book {
  background: #e6a605;
  border-bottom: 1px solid #fefefe; }
  @media screen and (min-width: 64em) {
    .quick-link-book {
      border-top: 1px solid #fefefe; } }

.quick-link-calendar:hover {
  background: #2199e8; }

.quick-link-on-demand:hover {
  background: #ff4081; }

.quick-link-book:hover {
  background: #d29704; }

.quick-link {
  margin-bottom: 0;
  padding: 1rem;
  border: none;
  font-size: 0.9rem;
  text-align: center;
  text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.7);
  color: #fefefe; }

.quick-link .title {
  margin: 0.5rem 0 0.25rem 0;
  padding-top: 0.5rem;
  font-size: 1.777rem;
  letter-spacing: -1px;
  line-height: 1.2; }

.quick-link.blue {
  background: #126eab; }

.quick-link.pink {
  background: #f30053; }

.quick-link.orange {
  background: #d29704; }

a.quick-link {
  display: block; }

a.quick-link:hover,
a.quick-link:focus {
  text-decoration: none;
  color: #fff; }

a.quick-link.blue:hover,
a.quick-link.blue:focus {
  background: #2199e8; }

a.quick-link.pink:hover,
a.quick-link.pink:focus {
  background: #ff4081; }

a.quick-link.orange:hover,
a.quick-link.orange:focus {
  background: #d29704; }

.quick-link-listing .quick-link {
  border: 1px solid #fff;
  border-right: 0; }

.quick-link-listing > div:first-child .quick-link {
  border-left: 0; }

.quick-link-listing > div:nth-child(3n) .quick-link {
  border-right: 0; }

.other-browse {
  background-color: #d6d6d6;
  color: #3D3C3A;
  border-top: 1px solid #c5c1b3;
  border-bottom: 1px solid #c5c1b3; }

.other-browse p {
  margin: 0;
  padding: 1rem 0; }

.other-browse a {
  color: inherit;
  text-decoration: underline; }

.other-browse a:hover {
  color: #2199e8;
  text-decoration: none; }

#locations-sticky-nav {
  border-top: 1px solid #d6d6d6;
  border-bottom: 1px solid #d6d6d6;
  background: #efefef;
  margin-top: 2rem;
  padding-top: 0.75rem;
  padding-bottom: 0.75rem;
  font-size: 0.85rem; }
  #locations-sticky-nav ul {
    margin-top: 0.75rem;
    margin-left: -1rem; }
  #locations-sticky-nav .sticky {
    width: 100% !important;
    background: #efefef; }
  #locations-sticky-nav nav a {
    color: #686868;
    letter-spacing: 1px;
    padding-right: 1.35rem;
    padding-left: 1.35rem;
    text-transform: uppercase; }
    #locations-sticky-nav nav a:hover, #locations-sticky-nav nav a:focus {
      color: #0a0a0a; }
  #locations-sticky-nav a.active {
    color: #0a0a0a; }

#locations-sticky-nav {
  padding: 0; }
  #locations-sticky-nav nav a {
    padding: 1rem 0.56rem; }
  #locations-sticky-nav ul.locations-sub-nav {
    display: inline-block;
    text-align: center; }

.product-sticky-nav-wrapper {
  border-top: 1px solid #d6d6d6;
  padding-top: 0.5rem; }
  .product-sticky-nav-wrapper .sticky {
    width: 100% !important; }

.product-sticky-nav a {
  background: #fefefe;
  border-bottom: 1px dotted #d6d6d6;
  color: #767676;
  padding: 1.15rem 1rem !important; }
  .product-sticky-nav a:hover, .product-sticky-nav a:focus {
    color: #0a0a0a; }

.product-sticky-nav a.active {
  color: #0a0a0a; }

.sticky.sticky-title-bar {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem;
  width: 100% !important; }
  @media screen and (min-width: 64em) {
    .sticky.sticky-title-bar {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    .sticky.sticky-title-bar {
      padding-top: 4.2rem;
      padding-bottom: 3.8rem; } }
  .sticky.sticky-title-bar .choose-message {
    color: #8a8a8a;
    line-height: 1;
    margin-bottom: -0.5rem; }
  .sticky.sticky-title-bar .button-register {
    margin-top: 1rem;
    margin-bottom: 0.25rem; }

.sticky.is-stuck.sticky-title-bar {
  background: #616161;
  box-shadow: 0 1px 9px rgba(0, 0, 0, 0.3);
  padding: 0.5rem 0 0.75rem 0; }
  .sticky.is-stuck.sticky-title-bar .choose-message {
    display: none; }
  .sticky.is-stuck.sticky-title-bar .button-register {
    margin-top: 0.35rem;
    margin-bottom: 0; }
    @media screen and (min-width: 64em) {
      .sticky.is-stuck.sticky-title-bar .button-register {
        float: right;
        width: 65%; } }

.sticky-title-bar h1.product-title {
  text-align: center; }
  @media screen and (min-width: 40em) {
    .sticky-title-bar h1.product-title {
      text-align: left; } }

.sticky.is-stuck h1.product-title {
  color: #fefefe;
  line-height: 1.2;
  font-size: 1rem;
  font-weight: 600;
  padding-top: 0.25rem;
  padding-right: 0.5rem;
  padding-left: 1rem; }
  @media screen and (min-width: 40em) {
    .sticky.is-stuck h1.product-title {
      font-size: 1.3rem; } }

.sticky.is-anchored {
  position: relative !important; }

/*===================================================
6. Catalog
===================================================*/
h1.catalog-page-title {
  color: #737373;
  font-size: 1.4rem;
  font-weight: 800;
  margin: 0.5rem 0 1.25rem 0;
  text-align: center;
  text-transform: uppercase; }
  @media screen and (min-width: 64em) {
    h1.catalog-page-title {
      margin-bottom: 2rem;
      text-align: left; } }

.catalog-filters-heading {
  color: #0a0a0a;
  font-weight: 700;
  margin-bottom: 0.5rem;
  text-transform: uppercase; }

.catalog-filters-mobile .accordion-title {
  border-bottom: none; }

.catalog-filters-mobile legend {
  font-size: 0.85rem;
  font-weight: 700;
  margin-bottom: 0.25rem; }

.catalog-filters-mobile label {
  display: inline-block;
  font-weight: normal;
  line-height: 1.5; }

.catalog-filters-mobile .icon-wrapper-small, .catalog-filters-mobile .icon-wrapper-small i {
  line-height: 1.2 !important; }

.catalog-filters-desktop {
  border: 1px solid #d6d6d6;
  background-color: #fefefe;
  font-size: 0.85rem;
  line-height: 1.5;
  margin-right: 0.75rem;
  padding: 1rem; }
  .catalog-filters-desktop fieldset {
    margin: 1.333rem 0; }
  .catalog-filters-desktop legend {
    color: #0a0a0a;
    font-weight: 600; }
  .catalog-filters-desktop label {
    display: inline-block;
    font-weight: normal;
    cursor: pointer;
    color: #616161; }
  .catalog-filters-desktop label:hover {
    color: black; }
  .catalog-filters-desktop hr {
    margin: 0.75rem 0; }
  .catalog-filters-desktop .icon-wrapper-small, .catalog-filters-desktop .icon-wrapper-small i {
    line-height: 1.5 !important; }

.catalog-filters-mobile {
  border: none;
  margin: 0;
  padding: 0; }

.catalog-filters-mobile input[type="checkbox"], .catalog-filters-desktop input[type="checkbox"] {
  margin-right: 0.3rem; }

.catalog-filters-mobile input[type="checkbox"]:checked + label,
.catalog-filters-mobile input[type="checkbox"]:checked ~ label, .catalog-filters-desktop input[type="checkbox"]:checked + label,
.catalog-filters-desktop input[type="checkbox"]:checked ~ label {
  color: #0a0a0a;
  font-weight: 600; }

.catalog-filters-mobile input[type="checkbox"] ~ label, .catalog-filters-desktop input[type="checkbox"] ~ label {
  margin-left: 0.3rem; }

input[type="radio"] {
  margin: 0 0.563rem 0 0; }

.catalog-text-input {
  display: inline;
  height: 1.5rem;
  margin-right: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 0.25rem; }

.your-selections {
  margin-bottom: 0.75rem;
  font-size: 0.85rem; }
  .your-selections legend {
    color: #0a0a0a;
    font-weight: 700;
    margin-bottom: 0.25rem;
    text-transform: uppercase; }
  @media screen and (min-width: 64em) {
    .your-selections {
      border-bottom: none;
      margin-right: 0.75rem; } }

.clear-selections {
  display: block;
  font-size: 0.75rem; }

.catalog-selection {
  background: #fefefe;
  border: 1px solid #d6d6d6;
  border-radius: 6px;
  display: inline-block;
  margin-bottom: 0.25rem;
  padding: .5rem 0.75rem; }

.mobile-facet-accordion {
  border-bottom: 1px solid #d6d6d6; }
  .mobile-facet-accordion .accordion-title {
    font-size: 1rem;
    padding: 1rem 1rem 1rem 0; }
  .mobile-facet-accordion .accordion-title:hover, .mobile-facet-accordion .accordion-title:focus {
    background-color: transparent; }
  .mobile-facet-accordion .accordion-title::before {
    font-size: 1.25rem;
    margin-top: -0.6rem; }
  .mobile-facet-accordion .accordion-content {
    border-bottom: none;
    padding: 0; }
  .mobile-facet-accordion .accordion-item.is-active {
    padding-bottom: 1rem; }

.listing-sign-in-prompt {
  background: #f1f9fe;
  border: 1px solid #acd9f6;
  float: left;
  line-height: 1;
  margin-bottom: 1.5rem;
  padding: 0.5rem;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 64em) {
    .listing-sign-in-prompt {
      clear: both; } }

.listing-sort {
  display: inline-block;
  float: left; }
  .listing-sort label, .listing-sort select {
    display: inline-block;
    font-size: 0.8rem; }
  .listing-sort label {
    margin-right: 0.2rem; }
  .listing-sort select {
    height: 1.8rem;
    margin: 0.5rem 0 0.5rem 0;
    padding: 0.3rem; }
    .listing-sort select.sort-by {
      width: 11rem; }
    .listing-sort select.show-per-page {
      width: 6rem; }
  @media screen and (min-width: 40em) {
    .listing-sort {
      margin-right: 1rem; } }

.listing-pagination {
  text-align: center;
  display: inline-block;
  float: right;
  margin: 0.5rem 0 2rem 0; }

/*===================================================
7. Products
===================================================*/
.page-heading-wrapper, .page-heading-wrapper-bordered {
  padding-top: 1.5rem;
  padding-bottom: 1.5rem; }
  @media screen and (min-width: 64em) {
    .page-heading-wrapper, .page-heading-wrapper-bordered {
      padding-top: 3rem;
      padding-bottom: 3rem; } }
  @media screen and (min-width: 90em) {
    .page-heading-wrapper, .page-heading-wrapper-bordered {
      padding-top: 4.2rem;
      padding-bottom: 3.8rem; } }

.page-heading-wrapper-bordered {
  border-bottom: 1px solid #d6d6d6; }

.page-heading-wrapper-tight {
  padding-top: 1.25rem;
  padding-bottom: 1rem; }

.product-title {
  font-size: 2rem;
  letter-spacing: -1px;
  margin-top: 1rem; }
  @media screen and (min-width: 40em) {
    .product-title {
      font-size: 2.5rem;
      margin-top: 0.5rem; } }
  @media screen and (min-width: 64em) {
    .product-title {
      font-size: 3.157rem; } }

.product-subhead {
  font-weight: 400; }

.product-format-wrapper {
  font-size: 0.85rem;
  font-weight: 500;
  margin-bottom: 0.5rem;
  margin-left: 0; }
  @media screen and (min-width: 40em) {
    .product-format-wrapper {
      border-bottom: 1px solid #d6d6d6;
      font-weight: 600;
      margin-bottom: 1rem;
      padding-bottom: 1rem; } }
  @media screen and (min-width: 64em) {
    .product-format-wrapper {
      font-size: inherit; } }

.product-format-wrapper li {
  list-style-type: none;
  margin-bottom: 0.25rem; }
  @media screen and (min-width: 40em) {
    .product-format-wrapper li {
      display: inline;
      margin-right: 1.25rem;
      margin-bottom: 0; } }

.product-credits {
  border-bottom: 1px solid #d6d6d6;
  font-size: 0.85rem;
  font-weight: 500;
  padding-bottom: 1.2rem; }
  @media screen and (min-width: 40em) {
    .product-credits {
      font-weight: 600;
      margin-bottom: 1rem;
      text-align: right; } }
  @media screen and (min-width: 64em) {
    .product-credits {
      font-size: inherit; } }
  @media screen and (min-width: 90em) {
    .product-credits {
      padding-bottom: 1.05rem; } }

.product-price-wrapper {
  background: none;
  text-align: center;
  margin: 0; }

.product-price-wrapper a.button {
  border: none;
  box-shadow: 0px 2px 3px rgba(0, 0, 0, 0.4);
  color: #fefefe;
  margin: 0;
  font-size: 0.9rem;
  font-weight: 700;
  text-transform: uppercase; }

.product-price-list {
  display: block;
  list-style: none;
  margin: 0;
  min-width: 14rem; }
  .product-price-list li {
    display: inline-block; }

.product-user-price {
  font-size: 1.1rem;
  font-weight: 800;
  line-height: 1.2;
  margin-top: 0.2rem; }
  @media screen and (min-width: 90em) {
    .product-user-price {
      font-size: 1.3rem; } }
  .product-user-price .strike {
    color: #fefefe;
    font-size: 0.85rem;
    font-weight: normal;
    opacity: 0.5; }
    @media screen and (min-width: 90em) {
      .product-user-price .strike {
        font-size: 1.2rem; } }

.product-page-sections section {
  border-top: 1px solid #d6d6d6;
  padding-top: 1rem;
  padding-bottom: 3rem; }

.product-section-header {
  margin-top: 0;
  margin-bottom: 1.85rem; }

.product-other-options li {
  padding: 0.15rem 0; }

.product-more-formats-accordion {
  border: none; }
  .product-more-formats-accordion .accordion-title {
    border-bottom: none;
    color: #0a0a0a;
    font-weight: 500;
    padding-top: 0;
    padding-bottom: 0.5rem;
    padding-left: 1.7rem;
    text-transform: uppercase; }
    .product-more-formats-accordion .accordion-title::before {
      content: "\f0d7";
      font-family: pbicons;
      left: 0.5rem;
      margin-top: -0.6rem; }
    .product-more-formats-accordion .accordion-title:hover, .product-more-formats-accordion .accordion-title:focus {
      background: transparent; }
  .product-more-formats-accordion .is-active > .accordion-title::before {
    content: '\f0d9';
    font-family: pbicons;
    margin-top: -0.6rem; }
  .product-more-formats-accordion .accordion-content {
    border-bottom: none;
    padding: 0 0 0 1.65rem; }

.product-also-available {
  list-style: none;
  margin-bottom: 0;
  margin-left: 0; }
  .product-also-available li {
    display: inline-block;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    padding-right: 0.65rem; }
    .product-also-available li:not(:first-child) {
      padding-left: 0.65rem; }
  .product-also-available .has-tip {
    border-bottom: none; }

.product-also-available-subhead {
  font-size: 0.75rem;
  font-weight: 500;
  margin-top: 2rem; }

.product-supplemental-block {
  border-top: 1px solid #d6d6d6;
  font-size: 0.85rem;
  font-weight: 500;
  padding-top: 0.75rem; }
  @media screen and (min-width: 40em) {
    .product-supplemental-block {
      font-weight: 600;
      margin: 1.75rem 0 0; } }
  @media screen and (min-width: 64em) {
    .product-supplemental-block {
      font-size: inherit; } }

table.product-dates-table {
  width: 100%; }
  table.product-dates-table thead, table.product-dates-table tbody, table.product-dates-table tfoot {
    border: none; }
  table.product-dates-table thead tr {
    position: absolute;
    top: -9999px;
    left: -9999px; }
  table.product-dates-table tbody {
    background: transparent; }
  table.product-dates-table tr:not(:last-child) {
    border-bottom: 1px dotted #d6d6d6; }
  table.product-dates-table td, table.product-dates-table th {
    vertical-align: top; }
    @media screen and (min-width: 64em) {
      table.product-dates-table td, table.product-dates-table th {
        max-width: 14rem; } }
  @media screen and (max-width: 39.9375em) {
    table.product-dates-table .product-dates-table-location {
      border-top: 1px dotted #d6d6d6;
      float: left;
      padding-top: 1rem;
      width: 100%; }
    table.product-dates-table td {
      float: left;
      padding: 0; }
    table.product-dates-table th {
      display: none; }
    table.product-dates-table .product-dates-table-start, table.product-dates-table .product-dates-table-end {
      float: left;
      font-size: .9rem;
      padding-bottom: 1rem;
      width: 50%; }
    table.product-dates-table .product-dates-table-start {
      padding-right: 1rem; }
    table.product-dates-table .address {
      margin-bottom: 1rem; } }

.product-dates-table-label {
  font-size: 0.65rem;
  font-weight: 700;
  margin-top: 0.15rem;
  margin-bottom: 0.5rem;
  text-transform: uppercase; }
  @media screen and (max-width: 39.9375em) {
    .product-dates-table-label {
      margin-top: 0.5rem;
      margin-bottom: 0; } }

.product-dates-table-type {
  font-size: 0.65rem;
  font-weight: 700;
  margin-bottom: 0.25rem;
  text-transform: uppercase; }

.product-dates-table-address {
  font-size: 0.75rem; }

tr.cancelled td {
  color: #8a8a8a; }

tr.cancelled .icon-wrapper, tr.cancelled .icon-wrapper-small {
  background: #8a8a8a; }

table.product-price-block {
  margin-top: 0.5rem;
  margin-bottom: 0; }
  table.product-price-block tbody {
    background: transparent;
    border-width: 1px 0 0 0;
    border-top: 1px solid #d6d6d6; }
    @media screen and (min-width: 40em) {
      table.product-price-block tbody {
        border: none; } }
  table.product-price-block tr:not(:only-child) {
    border-bottom: 1px dotted #d6d6d6; }

td.product-price-block-desc {
  font-size: 0.75rem;
  line-height: 1;
  padding: 0.75rem 2rem 0.75rem 0;
  text-transform: uppercase; }

td.product-price-block-price {
  font-size: 1.777rem;
  line-height: 1;
  padding: 0.75rem 0 0.75rem 0;
  text-align: right;
  text-transform: uppercase; }

.price-strike {
  color: #8a8a8a;
  font-size: 0.6em;
  font-weight: 400;
  text-decoration: line-through; }

.sale-price {
  color: red; }

td.listing-card-price-block-price {
  font-size: 1.333rem; }

.product-price-chart-wrapper {
  color: #3D3C3A;
  padding-top: 0.75rem; }

.product-price-chart {
  width: auto;
  margin: auto; }
  .product-price-chart li {
    font-size: 1.5rem;
    text-align: left;
    padding: 0.25rem 0;
    margin-right: 1rem;
    border-bottom: 1px dotted #d6d6d6;
    min-width: 100%; }
    .product-price-chart li .product-price-chart-desc {
      text-transform: uppercase; }
  @media screen and (max-width: 39.9375em) {
    .product-price-chart li {
      display: block;
      margin-bottom: 0.5rem; } }

li.price-list-title {
  border-top: none;
  text-transform: uppercase; }

table.product-price-table {
  width: 100%; }
  table.product-price-table thead, table.product-price-table tbody, table.product-price-table tfoot {
    border: none; }
  table.product-price-table tbody {
    background: transparent; }
  table.product-price-table tr {
    border-bottom: 1px dotted #d6d6d6; }
  table.product-price-table td, table.product-price-table th {
    vertical-align: top; }
  table.product-price-table th {
    border-bottom: 1px dotted #d6d6d6;
    color: #8a8a8a;
    text-transform: uppercase;
    font-size: 0.8rem;
    font-weight: normal;
    white-space: nowrap; }

.product-price-active {
  background-color: #ffe79e !important;
  font-weight: 600;
  border-top: 1px solid #ffd451;
  border-bottom: 1px solid #ffd451; }

#product-number {
  font-size: 0.75rem;
  margin-bottom: 2rem; }

/*===================================================
8. Pages
===================================================*/
.about-author {
  font-size: 0.75rem; }

.blog-preview-wrapper,
.subscribe-form-wrapper {
  margin-bottom: 3.157rem; }

.blog-pager-wrapper {
  margin-bottom: 1.777rem; }

.blog-img-wrapper {
  margin-bottom: 1rem; }

.blog-listing .blog-preview-wrapper img {
  max-width: 145px; }

.faculty-list li {
  display: table;
  margin-bottom: 1rem; }

.faculty-list img {
  display: table-cell;
  height: 75px;
  margin-right: 1rem;
  width: 75px;
  vertical-align: middle; }

.faculty-name {
  display: table-cell;
  vertical-align: middle; }

.faculty-block {
  padding-top: 1rem;
  padding-bottom: 1rem; }

.footer-one h1, .footer-one h2, .footer-one h3, .footer-one h4, .footer-one .product-subhead, .footer-one h5, .footer-one h6, .footer-two h1, .footer-two h2, .footer-two h3, .footer-two h4, .footer-two .product-subhead, .footer-two h5, .footer-two h6 {
  margin-top: 1rem; }

.footer-one h6 {
  color: white;
  font-weight: 600; }

.footer-one {
  background: #003c69;
  color: #fefefe;
  font-size: 0.75rem;
  padding: 2rem 0 1rem;
  line-height: 1.3; }
  .footer-one a {
    color: #69bfff;
    font-weight: normal;
    font-size: 0.75rem; }
    .footer-one a:hover {
      color: white;
      text-decoration: none; }
  .footer-one ul {
    margin-bottom: 0; }

.footer-two {
  font-size: 0.75rem;
  padding: 1rem 0 3rem 0;
  background-color: #002d50;
  color: #8a8a8a; }
  .footer-two a {
    color: #8a8a8a;
    font-weight: normal;
    text-decoration: underline; }

.footer-share-icons a {
  text-decoration: none !important; }

.footer-related-sites img {
  margin-bottom: 0.25rem; }

.footer-related-sites li {
  margin-bottom: 1rem; }

.hero {
  background: #000;
  margin-bottom: 3rem;
  background-repeat: no-repeat;
  background-position: 50% 0;
  background-size: cover;
  position: relative;
  overflow: hidden; }
  .hero * {
    color: #fefefe;
    text-shadow: 1px 1px 1px black;
    position: relative;
    z-index: 2; }
  .hero .button.hollow {
    border-color: white;
    color: white; }
    .hero .button.hollow:hover {
      background: white;
      color: #0a0a0a;
      text-shadow: none; }
  .hero.interior {
    margin-bottom: 3em; }

.hero:after {
  content: ' ';
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  opacity: 0.6;
  background: #000; }

.hero-wrapper-large {
  padding-top: 7.478rem;
  padding-bottom: 7.478rem; }

.quick-blog-hero {
  height: 23.612rem;
  background: #efefef;
  background-size: cover;
  position: relative;
  color: #fefefe;
  margin-bottom: 3.157rem; }
  @media screen and (min-width: 64em) {
    .quick-blog-hero {
      height: 29.475rem; } }
  @media screen and (min-width: 64em) {
    .quick-blog-hero {
      height: 31.475rem; } }

.quick-blog-hero,
.small-featured,
.featured {
  height: 13.288rem;
  background: #efefef;
  background-size: cover;
  position: relative;
  color: #fefefe; }

.featured {
  height: 17.713rem; }

.small-featured,
.quick-blog-hero,
.featured {
  margin-bottom: 0;
  border: 0.5px solid #8a8a8a;
  border-top: 1px solid; }

.quick-blog-hero:before,
.small-featured:before,
.featured:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  background: rgba(0, 0, 0, 0.6);
  transition: background .3s linear; }

.hero-text small {
  color: #fefefe; }

.home-tagline {
  background: #003c69;
  background: rgba(35, 35, 35, 0.4);
  display: block;
  font-size: 0.6rem;
  letter-spacing: 2px;
  overflow: hidden;
  position: absolute;
  padding: 0.3rem 0;
  text-align: center;
  text-shadow: 1px 1px 0 #0a0a0a;
  text-transform: uppercase;
  top: 0;
  width: 100%; }
  @media screen and (min-width: 40em) {
    .home-tagline {
      font-size: .7rem;
      letter-spacing: 2px; } }
  @media screen and (min-width: 64em) {
    .home-tagline {
      letter-spacing: 2px;
      font-size: .75rem;
      padding-top: 0.5rem;
      padding-bottom: 0.5rem; } }

.promo-img {
  height: 13.288rem;
  margin: 1rem 0 2rem; }

.page-intro {
  border-bottom: 1px solid #d6d6d6;
  padding-top: 2rem;
  padding-bottom: 2rem; }
  @media screen and (min-width: 64em) {
    .page-intro {
      font-size: 1.25rem;
      padding-top: 4.2rem;
      padding-bottom: 4.2rem; } }

#locations li {
  border-top: 1px solid #d6d6d6;
  padding: 1rem 0; }

.location-list {
  margin: 0;
  padding: 0; }
  @media screen and (min-width: 40em) {
    .location-list {
      margin-left: 1.8125rem; } }

.location-list li {
  list-style-type: none;
  display: inline-block; }

.page-title-wrapper {
  margin-top: 2.5rem; }

/*===================================================
9. User Account
===================================================*/
.new-messages,
.propass-credits {
  color: firebrick;
  padding: 0.238rem;
  font-weight: bold; }

.user-links {
  font-size: 1rem; }
  .user-links .icon-email {
    margin-right: 0.317rem; }

.user-links li {
  display: inline-block;
  padding-right: 0.563rem;
  margin-right: 0.563rem;
  border-right: 1px solid #d6d6d6; }

.user-main-menu li a {
  font-size: 1rem;
  font-weight: normal;
  color: #8a8a8a; }

.user-main-menu li a:hover {
  color: white; }

.profile-head-title {
  color: #d6d6d6;
  padding-top: 1.333rem; }

.user-page-header {
  background-color: #686868; }
  .user-page-header h1 small {
    font-size: 1.777rem;
    color: #d6d6d6; }
  .user-page-header .top-bar-right li a {
    font-size: 1rem;
    font-weight: normal;
    color: #d6d6d6; }
  .user-page-header .top-bar-right li a:hover {
    color: #fefefe; }
  @media screen and (max-width: 39.9375em) {
    .user-page-header {
      padding-bottom: 1rem; }
      .user-page-header .menu > li {
        display: block; } }

.user-menu-rule {
  border-color: #8a8a8a; }

.profile-img {
  margin-bottom: 1rem; }

.date {
  background: #efefef;
  padding: 1rem 0;
  color: #8a8a8a;
  font-weight: 800; }
  .date .month {
    text-transform: uppercase; }
  .date .day {
    font-size: 1.777rem; }

.fieldset {
  background: #efefef; }

.fieldset legend {
  font-size: 1.333rem;
  font-weight: 700;
  color: #8a8a8a;
  background: none; }

.attorney-check label {
  display: inline-block;
  font-size: 1.333rem;
  margin-bottom: -0.75rem; }

.attorney-check .customer-type-label {
  margin-left: 1.25rem; }

.attorney-check .switch {
  display: inline-block; }

.demographic-list {
  margin-bottom: 0; }
  .demographic-list label {
    font-weight: normal; }

.communication-prefs label {
  font-weight: normal; }

.interest-list label {
  font-weight: normal; }

/* PRODUCT PRICE COL */
#recommended {
  background: #efefef;
  border-top: 1px solid #d6d6d6; }

@media print {
  * {
    background: transparent !important;
    box-shadow: none !important;
    color: #000 !important;
    /* Black prints faster */
    text-shadow: none !important; }
  header,
  .product-format-wrapper,
  .product-credits,
  .product-sticky-nav-wrapper,
  .button.expanded,
  .sign-in-message,
  .recommended-products-wrapper,
  .product-other-formats-wrapper,
  .downloads-wrapper,
  .blog-category-wrapper,
  .blog-search-wrapper,
  .blog-category-link-wrapper,
  .blog-comment-wrapper,
  .catalog-filters-desktop,
  .listing-sign-in-prompt,
  .quick-links,
  .quick-links-wrapper,
  .pagination,
  .listing-sort,
  .footer-one,
  .footer-two,
  img {
    display: none; }
  .listing-card-title a {
    text-decoration: none; }
  .page-heading-wrapper, .page-heading-wrapper-bordered {
    padding-bottom: 0.5pt;
    padding-top: 0.5pt; }
  a[href^="http:"]:after {
    content: " [" attr(href) "]";
    color: blue; }
  @page {
    margin: .5in; }
  @page :first {
    margin-top: 2cm; }
  h2, ul {
    page-break-after: avoid; }
  p, ul {
    orphans: 3;
    widows: 3;
    font-size: 9pt; } }

@font-face {
  font-family: 'pbicons';
  src: url("/ResourcePackages/PBI/dist/assets/fonts/pbicons.eot?ij8fbg");
  src: url("/ResourcePackages/PBI/dist/assets/fonts/pbicons.eot?ij8fbg#iefix") format("embedded-opentype"), url("/ResourcePackages/PBI/dist/assets/fonts/pbicons.ttf?ij8fbg") format("truetype"), url("/ResourcePackages/PBI/dist/assets/fonts/pbicons.woff?ij8fbg") format("woff"), url("/ResourcePackages/PBI/dist/assets/fonts/pbicons.svg?ij8fbg#pbicons") format("svg");
  font-weight: normal;
  font-style: normal; }

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

.icon-scale:before {
  content: "\e900"; }

.icon-play:before {
  content: "\f04b"; }

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

.icon-calendar:before {
  content: "\f073"; }

.icon-comments:before {
  content: "\f086"; }

.icon-caret-down:before {
  content: "\f0d7"; }

.icon-caret-up:before {
  content: "\f0d9"; }

.icon-overview:before {
  content: "\f05a"; }

.icon-pbi-press:before {
  content: "\f02d"; }

.icon-credits:before {
  content: "\f0a3"; }

.icon-form:before {
  content: "\f0f6"; }

.icon-e-doc:before {
  content: "\f15c"; }

.icon-faculty:before {
  content: "\f19d"; }

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

.icon-clock:before {
  content: "\f017"; }

.icon-tags:before {
  content: "\f02c"; }

.icon-categories:before {
  content: "\f02e"; }

.icon-sign-out:before {
  content: "\f08b"; }

.icon-sign-in:before {
  content: "\f090"; }

.icon-twitter:before {
  content: "\f099"; }

.icon-facebook:before {
  content: "\f09a"; }

.icon-linkedin:before {
  content: "\f0e1"; }

.icon-question:before {
  content: "\f128"; }

.icon-catalog:before {
  content: "\f19c"; }

.icon-share:before {
  content: "\f1e0"; }

.icon-google-plus:before {
  content: "\f0d5"; }

.icon-youtube:before {
  content: "\f16a"; }

.icon-settings:before {
  content: "\f013"; }

.icon-chevron-right:before {
  content: "\f054"; }

.icon-chevron-up:before {
  content: "\f077"; }

.icon-chevron-down:before {
  content: "\f078"; }

.icon-podcast:before {
  content: "\e618"; }

.icon-simulcast:before {
  content: "\e602"; }

.icon-usb:before {
  content: "\e608"; }

.icon-cd:before {
  content: "\e609"; }

.icon-customer-service:before {
  content: "\e613"; }

.icon-receipt:before {
  content: "\e60c"; }

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

.icon-cart:before {
  content: "\e60f"; }

.icon-message:before {
  content: "\e614"; }

.icon-filter:before {
  content: "\e60d"; }

.icon-price:before {
  content: "\e611"; }

.icon-webinar:before {
  content: "\e617"; }

.icon-webcast:before {
  content: "\e616"; }

.icon-more-horiz:before {
  content: "\e615"; }

.icon-more-vert:before {
  content: "\e610"; }

.icon-subscriptions:before {
  content: "\e61a"; }

.icon-star-outline:before {
  content: "\e603"; }

.icon-star-half:before {
  content: "\e604"; }

.icon-star:before {
  content: "\e606"; }

.icon-book:before {
  content: "\e612"; }

.icon-materials:before {
  content: "\e60b"; }

.icon-directions:before {
  content: "\e605"; }

.icon-e-book:before {
  content: "\e60a"; }

.icon-on-demand-video:before {
  content: "\e914"; }

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

.icon-profile:before {
  content: "\e923"; }

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

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

.icon-user:before {
  content: "\e971"; }

.icon-user-add:before {
  content: "\e973"; }

.icon-dashboard:before {
  content: "\e9a6"; }

.icon-contents:before {
  content: "\e9ba"; }

.icon-open-modal:before {
  content: "\ea7e"; }

.icon-book-on-cd:before {
  content: "\e601"; }

.icon-subjects:before {
  content: "\f0d8"; }

.icon-dvd:before {
  content: "\e607"; }

.icon-in-person:before {
  content: "\e972"; }

.icon-download:before {
  content: "\e600"; }

.icon-bundle:before {
  content: "\e92e"; }

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

.hamburger-box {
  width: 2rem;
  height: 1.5rem;
  display: inline-block;
  position: relative; }

.hamburger-inner {
  display: block;
  top: 50%;
  margin-top: -0.125rem; }
  .hamburger-inner, .hamburger-inner::before, .hamburger-inner::after {
    width: 2rem;
    height: 0.25rem;
    background-color: #fff;
    border-radius: 0.25rem;
    position: absolute;
    transition-property: transform;
    transition-duration: 0.15s;
    transition-timing-function: ease; }
  .hamburger-inner::before, .hamburger-inner::after {
    content: "";
    display: block; }
  .hamburger-inner::before {
    top: -0.625rem; }
  .hamburger-inner::after {
    bottom: -0.625rem; }

/*
   * Squeeze
   */
.hamburger--squeeze .hamburger-inner {
  transition-duration: 0.1s;
  transition-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19); }
  .hamburger--squeeze .hamburger-inner::before {
    transition: top 0.1s 0.14s ease, opacity 0.1s ease; }
  .hamburger--squeeze .hamburger-inner::after {
    transition: bottom 0.1s 0.14s ease, transform 0.1s cubic-bezier(0.55, 0.055, 0.675, 0.19); }

.hamburger--squeeze.is-active .hamburger-inner {
  -ms-transform: rotate(45deg);
      transform: rotate(45deg);
  transition-delay: 0.14s;
  transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1); }
  .hamburger--squeeze.is-active .hamburger-inner::before {
    top: 0;
    opacity: 0;
    transition: top 0.1s ease, opacity 0.1s 0.14s ease; }
  .hamburger--squeeze.is-active .hamburger-inner::after {
    bottom: 0;
    -ms-transform: rotate(-90deg);
        transform: rotate(-90deg);
    transition: bottom 0.1s ease, transform 0.1s 0.14s cubic-bezier(0.215, 0.61, 0.355, 1); }

.footable .btn, .footable .caret {
  display: inline-block;
  vertical-align: middle; }

.footable-details.table, .footable-details.table *, .footable.table, .footable.table * {
  box-sizing: border-box; }

.footable-details.table th, .footable.table th {
  text-align: left; }

.footable-details.table, .footable.table {
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px; }

.footable-details.table > caption + thead > tr:first-child > td, .footable-details.table > caption + thead > tr:first-child > th, .footable-details.table > colgroup + thead > tr:first-child > td, .footable-details.table > colgroup + thead > tr:first-child > th, .footable-details.table > thead:first-child > tr:first-child > td, .footable-details.table > thead:first-child > tr:first-child > th, .footable.table > caption + thead > tr:first-child > td, .footable.table > caption + thead > tr:first-child > th, .footable.table > colgroup + thead > tr:first-child > td, .footable.table > colgroup + thead > tr:first-child > th, .footable.table > thead:first-child > tr:first-child > td, .footable.table > thead:first-child > tr:first-child > th {
  border-top: 0; }

.footable-details.table > tbody > tr > td, .footable-details.table > tbody > tr > th, .footable-details.table > tfoot > tr > td, .footable-details.table > tfoot > tr > th, .footable-details.table > thead > tr > td, .footable-details.table > thead > tr > th, .footable.table > tbody > tr > td, .footable.table > tbody > tr > th, .footable.table > tfoot > tr > td, .footable.table > tfoot > tr > th, .footable.table > thead > tr > td, .footable.table > thead > tr > th {
  padding: 8px;
  line-height: 1.42857143;
  vertical-align: top;
  border-top: 1px solid #ddd; }

.footable-details.table > thead > tr > td, .footable-details.table > thead > tr > th, .footable.table > thead > tr > td, .footable.table > thead > tr > th {
  vertical-align: bottom;
  border-bottom: 2px solid #ddd; }

.footable-details.table-condensed > tbody > tr > td, .footable-details.table-condensed > tbody > tr > th, .footable-details.table-condensed > tfoot > tr > td, .footable-details.table-condensed > tfoot > tr > th, .footable-details.table-condensed > thead > tr > td, .footable-details.table-condensed > thead > tr > th, .footable.table-condensed > tbody > tr > td, .footable.table-condensed > tbody > tr > th, .footable.table-condensed > tfoot > tr > td, .footable.table-condensed > tfoot > tr > th, .footable.table-condensed > thead > tr > td, .footable.table-condensed > thead > tr > th {
  padding: 5px; }

.footable-details.table-bordered, .footable-details.table-bordered > tbody > tr > td, .footable-details.table-bordered > tbody > tr > th, .footable-details.table-bordered > tfoot > tr > td, .footable-details.table-bordered > tfoot > tr > th, .footable-details.table-bordered > thead > tr > td, .footable-details.table-bordered > thead > tr > th, .footable.table-bordered, .footable.table-bordered > tbody > tr > td, .footable.table-bordered > tbody > tr > th, .footable.table-bordered > tfoot > tr > td, .footable.table-bordered > tfoot > tr > th, .footable.table-bordered > thead > tr > td, .footable.table-bordered > thead > tr > th {
  border: 1px solid #ddd; }

.footable-details.table-bordered > thead > tr > td, .footable-details.table-bordered > thead > tr > th, .footable.table-bordered > thead > tr > td, .footable.table-bordered > thead > tr > th {
  border-bottom-width: 2px; }

.footable-details.table-striped > tbody > tr:nth-child(odd), .footable.table-striped > tbody > tr:nth-child(odd) {
  background-color: #f9f9f9; }

.footable-details.table-hover > tbody > tr:hover, .footable.table-hover > tbody > tr:hover {
  background-color: #f5f5f5; }

.footable .btn {
  padding: 6px 12px;
  margin-bottom: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.42857143;
  text-align: center;
  white-space: nowrap;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  cursor: pointer;
  -webkit-appearance: button;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  background-image: none;
  border: 1px solid transparent;
  border-radius: 4px;
  overflow: visible;
  text-transform: none; }

.footable .btn.focus, .footable .btn:focus, .footable .btn:hover {
  color: #333;
  text-decoration: none; }

.footable .btn-default {
  color: #333;
  background-color: #fff;
  border-color: #ccc; }

.footable .btn-default.active, .footable .btn-default.focus, .footable .btn-default:active, .footable .btn-default:focus, .footable .btn-default:hover, .footable .open > .dropdown-toggle.btn-default {
  color: #333;
  background-color: #e6e6e6;
  border-color: #adadad; }

.footable .btn-primary {
  color: #fff;
  background-color: #337ab7;
  border-color: #2e6da4; }

.footable .btn-primary.active, .footable .btn-primary.focus, .footable .btn-primary:active, .footable .btn-primary:focus, .footable .btn-primary:hover, .footable .open > .dropdown-toggle.btn-primary {
  color: #fff;
  background-color: #286090;
  border-color: #204d74; }

.footable .btn-group, .footable .btn-group-vertical {
  position: relative;
  display: inline-block;
  vertical-align: middle; }

.footable .btn-group > .btn:first-child:not(:last-child):not(.dropdown-toggle) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.footable .btn-group > .btn:first-child {
  margin-left: 0; }

.footable .btn-group-vertical > .btn, .footable .btn-group > .btn {
  position: relative;
  float: left; }

.footable .btn-group-xs > .btn, .footable .btn-xs {
  padding: 1px 5px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px; }

.footable .btn-group-sm > .btn, .footable .btn-sm {
  padding: 5px 10px;
  font-size: 12px;
  line-height: 1.5;
  border-radius: 3px; }

.footable .btn-group-lg > .btn, .footable .btn-lg {
  padding: 10px 16px;
  font-size: 18px;
  line-height: 1.3333333;
  border-radius: 6px; }

.footable .caret {
  width: 0;
  height: 0;
  margin-left: 2px;
  border-top: 4px solid;
  border-right: 4px solid transparent;
  border-left: 4px solid transparent; }

.footable .btn .caret {
  margin-left: 0; }

.form-group {
  margin-bottom: 15px; }

.footable .form-control {
  display: block;
  width: 100%;
  height: 34px;
  padding: 6px 12px;
  margin: 0;
  font-family: inherit;
  font-size: 14px;
  line-height: 1.42857143;
  color: #555;
  background-color: #fff;
  background-image: none;
  border: 1px solid #ccc;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);
  transition: border-color ease-in-out .15s,box-shadow ease-in-out .15s; }

.footable .input-group {
  position: relative;
  display: table;
  border-collapse: separate; }

.footable .input-group .form-control {
  position: relative;
  z-index: 2;
  float: left;
  width: 100%;
  margin-bottom: 0; }

.footable .input-group-btn {
  position: relative;
  font-size: 0; }

.footable .input-group-addon, .footable .input-group-btn {
  width: 1%;
  white-space: nowrap;
  vertical-align: middle; }

.footable .input-group .form-control, .footable .input-group-addon, .footable .input-group-btn {
  display: table-cell; }

.footable .input-group-btn:last-child > .btn, .footable .input-group-btn:last-child > .btn-group, .footable .input-group-btn > .btn + .btn {
  margin-left: -1px; }

.footable .input-group-btn > .btn {
  position: relative; }

.footable .input-group-btn > .btn:active, .footable .input-group-btn > .btn:focus, .footable .input-group-btn > .btn:hover {
  z-index: 2; }

.footable .input-group .form-control:first-child, .footable .input-group-addon:first-child, .footable .input-group-btn:first-child > .btn, .footable .input-group-btn:first-child > .btn-group > .btn, .footable .input-group-btn:first-child > .dropdown-toggle, .footable .input-group-btn:last-child > .btn-group:not(:last-child) > .btn, .footable .input-group-btn:last-child > .btn:not(:last-child):not(.dropdown-toggle) {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0; }

.footable .input-group .form-control:last-child, .footable .input-group-addon:last-child, .footable .input-group-btn:first-child > .btn-group:not(:first-child) > .btn, .footable .input-group-btn:first-child > .btn:not(:first-child), .footable .input-group-btn:last-child > .btn, .footable .input-group-btn:last-child > .btn-group > .btn, .footable .input-group-btn:last-child > .dropdown-toggle {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0; }

.footable .checkbox, .footable .radio {
  position: relative;
  display: block;
  margin-top: 10px;
  margin-bottom: 10px; }

.footable .checkbox label, .footable .radio label {
  max-width: 100%;
  min-height: 20px;
  padding-left: 20px;
  margin-bottom: 0;
  font-weight: 400;
  cursor: pointer; }

.footable .checkbox input[type=checkbox], .footable .checkbox-inline input[type=checkbox], .footable .radio input[type=radio], .footable .radio-inline input[type=radio] {
  position: absolute;
  margin: 4px 0 0 -20px;
  line-height: normal; }

.footable .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  z-index: 1000;
  display: none;
  float: left;
  min-width: 160px;
  padding: 5px 0;
  margin: 2px 0 0;
  font-size: 14px;
  text-align: left;
  list-style: none;
  background-color: #fff;
  background-clip: padding-box;
  border: 1px solid #ccc;
  border: 1px solid rgba(0, 0, 0, 0.15);
  border-radius: 4px;
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.175); }

.footable .open > .dropdown-menu {
  display: block; }

.footable .dropdown-menu-right {
  right: 0;
  left: auto; }

.footable .dropdown-menu > li > a {
  display: block;
  padding: 3px 20px;
  clear: both;
  font-weight: 400;
  line-height: 1.42857143;
  color: #333;
  white-space: nowrap; }

.footable .dropdown-menu > li > a:focus, .footable .dropdown-menu > li > a:hover {
  color: #262626;
  text-decoration: none;
  background-color: #f5f5f5; }

.footable .pagination {
  display: inline-block;
  padding-left: 0;
  margin: 20px 0;
  border-radius: 4px; }

.footable .pagination > li {
  display: inline; }

.footable .pagination > li:first-child > a, .footable .pagination > li:first-child > span {
  margin-left: 0;
  border-top-left-radius: 4px;
  border-bottom-left-radius: 4px; }

.footable .pagination > li > a, .footable .pagination > li > span {
  position: relative;
  float: left;
  padding: 6px 12px;
  margin-left: -1px;
  line-height: 1.42857143;
  color: #337ab7;
  text-decoration: none;
  background-color: #fff;
  border: 1px solid #ddd; }

.footable .pagination > li > a:focus, .footable .pagination > li > a:hover, .footable .pagination > li > span:focus, .footable .pagination > li > span:hover {
  color: #23527c;
  background-color: #eee;
  border-color: #ddd; }

.footable .pagination > .active > a, .footable .pagination > .active > a:focus, .footable .pagination > .active > a:hover, .footable .pagination > .active > span, .footable .pagination > .active > span:focus, .footable .pagination > .active > span:hover {
  z-index: 2;
  color: #fff;
  cursor: default;
  background-color: #337ab7;
  border-color: #337ab7; }

.footable .pagination > .disabled > a, .footable .pagination > .disabled > a:focus, .footable .pagination > .disabled > a:hover, .footable .pagination > .disabled > span, .footable .pagination > .disabled > span:focus, .footable .pagination > .disabled > span:hover {
  color: #777;
  cursor: not-allowed;
  background-color: #fff;
  border-color: #ddd; }

.footable .label {
  display: inline;
  padding: .2em .6em .3em;
  font-size: 75%;
  font-weight: 700;
  line-height: 1;
  color: #fff;
  text-align: center;
  white-space: nowrap;
  vertical-align: baseline;
  border-radius: .25em; }

.footable .label-default {
  background-color: #777; }

.footable-loader.well {
  min-height: 20px;
  padding: 19px;
  margin-bottom: 20px;
  background-color: #f5f5f5;
  border: 1px solid #e3e3e3;
  border-radius: 4px;
  box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.05); }

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

table.footable-details, table.footable > thead > tr.footable-filtering > th div.form-group {
  margin-bottom: 0; }

@media (min-width: 768px) {
  .footable .form-inline .form-group {
    display: inline-block;
    margin-bottom: 0;
    vertical-align: middle; }
  .footable .form-inline .form-control {
    display: inline-block;
    width: auto;
    vertical-align: middle; }
  .footable .form-inline .input-group {
    display: inline-table;
    vertical-align: middle; }
  .footable .form-inline .input-group .form-control, .footable .form-inline .input-group .input-group-addon, .footable .form-inline .input-group .input-group-btn {
    width: auto; }
  .footable .form-inline .input-group > .form-control {
    width: 100%; } }

table.footable, table.footable-details {
  position: relative;
  width: 100%;
  border-spacing: 0;
  border-collapse: collapse; }

table.footable-hide-fouc {
  display: none; }

table > tbody > tr > td > span.footable-toggle {
  margin-right: 8px;
  opacity: .3; }

table > tbody > tr > td > span.footable-toggle.last-column {
  margin-left: 8px;
  float: right; }

table.table-condensed > tbody > tr > td > span.footable-toggle {
  margin-right: 5px; }

table.footable-details > tbody > tr > th:nth-child(1) {
  min-width: 40px;
  width: 120px; }

table.footable-details > tbody > tr > td:nth-child(2) {
  word-break: break-all; }

table.footable-details > tbody > tr:first-child > td, table.footable-details > tbody > tr:first-child > th, table.footable-details > tfoot > tr:first-child > td, table.footable-details > tfoot > tr:first-child > th, table.footable-details > thead > tr:first-child > td, table.footable-details > thead > tr:first-child > th {
  border-top-width: 0; }

table.footable-details.table-bordered > tbody > tr:first-child > td, table.footable-details.table-bordered > tbody > tr:first-child > th, table.footable-details.table-bordered > tfoot > tr:first-child > td, table.footable-details.table-bordered > tfoot > tr:first-child > th, table.footable-details.table-bordered > thead > tr:first-child > td, table.footable-details.table-bordered > thead > tr:first-child > th {
  border-top-width: 1px; }

div.footable-loader {
  vertical-align: middle;
  text-align: center;
  height: 300px;
  position: relative; }

div.footable-loader > span.fooicon {
  display: inline-block;
  opacity: .3;
  font-size: 30px;
  line-height: 32px;
  width: 32px;
  height: 32px;
  margin-top: -16px;
  margin-left: -16px;
  position: absolute;
  top: 50%;
  left: 50%;
  animation: fooicon-spin-r 2s infinite linear; }

table.footable > tbody > tr.footable-empty > td {
  vertical-align: middle;
  text-align: center;
  font-size: 30px; }

table.footable > tbody > tr > td, table.footable > tbody > tr > th {
  display: none; }

table.footable > tbody > tr.footable-detail-row > td, table.footable > tbody > tr.footable-detail-row > th, table.footable > tbody > tr.footable-empty > td, table.footable > tbody > tr.footable-empty > th {
  display: table-cell; }

@keyframes fooicon-spin-r {
  0% {
    transform: rotate(0); }
  100% {
    transform: rotate(359deg); } }

.fooicon {
  display: inline-block;
  font-size: inherit;
  font-family: FontAwesome !important;
  font-style: normal;
  font-weight: 400;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -ms-transform: translate(0, 0);
      transform: translate(0, 0); }

.fooicon:after, .fooicon:before {
  box-sizing: border-box; }

.fooicon-loader:before {
  content: "\f01e"; }

.fooicon-plus:before {
  content: "\f067"; }

.fooicon-minus:before {
  content: "\f068"; }

.fooicon-search:before {
  content: "\f002"; }

.fooicon-remove:before {
  content: "\f00d"; }

.fooicon-sort:before {
  content: "\f0dc"; }

.fooicon-sort-asc:before {
  content: "\f160"; }

.fooicon-sort-desc:before {
  content: "\f161"; }

.fooicon-pencil:before {
  content: "\f040"; }

.fooicon-trash:before {
  content: "\f1f8"; }

.fooicon-eye-close:before {
  content: "\f070"; }

.fooicon-flash:before {
  content: "\f0e7"; }

.fooicon-cog:before {
  content: "\f013"; }

.fooicon-stats:before {
  content: "\f080"; }

table.footable > thead > tr.footable-filtering > th {
  border-bottom-width: 1px;
  font-weight: 400; }

table.footable.footable-filtering-right > thead > tr.footable-filtering > th, table.footable > thead > tr.footable-filtering > th {
  text-align: right; }

table.footable.footable-filtering-left > thead > tr.footable-filtering > th {
  text-align: left; }

table.footable-paging-center > tfoot > tr.footable-paging > td, table.footable.footable-filtering-center > thead > tr.footable-filtering > th, table.footable > tfoot > tr.footable-paging > td {
  text-align: center; }

table.footable > thead > tr.footable-filtering > th div.form-group + div.form-group {
  margin-top: 5px; }

table.footable > thead > tr.footable-filtering > th div.input-group {
  width: 100%; }

table.footable > thead > tr.footable-filtering > th ul.dropdown-menu > li > a.checkbox {
  margin: 0;
  display: block;
  position: relative; }

table.footable > thead > tr.footable-filtering > th ul.dropdown-menu > li > a.checkbox > label {
  display: block;
  padding-left: 20px; }

table.footable > thead > tr.footable-filtering > th ul.dropdown-menu > li > a.checkbox input[type=checkbox] {
  position: absolute;
  margin-left: -20px; }

@media (min-width: 768px) {
  table.footable > thead > tr.footable-filtering > th div.input-group {
    width: auto; }
  table.footable > thead > tr.footable-filtering > th div.form-group {
    margin-left: 2px;
    margin-right: 2px; }
  table.footable > thead > tr.footable-filtering > th div.form-group + div.form-group {
    margin-top: 0; } }

table.footable > tbody > tr > td.footable-sortable, table.footable > tbody > tr > th.footable-sortable, table.footable > tfoot > tr > td.footable-sortable, table.footable > tfoot > tr > th.footable-sortable, table.footable > thead > tr > td.footable-sortable, table.footable > thead > tr > th.footable-sortable {
  position: relative;
  padding-right: 30px;
  cursor: pointer; }

td.footable-sortable > span.fooicon, th.footable-sortable > span.fooicon {
  position: absolute;
  right: 6px;
  top: 50%;
  margin-top: -7px;
  opacity: 0;
  transition: opacity .3s ease-in; }

td.footable-sortable.footable-asc > span.fooicon, td.footable-sortable.footable-desc > span.fooicon, td.footable-sortable:hover > span.fooicon, th.footable-sortable.footable-asc > span.fooicon, th.footable-sortable.footable-desc > span.fooicon, th.footable-sortable:hover > span.fooicon {
  opacity: 1; }

table.footable-sorting-disabled td.footable-sortable.footable-asc > span.fooicon, table.footable-sorting-disabled td.footable-sortable.footable-desc > span.fooicon, table.footable-sorting-disabled td.footable-sortable:hover > span.fooicon, table.footable-sorting-disabled th.footable-sortable.footable-asc > span.fooicon, table.footable-sorting-disabled th.footable-sortable.footable-desc > span.fooicon, table.footable-sorting-disabled th.footable-sortable:hover > span.fooicon {
  opacity: 0;
  visibility: hidden; }

table.footable > tfoot > tr.footable-paging > td > ul.pagination {
  margin: 10px 0 0; }

table.footable > tfoot > tr.footable-paging > td > span.label {
  display: inline-block;
  margin: 0 0 10px;
  padding: 4px 10px; }

table.footable-paging-left > tfoot > tr.footable-paging > td {
  text-align: left; }

table.footable-editing-right td.footable-editing, table.footable-editing-right tr.footable-editing, table.footable-paging-right > tfoot > tr.footable-paging > td {
  text-align: right; }

ul.pagination > li.footable-page {
  display: none; }

ul.pagination > li.footable-page.visible {
  display: inline; }

td.footable-editing {
  width: 90px;
  max-width: 90px; }

table.footable-editing-no-delete td.footable-editing, table.footable-editing-no-edit td.footable-editing, table.footable-editing-no-view td.footable-editing {
  width: 70px;
  max-width: 70px; }

table.footable-editing-no-delete.footable-editing-no-view td.footable-editing, table.footable-editing-no-edit.footable-editing-no-delete td.footable-editing, table.footable-editing-no-edit.footable-editing-no-view td.footable-editing {
  width: 50px;
  max-width: 50px; }

table.footable-editing-no-edit.footable-editing-no-delete.footable-editing-no-view td.footable-editing, table.footable-editing-no-edit.footable-editing-no-delete.footable-editing-no-view th.footable-editing {
  width: 0;
  max-width: 0;
  display: none !important; }

table.footable-editing-left td.footable-editing, table.footable-editing-left tr.footable-editing {
  text-align: left; }

table.footable-editing button.footable-add, table.footable-editing button.footable-hide, table.footable-editing-show button.footable-show, table.footable-editing.footable-editing-always-show button.footable-hide, table.footable-editing.footable-editing-always-show button.footable-show, table.footable-editing.footable-editing-always-show.footable-editing-no-add tr.footable-editing {
  display: none; }

table.footable-editing.footable-editing-always-show button.footable-add, table.footable-editing.footable-editing-show button.footable-add, table.footable-editing.footable-editing-show button.footable-hide {
  display: inline-block; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Nsb3NlLWJ1dHRvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS1pY29uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcmlsbGRvd24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi1tZW51LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVkaWEtb2JqZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wYWdpbmF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmV2ZWFsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19jb2xvci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiX2N1c3RvbS5zY3NzIiwiX2N1c3RvbS1iYXNlLnNjc3MiLCJfcGJpY29ucy5zY3NzIiwiX2Jhc2Uuc2NzcyIsImhhbWJ1cmdlcnMuc2NzcyIsInR5cGVzL19zcXVlZXplLnNjc3MiLCJmb290YWJsZS5zdGFuZGFsb25lLm1pbi5jc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztHQUtHO0FDK01ELDRFQUE0RTtBQUU1RTs7OztLQUlHO0FBRUg7RUFDRSx3QkFBdUI7RUFBRSxPQUFPO0VBQ2hDLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDs7S0FFRztBQUVIO0VBQ0UsVUFBUyxFQUNWOztBQUVEO2tGQUNnRjtBQUVoRjs7Ozs7S0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBYyxFQUNmOztBQUVEOzs7S0FHRztBQUVIOzs7O0VBSUUsc0JBQXFCO0VBQUUsT0FBTztFQUM5Qix5QkFBd0I7RUFBRSxPQUFPLEVBQ2xDOztBQUVEOzs7S0FHRztBQUVIO0VBQ0UsY0FBYTtFQUNiLFVBQVMsRUFDVjs7QUFFRDs7O0tBR0c7QUZuTkw7O0VFdU5JLGNBQWEsRUFDZDs7QUFFRDtrRkFDZ0Y7QUFFaEY7O0tBRUc7QUFFSDtFQUNFLDhCQUE2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LG1CQUFrQjtFQUNsQixnQkFIbUQsRVBtRjlDOztBQU1IO0VPNURKLGdCRGhCZ0MsRU44RTNCOztBQXBCRDtFS3RFSixpQkNlcUQsRU55RGhEOztBQUlDO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBQUVEO0VPL0VKLG1CQUFrQjtFQUNsQixpQkFIbUQsRVBtRjlDOztBQU1IO0VPNURKLHNCRGJxRCxFTjJFaEQ7O0FBcEJEO0VLdEVKLFdDZXFELEVOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsVUFIbUQsRVArRTlDOztBQUVEO0VPL0VKLG1CQUFrQjtFQUNsQixXQUhtRCxFUG1GOUM7O0FBTUg7RU81REosdUJEYnFELEVOMkVoRDs7QUFwQkQ7RUt0RUosaUJDZXFELEVOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQbUY5Qzs7QUFNSDtFTzVESixpQkRicUQsRU4yRWhEOztBQXBCRDtFS3RFSixpQkNlcUQsRU55RGhEOztBQUlDO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBQUVEO0VPL0VKLG1CQUFrQjtFQUNsQixpQkFIbUQsRVBtRjlDOztBQU1IO0VPNURKLHVCRGJxRCxFTjJFaEQ7O0FBcEJEO0VLdEVKLFdDZXFELEVOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsVUFIbUQsRVArRTlDOztBQUVEO0VPL0VKLG1CQUFrQjtFQUNsQixXQUhtRCxFUG1GOUM7O0FBTUg7RU81REosdUJEYnFELEVOMkVoRDs7QUFwQkQ7RUt0RUosaUJDZXFELEVOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQbUY5Qzs7QUFNSDtFTzVESixpQkRicUQsRU4yRWhEOztBQXBCRDtFS3RFSixpQkNlcUQsRU55RGhEOztBQUlDO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBQUVEO0VPL0VKLG1CQUFrQjtFQUNsQixpQkFIbUQsRVBtRjlDOztBQU1IO0VPNURKLHVCRGJxRCxFTjJFaEQ7O0FBcEJEO0VLdEVKLFdDZXFELEVOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsVUFIbUQsRVArRTlDOztBQUVEO0VPL0VKLG1CQUFrQjtFQUNsQixXQUhtRCxFUG1GOUM7O0FBTUg7RU81REosdUJEYnFELEVOMkVoRDs7QUFwQkQ7RUt0RUosaUJDZXFELEVOeURoRDs7QUFJQztFTzNFSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQK0U5Qzs7QUFFRDtFTy9FSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQbUY5Qzs7QUFNSDtFTzVESixpQkRicUQsRU4yRWhEOztBQXBCRDtFS3RFSixpQkNlcUQsRU55RGhEOztBQUlDO0VPM0VKLG1CQUFrQjtFQUNsQixnQkFIbUQsRVArRTlDOztBQUVEO0VPL0VKLG1CQUFrQjtFQUNsQixpQkFIbUQsRVBtRjlDOztBQU1IO0VPNURKLHVCRGJxRCxFTjJFaEQ7O0FBcEJEO0VLdEVKLFlDZXFELEVOeURoRDs7QUFnQkQ7RU81REosdUJEYnFELEVOMkVoRDs7QUFLRDtFUXZGRixZQUF1QjtFQUN2QixZWDhFdUQsRVc3Q3hEO0VScURHO0lRL0RBLFlBQVcsRUFDWjtFUjhEQztJUTNEQSxZQUFXLEVBQ1o7RVIwREM7SVF2REEsWVgrQ3FELEVXOUN0RDs7QVJzREM7RVF2RkYsV0FBdUI7RUFDdkIsWVg4RXVELEVXN0N4RDtFUnFERztJUS9EQSxZQUFXLEVBQ1o7RVI4REM7SVEzREEsWUFBVyxFQUNaO0VSMERDO0lRdkRBLFlYK0NxRCxFVzlDdEQ7O0FSc0RDO0VRdkZGLGlCQUF1QjtFQUN2QixZWDhFdUQsRVc3Q3hEO0VScURHO0lRL0RBLFlBQVcsRUFDWjtFUjhEQztJUTNEQSxZQUFXLEVBQ1o7RVIwREM7SVF2REEsWVgrQ3FELEVXOUN0RDs7QVJzREM7RVF2RkYsV0FBdUI7RUFDdkIsWVg4RXVELEVXN0N4RDtFUnFERztJUS9EQSxZQUFXLEVBQ1o7RVI4REM7SVEzREEsWUFBVyxFQUNaO0VSMERDO0lRdkRBLFlYK0NxRCxFVzlDdEQ7O0FSc0RDO0VRdkZGLFdBQXVCO0VBQ3ZCLFlYOEV1RCxFVzdDeEQ7RVJxREc7SVEvREEsWUFBVyxFQUNaO0VSOERDO0lRM0RBLFlBQVcsRUFDWjtFUjBEQztJUXZEQSxZWCtDcUQsRVc5Q3REOztBUnNEQztFUXZGRixpQkFBdUI7RUFDdkIsWVg4RXVELEVXN0N4RDtFUnFERztJUS9EQSxZQUFXLEVBQ1o7RVI4REM7SVEzREEsWUFBVyxFQUNaO0VSMERDO0lRdkRBLFlYK0NxRCxFVzlDdEQ7O0FSc0RDO0VRdkZGLGlCQUF1QjtFQUN2QixZWDhFdUQsRVc3Q3hEO0VScURHO0lRL0RBLFlBQVcsRUFDWjtFUjhEQztJUTNEQSxZQUFXLEVBQ1o7RVIwREM7SVF2REEsWVgrQ3FELEVXOUN0RDs7QVJzREM7RVF2RkYsYUFBdUI7RUFDdkIsWVg4RXVELEVXN0N4RDtFUnFERztJUS9EQSxZQUFXLEVBQ1o7RVI4REM7SVEzREEsWUFBVyxFQUNaO0VSMERDO0lRdkRBLFlYK0NxRCxFVzlDdEQ7O0FSNEREO0VHekdGLGdCQUFlO0VBQ2YsaUJBQWdCLEVIeUdrQzs7QUFEaEQ7RUFJSSxlQUFjO0VBQ2QsZ0JBQWUsRUFDaEI7O0FBR0g7RUFDRSxlQUFjO0VBQ2QsZ0JBQWUsRUFDaEI7O0FBRUQ7RUc5R0YsdUJBRDhCO0VBRTlCLHdCQUY4QixFSGtIK0I7O0FBSTNEO0VPakhBLGtCQUFpQjtFQUNqQixtQkFBa0IsRVBrSGpCO0VPdkhEO0lBQ0UsWUFBVztJQUNYLFlBQVcsRUFDWjs7QVB1SEQ7OztFTzVHRixpQkFBZ0I7RUFDaEIsZUFBYztFQUNkLGdCQUFlO0VBQ2YsWUFBVyxFUDZHUjs7QUlFRDtFSi9ERTtJS3RFSixnQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGVBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBtRjlDO0VBTUg7SU81REosZ0JEaEJnQyxFTjhFM0I7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESixzQkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFdDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLGlCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFdDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLGlCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFdDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLGlCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFlDZXFELEVOeURoRDtFQWdCRDtJTzVESix1QkRicUQsRU4yRWhEO0VBS0Q7SVF2RkYsWUFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsV0FBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsaUJBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLFdBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLFdBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLGlCQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixpQkFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsYUFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVI0REQ7SUd6R0YsZ0JBQWU7SUFDZixpQkFBZ0IsRUh5R2tDO0VBRGhEO0lBSUksZUFBYztJQUNkLGdCQUFlLEVBQ2hCO0VBR0g7SUFDRSxlQUFjO0lBQ2QsZ0JBQWUsRUFDaEI7RUFFRDtJRzlHRix3QkFEOEI7SUFFOUIseUJBRjhCLEVIa0grQjtFQUkzRDtJT2pIQSxrQkFBaUI7SUFDakIsbUJBQWtCLEVQa0hqQjtJT3ZIRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVB1SEQ7OztJTzVHRixpQkFBZ0I7SUFDaEIsZUFBYztJQUNkLGdCQUFlO0lBQ2YsWUFBVyxFUDZHUixFQUFBOztBSUVEO0VKL0RFO0lLdEVKLGdCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZUFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUG1GOUM7RUFNSDtJTzVESixnQkRoQmdDLEVOOEUzQjtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLHNCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosV0NlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VBTUg7SU81REosaUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLHVCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosV0NlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VBTUg7SU81REosaUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLHVCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosV0NlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLFVBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixXQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VBTUg7SU81REosaUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLHVCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosWUNlcUQsRU55RGhEO0VBZ0JEO0lPNURKLHVCRGJxRCxFTjJFaEQ7RUFLRDtJUXZGRixZQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixXQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixpQkFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsV0FBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsV0FBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsaUJBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLGlCQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixhQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUjRERDtJR3pHRixnQkFBZTtJQUNmLGlCQUFnQixFSHlHa0M7RUFEaEQ7SUFJSSxlQUFjO0lBQ2QsZ0JBQWUsRUFDaEI7RUFHSDtJQUNFLGVBQWM7SUFDZCxnQkFBZSxFQUNoQjtFQUVEO0lHOUdGLHdCQUQ4QjtJQUU5Qix5QkFGOEIsRUhrSCtCO0VBSTNEO0lPakhBLGtCQUFpQjtJQUNqQixtQkFBa0IsRVBrSGpCO0lPdkhEO01BQ0UsWUFBVztNQUNYLFlBQVcsRUFDWjtFUHVIRDs7O0lPNUdGLGlCQUFnQjtJQUNoQixlQUFjO0lBQ2QsZ0JBQWU7SUFDZixZQUFXLEVQNkdSLEVBQUE7O0FJRUQ7RUovREU7SUt0RUosZ0JDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixlQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQbUY5QztFQU1IO0lPNURKLGdCRGhCZ0MsRU44RTNCO0VBcEJEO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VBTUg7SU81REosc0JEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixXQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLFdBSG1ELEVQbUY5QztFQU1IO0lPNURKLHVCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESixpQkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixXQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLFdBSG1ELEVQbUY5QztFQU1IO0lPNURKLHVCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESixpQkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixXQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsVUFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLFdBSG1ELEVQbUY5QztFQU1IO0lPNURKLHVCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESixpQkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLGlCQ2VxRCxFTnlEaEQ7RUFJQztJTzNFSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixZQ2VxRCxFTnlEaEQ7RUFnQkQ7SU81REosdUJEYnFELEVOMkVoRDtFQUtEO0lRdkZGLFlBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLFdBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLGlCQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixXQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixXQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixpQkFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsaUJBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLGFBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSNEREO0lHekdGLGdCQUFlO0lBQ2YsaUJBQWdCLEVIeUdrQztFQURoRDtJQUlJLGVBQWM7SUFDZCxnQkFBZSxFQUNoQjtFQUdIO0lBQ0UsZUFBYztJQUNkLGdCQUFlLEVBQ2hCO0VBRUQ7SUc5R0Ysd0JBRDhCO0lBRTlCLHlCQUY4QixFSGtIK0I7RUFJM0Q7SU9qSEEsa0JBQWlCO0lBQ2pCLG1CQUFrQixFUGtIakI7SU92SEQ7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VQdUhEOzs7SU81R0YsaUJBQWdCO0lBQ2hCLGVBQWM7SUFDZCxnQkFBZTtJQUNmLFlBQVcsRVA2R1IsRUFBQTs7QUlFRDtFSi9ERTtJS3RFSixnQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGVBSG1ELEVQK0U5QztFQUVEO0lPL0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBtRjlDO0VBTUg7SU81REosZ0JEaEJnQyxFTjhFM0I7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESixzQkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFdDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLGlCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFdDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLGlCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFdDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixVQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBtRjlDO0VBTUg7SU81REosdUJEYnFELEVOMkVoRDtFQXBCRDtJS3RFSixpQkNlcUQsRU55RGhEO0VBSUM7SU8zRUosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUCtFOUM7RUFFRDtJTy9FSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQbUY5QztFQU1IO0lPNURKLGlCRGJxRCxFTjJFaEQ7RUFwQkQ7SUt0RUosaUJDZXFELEVOeURoRDtFQUlDO0lPM0VKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVArRTlDO0VBRUQ7SU8vRUosbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUG1GOUM7RUFNSDtJTzVESix1QkRicUQsRU4yRWhEO0VBcEJEO0lLdEVKLFlDZXFELEVOeURoRDtFQWdCRDtJTzVESix1QkRicUQsRU4yRWhEO0VBS0Q7SVF2RkYsWUFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsV0FBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsaUJBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLFdBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLFdBQXVCO0lBQ3ZCLFlYOEV1RCxFVzdDeEQ7SVJxREc7TVEvREEsWUFBVyxFQUNaO0lSOERDO01RM0RBLFlBQVcsRUFDWjtJUjBEQztNUXZEQSxZWCtDcUQsRVc5Q3REO0VSc0RDO0lRdkZGLGlCQUF1QjtJQUN2QixZWDhFdUQsRVc3Q3hEO0lScURHO01RL0RBLFlBQVcsRUFDWjtJUjhEQztNUTNEQSxZQUFXLEVBQ1o7SVIwREM7TVF2REEsWVgrQ3FELEVXOUN0RDtFUnNEQztJUXZGRixpQkFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVJzREM7SVF2RkYsYUFBdUI7SUFDdkIsWVg4RXVELEVXN0N4RDtJUnFERztNUS9EQSxZQUFXLEVBQ1o7SVI4REM7TVEzREEsWUFBVyxFQUNaO0lSMERDO01RdkRBLFlYK0NxRCxFVzlDdEQ7RVI0REQ7SUd6R0YsZ0JBQWU7SUFDZixpQkFBZ0IsRUh5R2tDO0VBRGhEO0lBSUksZUFBYztJQUNkLGdCQUFlLEVBQ2hCO0VBR0g7SUFDRSxlQUFjO0lBQ2QsZ0JBQWUsRUFDaEI7RUFFRDtJRzlHRix3QkFEOEI7SUFFOUIseUJBRjhCLEVIa0grQjtFQUkzRDtJT2pIQSxrQkFBaUI7SUFDakIsbUJBQWtCLEVQa0hqQjtJT3ZIRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVB1SEQ7OztJTzVHRixpQkFBZ0I7SUFDaEIsZUFBYztJQUNkLGdCQUFlO0lBQ2YsWUFBVyxFUDZHUixFQUFBOztBU3NGSDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFtQkUsVUFBUztFQUNULFdBQVUsRUFDWDs7QUFHRDtFQUNFLG1CQUFrQjtFQUNsQixrQlhyR3VCO0VXc0d2QixzQlhwRzRCO0VXcUc1QixtQ1hwR3lDLEVXcUcxQzs7QUFHRDs7RUFFRSxtQkFBa0I7RUFDbEIscUJBQW9CLEVBQ3JCOztBQUdEOztFQUVFLGtCWG5NcUI7RVdvTXJCLHFCQUFvQixFQUNyQjs7QVoyRkQ7RVl2RkUsZVg5SGlCO0VXK0hqQixxQkFBb0IsRUFDckI7O0FBR0Q7Ozs7Ozs7RUFNRSxvRlh6TnFGO0VXME5yRixpQlg1S29CO0VXNktwQixtQlg1S3NCO0VXNkt0QixlWGhPVztFV2lPWCxtQ1g5SXNDO0VXK0l0QyxjQUFhO0VBQ2Isc0JYakp5QjtFV2tKekIsaUJYbkptQixFV3lKcEI7RUFuQkQ7Ozs7Ozs7SUFnQkksZVh4T2E7SVd5T2IsZUFBYyxFQUNmOztBWjhDSDtFWXRDUSxtQlBoTytDLEVPaU9oRDs7QUFGRDtFQUNFLGtCUGhPK0MsRU9pT2hEOztBQUZEO0VBQ0Usb0JQaE8rQyxFT2lPaEQ7OztBQXJFUDs7RUFvRVEsb0JQaE8rQyxFT2lPaEQ7O0FBRkQ7RUFDRSxxQlBoTytDLEVPaU9oRDs7QUFGRDtFQUNFLGdCUGhPK0MsRU9pT2hEOztBTG5LTDtFUHdNRjtJWXRDUSxvQlBoTytDLEVPaU9oRDtFQUZEO0lBQ0Usb0JQaE8rQyxFT2lPaEQ7RUFGRDtJQUNFLG9CUGhPK0MsRU9pT2hEOztFQXJFUDs7SUFvRVEsb0JQaE8rQyxFT2lPaEQ7RUFGRDtJQUNFLG9CUGhPK0MsRU9pT2hEO0VBRkQ7SUFDRSxnQlBoTytDLEVPaU9oRCxFQUFBOztBWlZQO0VZaUJFLGVYelFjO0VXMFFkLHNCWHRKeUI7RVd1SnpCLHFCQUFvQjtFQUNwQixnQkFBZSxFQWFoQjtFQWpCRDtJQVFJLGVYN0oyRCxFV2lLNUQ7RUFaSDtJQWVJLFVBQVMsRUFDVjs7QVoyRkg7RVl0RkUsaUJQNVBxRDtFTzZQckQsVUFBUztFQUNULGdCQUFlO0VBQ2YsY0FBYTtFQUNiLGlDWG5SaUI7RVdvUmpCLGVBQWM7RUFDZCxxQlgzS3lCO0VXNEt6QixZQUFXLEVBQ1o7O0FBR0Q7OztFQUdFLGtCWG5NdUI7RVdvTXZCLHNCWGxNNEI7RVdtTTVCLDZCWGpMeUIsRVdrTDFCOztBQUdEO0VBQ0UsbUJBQWtCLEVBQ25COztBQUdEO0VBQ0Usc0JYNUxrQjtFVzZMbEIscUJYM0xzQixFVzRMdkI7O0FBR0Q7RUFDRSxxQlhoTXNCLEVXaU12Qjs7QUFHRDtFQUVJLHFCWHJNMkI7RVdzTTNCLGlCQUFnQixFQUNqQjs7QUFJSDtFQUNFLG9CWDNNeUIsRVdpTjFCO0VBUEQ7SUFJSSxzQlg1TThCO0lXNk05QixrQlhyVG1CLEVXc1RwQjs7QUFJSDtFQUNFLG1CWDFPNEI7RVcyTzVCLHVDUHBUcUQ7RU9xVHJELCtCWHhVaUIsRVc4VWxCO0VBVEQ7SUFNSSxrQlhqUHFCO0lXa1ByQixlWDNVYSxFVzRVZDs7QUFJSDtFQUNFLGVBQWM7RUFDZCxxQlBoVXFEO0VPaVVyRCxlWG5WZSxFV3dWaEI7RUFSRDtJQU1JLHVCQUFzQixFQUN2Qjs7QUFJSDtFQUNFLGVYM1ZXO0VXNFZYLGFBQVk7RUFDWixrQ1g3VlcsRVc4Vlo7O0FBR0Q7RUFDRSw2RFg5U21FO0VXK1NuRSxvQlgzVnlCO0VXNFZ6QixlWHBXVztFV3FXWCwwQlh6V2dCO0VXMFdoQiwwQlh4V2lCO0VXeVdq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QkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7QUFFckI7RUFDRSxpQkFBaUIsRUFBRTs7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O0FBQUM7RUFBb0IsZ0JBQVUsRUFBQTs7QTdEbzNOanFpQjtFNkRwM05pcmlCLFlBQUs7RUFBc0osZ0JBQVUsRUFBQTs7QTdEdzNOdDFpQjtFNkR4M05zMmlCLFlBQUs7RUFBbU8sZ0JBQVUsRUFBQTs7QTdENDNOeGxqQjtFNkQ1M053bWpCLFlBQUs7RUFBeU0sZ0JBQU8sRUFBQTs7QTdEZzRON3pqQjtFQUNFLFNBQVM7RTZEajROczFqQixhQUFLO0VBQTJGLHlCQUFpQixFQUFBOztBQUFEO0VBQTBYLGlCQUFjLEVBQUE7O0FBQUQ7RUFBMk0sY0FBUSxFQUFBOztBN0QyNE4zaWxCO0VBQ0Usc0JBQXNCLEVBQUUiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuNFxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00MGVtJmxhcmdlPTY0ZW0meGxhcmdlPTkwZW0meHhsYXJnZT0xNjBlbVwiOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG5pbWcge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbnNlbGVjdCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiAwOyB9XG5cbiNtYXBfY2FudmFzIGltZyxcbiNtYXBfY2FudmFzIGVtYmVkLFxuI21hcF9jYW52YXMgb2JqZWN0LFxuLm1hcF9jYW52YXMgaW1nLFxuLm1hcF9jYW52YXMgZW1iZWQsXG4ubWFwX2NhbnZhcyBvYmplY3QsXG4ubXFhLWRpc3BsYXkgaW1nLFxuLm1xYS1kaXNwbGF5IGVtYmVkLFxuLm1xYS1kaXNwbGF5IG9iamVjdCB7XG4gIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50OyB9XG5cbmJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5pcy12aXNpYmxlIHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtaGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5yb3cge1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5yb3c6OmJlZm9yZSwgLnJvdzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTsgfSB9XG4gICAgLnJvdyAucm93LmNvbGxhcHNlIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAgIC5yb3cuZXhwYW5kZWQgLnJvdyB7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMDAlO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9IH1cbiAgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXB1c2gtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMjUlOyB9XG5cbi5zbWFsbC1wdWxsLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC00MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXB1c2gtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlOyB9XG5cbi5zbWFsbC1wdWxsLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC02Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLXB1c2gtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNzUlOyB9XG5cbi5zbWFsbC1wdWxsLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC03NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC05MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiA1MCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAyNSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAyMCU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxNi42NjY2NyU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxNC4yODU3MSU7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIHdpZHRoOiAxMi41JTtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNtYWxsLWNvbGxhcHNlIC5yb3cge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5leHBhbmRlZC5yb3cgLnNtYWxsLWNvbGxhcHNlLnJvdyB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tcmlnaHQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCxcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAubWVkaXVtLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS1wdWxsLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS1wdWxsLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLm1lZGl1bS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS1wdWxsLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIHdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTIuNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS1jb2xsYXBzZSAucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmV4cGFuZGVkLnJvdyAubWVkaXVtLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuNTYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07IH1cbiAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLm1lZGl1bS1jZW50ZXJlZCwgLm1lZGl1bS1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lZGl1bS11bmNlbnRlcmVkLFxuICAubWVkaXVtLXB1c2gtMCxcbiAgLm1lZGl1bS1wdWxsLTAge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNi42NjY2NyU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTQuMjg1NzElO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnhsYXJnZS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAueGxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLnhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAueGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnhsYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC54bGFyZ2UtcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC54bGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAueGxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC54bGFyZ2UtNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAueGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnhsYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC54bGFyZ2UtcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC54bGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAueGxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC54bGFyZ2UtNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueGxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAueGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLnhsYXJnZS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnhsYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC54bGFyZ2UtcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC54bGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAueGxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC54bGFyZ2UtMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLnhsYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAueGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAueGxhcmdlLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54bGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC54bGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAueGxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTIgPiAuY29sdW1uLCAueGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAueGxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTMgPiAuY29sdW1uLCAueGxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAueGxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueGxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDI1JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAueGxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTUgPiAuY29sdW1uLCAueGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAueGxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTYgPiAuY29sdW1uLCAueGxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAueGxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueGxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueGxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueGxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAueGxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54bGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnhsYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueGxhcmdlLXVwLTggPiAuY29sdW1uLCAueGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC54bGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnhsYXJnZS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueGxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC54bGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLnhsYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAueGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9XG4gIC54bGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICAgIC54bGFyZ2UtY2VudGVyZWQsIC54bGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC54bGFyZ2UtdW5jZW50ZXJlZCxcbiAgLnhsYXJnZS1wdXNoLTAsXG4gIC54bGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MGVtKSB7XG4gIC54eGxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAueHhsYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC54eGxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAueHhsYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLnh4bGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAueHhsYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC54eGxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAueHhsYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLnh4bGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAueHhsYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC54eGxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLnh4bGFyZ2UtOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAueHhsYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLnh4bGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAueHhsYXJnZS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAueHhsYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAueHhsYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC54eGxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC54eGxhcmdlLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC54eGxhcmdlLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAueHhsYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC0zID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uLCAueHhsYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAyNSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDIwJTtcbiAgICBmbG9hdDogbGVmdDsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnh4bGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC54eGxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAueHhsYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAueHhsYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAueHhsYXJnZS11cC02ID4gLmNvbHVtbiwgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICB3aWR0aDogMTYuNjY2NjclO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uLCAueHhsYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgIHdpZHRoOiAxNC4yODU3MSU7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC54eGxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAueHhsYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnh4bGFyZ2UtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC54eGxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgd2lkdGg6IDEyLjUlO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAueHhsYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLnh4bGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC54eGxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC54eGxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC54eGxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC54eGxhcmdlLWNvbGxhcHNlID4gLmNvbHVtbiwgLnh4bGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLnh4bGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLnh4bGFyZ2UtY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnh4bGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC54eGxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMS41NjI1cmVtOyB9XG4gIC54eGxhcmdlLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cbiAgICAueHhsYXJnZS1jZW50ZXJlZCwgLnh4bGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC54eGxhcmdlLXVuY2VudGVyZWQsXG4gIC54eGxhcmdlLXB1c2gtMCxcbiAgLnh4bGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuLnByb2R1Y3Qtc3ViaGVhZCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuLnByb2R1Y3Qtc3ViaGVhZCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJwcm94aW1hLW5vdmFcIiwgXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgLnByb2R1Y3Qtc3ViaGVhZCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBjb2xvcjogIzhhOGE4YTtcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS43NXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMS41cmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuXG5cbmg0LFxuLnByb2R1Y3Qtc3ViaGVhZCB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDMuMTU3cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMzY5cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNzc3cmVtOyB9XG4gIFxuICBoNCxcbiAgLnByb2R1Y3Qtc3ViaGVhZCB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGNvbG9yOiAjMjE5OWU4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNTg1Y2Y7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIG1heC13aWR0aDogNzVyZW07XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBjbGVhcjogYm90aDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS40NTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDEuM3JlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzBhMGEwYTsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAueGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueGxhcmdlLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC54bGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAueGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MGVtKSB7XG4gIC54eGxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAueHhsYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAueHhsYXJnZS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC54eGxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5OWU4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU4M2NjO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5OWU4O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0N2NjMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjVmNWY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxY2I4NDE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY5MzM0O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGZpcmVicmljaztcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhlMWIxYjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjMjE5OWU4O1xuICAgIGNvbG9yOiAjMjE5OWU4OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICMwYzRkNzg7XG4gICAgICBjb2xvcjogIzBjNGQ3ODsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzIxOTllODtcbiAgICAgIGNvbG9yOiAjMjE5OWU4OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGM0ZDc4O1xuICAgICAgICBjb2xvcjogIzBjNGQ3ODsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNzc3O1xuICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjM2MzYzNjO1xuICAgICAgICBjb2xvcjogIzNjM2MzYzsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFjYjg0MTtcbiAgICAgIGNvbG9yOiAjMWNiODQxOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGU1YzIxO1xuICAgICAgICBjb2xvcjogIzBlNWMyMTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGZpcmVicmljaztcbiAgICAgIGNvbG9yOiBmaXJlYnJpY2s7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzU5MTExMTtcbiAgICAgICAgY29sb3I6ICM1OTExMTE7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjE5OWU4O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b25bZGlzYWJsZWRdLnByaW1hcnkge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIxOTllODtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc3NztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFjYjg0MTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogZmlyZWJyaWNrO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogLTAuMWVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQ7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2Q2ZDZkNjtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi41cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMSU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1hcmdpbjogMS4xMjVyZW0gMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxNzgsIDM0LCAzNCwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiBmaXJlYnJpY2s7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogZmlyZWJyaWNrOyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGZpcmVicmljazsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzIxOTllODtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlZmVmZWY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oCTJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZWZlZmVmO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzIxOTllODsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VmZWZlZjsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgY29sb3I6ICNkNmQ2ZDY7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzIxOTllODsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjZDZkNmQ2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygzMy4zMzMzMyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjUlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDIwJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygxNi42NjY2NyUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTk5ZTg7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE0N2NjMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZjVmNWY7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFjYjg0MTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTY5MzM0O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogZmlyZWJyaWNrO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhlMWIxYjtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZWYwZmM7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWJlYmViOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGY5ZTA7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZDlkOTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgYSxcbiAgLm1lbnUgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBpICsgc3BhbixcbiAgICAubWVudSA+IGxpID4gYSBzdmcgKyBzcGFuIHtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwZW0pIHtcbiAgICAubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZW51LnNpbXBsZSBhIHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjpiZWZvcmUsIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQgPiBsaSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5tZW51LmV4cGFuZGVkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkOyB9XG4gICAgLm1lbnUuZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpbWcsXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaSxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBzdmcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0byAwLjI1cmVtOyB9XG4gIC5tZW51Lm5lc3RlZCB7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUgLmFjdGl2ZSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGJhY2tncm91bmQ6ICMyMTk5ZTg7IH1cblxuLm1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjZmVmZWZlLCAwIDE0cHggMCAjZmVmZWZlOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZDZkNmQ2O1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2Q2ZDZkNiwgMCAxNHB4IDAgI2Q2ZDZkNjsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzBhMGEwYSwgMCAxNHB4IDAgIzBhMGEwYTsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyMTk5ZTg7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW4tcmlnaHQ6IDAuNzVyZW07IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgd2lkdGg6IDMwMHB4O1xuICB6LWluZGV4OiAxMDsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUueGxhcmdlIHtcbiAgd2lkdGg6IDYwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiAjMjE5OWU4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzIxOTllODtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzIxOTllOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyMTk5ZTg7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMyMTk5ZTg7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjE5OWU4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LnhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueGxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS54bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMjE5OWU4O1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjBlbSkge1xuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS54eGxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjMjE5OWU4IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUueHhsYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzIxOTllOCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lnh4bGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMjE5OWU4O1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMyMTk5ZTggdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzIxOTllODtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjMjE5OWU4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNzc3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWNiODQxO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5hbGVydCB7XG4gICAgYmFja2dyb3VuZDogZmlyZWJyaWNrO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24uYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IGF1dG87IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YmVmb3JlLCAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50LFxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgei1pbmRleDogMTtcbiAgcGFkZGluZy1ib3R0b206IDAuMXB4O1xuICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC41cyBlYXNlOyB9XG5cbi5vZmYtY2FudmFzIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICB6LWluZGV4OiAtMTtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1sZWZ0IHtcbiAgICBsZWZ0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLWxlZnQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAub2ZmLWNhbnZhcy5wb3NpdGlvbi1yaWdodCB7XG4gICAgcmlnaHQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tcmlnaHQge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgbGVmdDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDkwZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci14bGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXhsYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXhsYXJnZSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjBlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci14eGxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLXh4bGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2VmZWZlZjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMyMTk5ZTg7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjZDZkNmQ2O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFwwMGFiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwwMGJiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNkNmQ2ZDY7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMTk5ZTg7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWNiODQxOyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBmaXJlYnJpY2s7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMTk5ZTg7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTAwNTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjQ1KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnNtYWxsIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBtYXgtd2lkdGg6IDc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAjZDZkNmQ2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMyMTk5ZTg7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBwYWRkaW5nOiAwLjg1cmVtIDAuNjI1cmVtIDAuODVyZW0gMC42MjVyZW07IH1cbiAgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmMWYxZjE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgdGhlYWQgdHIsXG4gIHRmb290IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0aGVhZCB0aCxcbiAgdGhlYWQgdGQsXG4gIHRmb290IHRoLFxuICB0Zm9vdCB0ZCB7XG4gICAgcGFkZGluZzogMC44NXJlbSAwLjYyNXJlbSAwLjg1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjg1cmVtIDAuNjI1cmVtIDAuODVyZW0gMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRoZWFkIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTsgfVxuXG50YWJsZS5ob3ZlciB0Zm9vdCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cblxudGFibGUuaG92ZXIgdGJvZHkgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjlmOWY5OyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRhYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4udGFicy52ZXJ0aWNhbCA+IGxpIHtcbiAgd2lkdGg6IGF1dG87XG4gIGZsb2F0OiBub25lO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGFicy5zaW1wbGUgPiBsaSA+IGEge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50YWJzLnNpbXBsZSA+IGxpID4gYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnRhYnMucHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMyMTk5ZTg7IH1cbiAgLnRhYnMucHJpbWFyeSA+IGxpID4gYSB7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmhvdmVyLCAudGFicy5wcmltYXJ5ID4gbGkgPiBhOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxODkzZTQ7IH1cblxuLnRhYnMtdGl0bGUge1xuICBmbG9hdDogbGVmdDsgfVxuICAudGFicy10aXRsZSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlZmVmZWY7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gIGJvcmRlci10b3A6IDA7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlZmVmZWY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbC5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50aHVtYm5haWwge1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLnRodW1ibmFpbDpob3ZlciwgLnRodW1ibmFpbDpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogMCAwIDZweCAxcHggcmdiYSgzMywgMTUzLCAyMzIsIDAuNSk7IH1cblxuLmhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBwYWRkaW5nOiAwLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIG1heC13aWR0aDogMTByZW0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwYTBhMGEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxNTkuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnRvcC1iYXIuc3RhY2tlZC1mb3IteHhsYXJnZSAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhci5zdGFja2VkLWZvci14eGxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLnRvcC1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5zaG93LWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIC5oaWRlLWZvci14bGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteGxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSBhbmQgKG1heC13aWR0aDogMTU5LjkzNzVlbSkge1xuICAuaGlkZS1mb3IteGxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDg5LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwZW0pIHtcbiAgLnNob3ctZm9yLXhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxNjBlbSkge1xuICAuaGlkZS1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTYwZW0pIHtcbiAgLmhpZGUtZm9yLXh4bGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMTU5LjkzNzVlbSkge1xuICAuc2hvdy1mb3IteHhsYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uc2hvdy1mb3Itc3IsXG4uc2hvdy1vbi1mb2N1cyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTsgfVxuXG4uc2hvdy1vbi1mb2N1czphY3RpdmUsIC5zaG93LW9uLWZvY3VzOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bzsgfVxuXG4uc2hvdy1mb3ItbGFuZHNjYXBlLFxuLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmhpZGUtZm9yLWxhbmRzY2FwZSxcbi5zaG93LWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLmZsb2F0LWxlZnQge1xuICBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1yaWdodCB7XG4gIGZsb2F0OiByaWdodCAhaW1wb3J0YW50OyB9XG5cbi5mbG9hdC1jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuXG4uY2xlYXJmaXg6OmJlZm9yZSwgLmNsZWFyZml4OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNsZWFyZml4OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjEuIEdsb2JhbFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5idXR0b24tZ3JvdXAgLmJ1dHRvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZlZmVmZTsgfVxuXG4uYWxlcnQtYmFubmVyLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZWQ7IH1cblxuLndhcm5pbmctYmFubmVyLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZkNDUxOyB9XG5cbi5ncmF5LWJhbm5lci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogd2hpdGU7IH1cblxuLndhcm5pbmctYmFubmVyLXdyYXBwZXIgLmNhbGxvdXQsXG4uYWxlcnQtYmFubmVyLXdyYXBwZXIgLmNhbGxvdXQsXG4uZ3JheS1iYW5uZXItd3JhcHBlciAuY2FsbG91dCB7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5hbGVydC1iYW5uZXItd3JhcHBlciAuY2FsbG91dCB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi53YXJuaW5nLWJhbm5lci13cmFwcGVyIC5jYWxsb3V0IHtcbiAgY29sb3I6ICM5NjA7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmdyYXktYmFubmVyLXdyYXBwZXIgLmNhbGxvdXQge1xuICBjb2xvcjogIzhhOGE4YTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5oci5kaXZpZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q2ZDZkNjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMHJlbTtcbiAgaGVpZ2h0OiAuMzVyZW07XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4uZGl2aWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiA0cHg7XG4gIGJhY2tncm91bmQ6ICNkNmQ2ZDY7IH1cblxuLmRpdmlkZXItdGhpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAycHg7XG4gIGJhY2tncm91bmQ6ICNkNmQ2ZDY7IH1cblxuaHIuZG90dGVkIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZDZkNmQ2OyB9XG5cbi5wYWdlci1sZWZ0IHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIGJhY2tncm91bmQ6ICMwMDNjNjk7IH1cblxuLnBhZ2luYXRpb24gYSxcbi5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gIGNvbG9yOiAjNTA1MDUwOyB9XG5cbi5wYWdpbmF0aW9uIGE6aG92ZXIsXG4ucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZkNDUxO1xuICBjb2xvcjogIzAwM2M2OTsgfVxuXG4ucGFuZWwge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBwYWRkaW5nOiAxLjVyZW07IH1cbiAgLnBhbmVsIHVsLCAucGFuZWwgb2wsIC5wYW5lbCB1bCB1bCwgLnBhbmVsIG9sIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYW5lbCBoMSwgLnBhbmVsIGgyLCAucGFuZWwgaDMsIC5wYW5lbCBoNCwgLnBhbmVsIC5wcm9kdWN0LXN1YmhlYWQsIC5wYW5lbCBoNSwgLnBhbmVsIGg2IHtcbiAgICBtYXJnaW4tdG9wOiAwOyB9XG4gIC5wYW5lbCBwOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ucGFuZWwtZGFyayB7XG4gIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIG1hcmdpbjogMCAwIDEuNXJlbTtcbiAgcGFkZGluZzogMS41cmVtOyB9XG4gIC5wYW5lbC1kYXJrIHVsLCAucGFuZWwtZGFyayBvbCwgLnBhbmVsLWRhcmsgdWwgdWwsIC5wYW5lbC1kYXJrIG9sIG9sIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5wYW5lbC1kYXJrIGgxLCAucGFuZWwtZGFyayBoMiwgLnBhbmVsLWRhcmsgaDMsIC5wYW5lbC1kYXJrIGg0LCAucGFuZWwtZGFyayAucHJvZHVjdC1zdWJoZWFkLCAucGFuZWwtZGFyayBoNSwgLnBhbmVsLWRhcmsgaDYge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLnBhbmVsLWRhcmsgcDpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuI3Njcm9sbFVwIHtcbiAgYm90dG9tOiAyMHB4O1xuICByaWdodDogMjBweDtcbiAgcGFkZGluZzogMTBweCAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjNTU1O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTE1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDE2MGVtKSB7XG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogMTMwJTsgfSB9XG5cbmgxLCBoMiwgaDMsXG5oNCxcbi5wcm9kdWN0LXN1YmhlYWQge1xuICBtYXJnaW46IDEuNDE0cmVtIDAgMC41cmVtOyB9XG5cbi5ncmF5IHtcbiAgY29sb3I6IGdyYXk7IH1cblxuc21hbGwsIC5mb250X3NtYWxsIHtcbiAgZm9udC1zaXplOiAwLjc1ZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5hdXRvLXVwZGF0ZSB7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTsgfVxuXG4ubGluZS1oZWlnaHQtc21hbGwge1xuICBsaW5lLWhlaWdodDogMS4xOyB9XG5cbi51cHBlcmNhc2Uge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi51bmF2YWlsYWJsZSB7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5wYmlibHVlIHtcbiAgY29sb3I6ICMwMDNjNjk7IH1cblxuLndoaXRlLFxuLndoaXRlIGEge1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ubm9ybWFsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4ubm8tbWFyZ2luLXRvcCB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLnBhZGRpbmctYm90dG9tIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTU3cmVtOyB9XG5cbi52YWxpZ24tbWlkZGxlIHtcbiAgZGlzcGxheTogdGFibGU7IH1cbiAgLnZhbGlnbi1taWRkbGUgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zdHJpa2Uge1xuICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgY29sb3I6ICNkNmQ2ZDY7IH1cblxuaDEuc2VhcmNoLXJlc3VsdHMtdGl0bGUge1xuICBjb2xvcjogIzhhOGE4YTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5zZWFyY2gtaGlnaGxpZ2h0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDQ1MTsgfVxuXG5zdXAge1xuICBmb250LXNpemU6IDYwJTtcbiAgdG9wOiAtMC40ZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZmxvYXQtbGVmdC1sYXJnZSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH0gfVxuXG4ubGFzdCB7XG4gIGJvcmRlcjogMDtcbiAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLm1hZ2VsbGFuLWNvbnRhaW5lciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1hZ2VsbGFuLWNvbnRhaW5lciB1bCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuXG4ucmFkaW8tbGlzdCBsaSB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLnJlZCB7XG4gIGNvbG9yOiByZWQ7IH1cblxuLmNsb3NlLWJ1dHRvbi1zbWFsbCB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ubG9naW4tbWVzc2FnZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDFyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ud3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7XG4gIHBhZGRpbmc6IDJyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndyYXBwZXIge1xuICAgICAgcGFkZGluZzogMy4xNTdyZW0gMDsgfSB9XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4udmlzdWFsbHloaWRkZW4sIC52aXN1YWxseS1oaWRkZW4sIC52aXN1YWxseUhpZGRlbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgbWFyZ2luOiAtMXB4O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4OyB9XG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLCAudmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmZvY3VzIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uaW52aXNpYmxlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbmhlYWRlciwgbWFpbiwgZm9vdGVyLCBzZWN0aW9uLCBhc2lkZSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLnNmUGFnZUVkaXRvciB0YWJsZSB0Ym9keSB7XG4gIGJvcmRlcjogMDtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuXG4uc2ZQYWdlRWRpdG9yIC5oaWRlLWZvci1sYXJnZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxudGFibGUudnRvcCB0ZCB7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxudGFibGUgdGQubm93cmFwIHtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4ucmV0YWJsZSBzdHJvbmcge1xuICBmb250LXdlaWdodDogNjAwOyB9XG5cbi5yZXRhYmxlIHRoZWFkIHtcbiAgYmFja2dyb3VuZDogbm9uZTsgfVxuICAucmV0YWJsZSB0aGVhZCB0aCB7XG4gICAgZm9udC1zaXplOiAwLjY1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAucmV0YWJsZSB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjZDZkNmQ2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5yZXRhYmxlIHRoZWFkIHRyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIGxlZnQ6IC05OTk5cHg7IH1cbiAgLnJldGFibGUgdHIge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG4gIC5yZXRhYmxlIHRkIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC41cmVtIDAuNXJlbSAwLjVyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnJldGFibGUgdGQucnQtYXV0byB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnJldGFibGUgdGQucnQtMTIge1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAucmV0YWJsZSB0ZC5ydC0yNSB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAucmV0YWJsZSB0ZC5ydC0zMyB7XG4gICAgd2lkdGg6IDMzJTsgfVxuICAucmV0YWJsZSB0ZC5ydC01MCB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAucmV0YWJsZSB0ZC5ydC04OCB7XG4gICAgd2lkdGg6IDg3LjUlOyB9XG4gIC5yZXRhYmxlIHRkLnJ0LTc1IHtcbiAgICB3aWR0aDogNzUlOyB9IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMi4gSWNvbnNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cbi5pY29uLXdyYXBwZXIsXG4uaWNvbi13cmFwcGVyLXhsYXJnZSxcbi5pY29uLXdyYXBwZXItbGFyZ2UsXG4uaWNvbi13cmFwcGVyLXNtYWxsLFxuLmljb24td3JhcHBlci14c21hbGwge1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMS41cmVtOyB9XG4gIC5pY29uLXdyYXBwZXIgaSwgLmljb24td3JhcHBlciBzcGFuLFxuICAuaWNvbi13cmFwcGVyLXhsYXJnZSBpLFxuICAuaWNvbi13cmFwcGVyLXhsYXJnZSBzcGFuLFxuICAuaWNvbi13cmFwcGVyLWxhcmdlIGksXG4gIC5pY29uLXdyYXBwZXItbGFyZ2Ugc3BhbixcbiAgLmljb24td3JhcHBlci1zbWFsbCBpLFxuICAuaWNvbi13cmFwcGVyLXNtYWxsIHNwYW4sXG4gIC5pY29uLXdyYXBwZXIteHNtYWxsIGksXG4gIC5pY29uLXdyYXBwZXIteHNtYWxsIHNwYW4ge1xuICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuN3JlbTtcbiAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9XG5cbi5pY29uLXdyYXBwZXIteGxhcmdlIHtcbiAgaGVpZ2h0OiA1cmVtO1xuICBsaW5lLWhlaWdodDogMy44O1xuICB3aWR0aDogNXJlbTsgfVxuICAuaWNvbi13cmFwcGVyLXhsYXJnZSBpLCAuaWNvbi13cmFwcGVyLXhsYXJnZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDIuMzY5cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiA1cmVtOyB9XG5cbi5pY29uLXdyYXBwZXItbGFyZ2Uge1xuICBoZWlnaHQ6IDIuM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiAyLjNyZW07IH1cbiAgLmljb24td3JhcHBlci1sYXJnZSBpLCAuaWNvbi13cmFwcGVyLWxhcmdlIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMC45cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjNyZW07IH1cblxuLmljb24td3JhcHBlci1zbWFsbCB7XG4gIGhlaWdodDogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiAxLjI1cmVtOyB9XG4gIC5pY29uLXdyYXBwZXItc21hbGwgaSwgLmljb24td3JhcHBlci1zbWFsbCBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNTVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cblxuLmljb24td3JhcHBlci14c21hbGwge1xuICBoZWlnaHQ6IC44NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiAuODVyZW07IH1cbiAgLmljb24td3JhcHBlci14c21hbGwgaSwgLmljb24td3JhcHBlci14c21hbGwgc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjQ1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjlyZW07IH1cblxuLmljb24yNCB7XG4gIHdpZHRoOiAxLjVyZW07XG4gIGhlaWdodDogMS41cmVtOyB9XG5cbi5pY29uNDgge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAzcmVtOyB9XG5cbi50cnVuY2F0ZSB7XG4gIHdpZHRoOiAyNTBweDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7IH1cblxuLnNtYWxsLWNhcmQtYnV0dG9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnNtYWxsLWNhcmQtYnV0dG9uIHtcbiAgICAgIG1hcmdpbi10b3A6IDFyZW07IH0gfVxuXG4uaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLFxuLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0yLFxuLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0zLFxuLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC00IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMS44cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkIGksIC5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQgc3BhbixcbiAgLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0yIGksXG4gIC5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMiBzcGFuLFxuICAuaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLTMgaSxcbiAgLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0zIHNwYW4sXG4gIC5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtNCBpLFxuICAuaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLTQgc3BhbiB7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIGZvbnQtc2l6ZTogMS43NzdyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuM3JlbTsgfVxuXG4uaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLTQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICAuaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLTQgaSwgLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC00IHNwYW4ge1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG4gIC5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtNDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG5cbi5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMixcbi5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMyB7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIC5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMiBpLCAuaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLTIgc3BhbixcbiAgLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0zIGksXG4gIC5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMyBzcGFuIHtcbiAgICBmb250LXNpemU6IDIuMzY5cmVtOyB9XG4gIC5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMjpob3ZlcixcbiAgLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0zOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMSk7IH1cblxuLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0zIGkge1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuNTsgfVxuXG4uZmF1eC1ib3JkZXIge1xuICBoZWlnaHQ6IDVweDsgfVxuXG4uaWNvbi13cmFwcGVyLWxpdmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjOGUyNGFhOyB9XG5cbi5pY29uLXdyYXBwZXItc2ltdWxjYXN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwODM4ZjsgfVxuXG4uaWNvbi13cmFwcGVyLXdlYmNhc3Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDUwMDAwOyB9XG5cbi5pY29uLXdyYXBwZXItd2ViaW5hciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxOTc2ZDI7IH1cblxuLmljb24td3JhcHBlci12aWRlbyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMGM4NTM7IH1cblxuLmljb24td3JhcHBlci1vbi1kZW1hbmQtdmlkZW8ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY0MDgxOyB9XG5cbi5pY29uLXdyYXBwZXItcG9kY2FzdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjZkMDA7IH1cblxuLmljb24td3JhcHBlci15ZWxsb3ctYm9vayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMGFkMDU7IH1cblxuLmljb24td3JhcHBlci1wYmktcHJlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzk0OWFiOyB9XG5cbi5pY29uLXdyYXBwZXItYXVkaW8tY2Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYmYzNjBjOyB9XG5cbi5pY29uLXdyYXBwZXItZWJvb2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjN0U5NkQ2OyB9XG5cbi5pY29uLXdyYXBwZXItZHZkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhkNmU2MzsgfVxuXG4uaWNvbi13cmFwcGVyLWUtZG9jIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY3M2FiNzsgfVxuXG4uaWNvbi13cmFwcGVyLWJvb2stb24tY2Qge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmU3ZDMyOyB9XG5cbi5pY29uLXdyYXBwZXItdXNiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzlFQTUxRTsgfVxuXG4uaWNvbi13cmFwcGVyLWRvd25sb2FkYWJsZS1ib29rIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzU0NmU3YTsgfVxuXG4uaWNvbi13cmFwcGVyLWNhbGVuZGFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzIxOTllODsgfVxuXG4uaWNvbi13cmFwcGVyLWVtYWlsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogZmlyZWJyaWNrOyB9XG5cbi5pY29uLXdyYXBwZXItYnVuZGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2JmMzYwYzsgfVxuXG4uaWNvbi13cmFwcGVyLXNjYWxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0RDRENEQzsgfVxuICAuaWNvbi13cmFwcGVyLXNjYWxlIGkge1xuICAgIGNvbG9yOiAjNjg2ODY4OyB9XG5cbi5pY29uLXdyYXBwZXItc2NhbGUtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuaWNvbi13cmFwcGVyLXNjYWxlLXdoaXRlIGkge1xuICAgIGNvbG9yOiAjNjg2ODY4OyB9XG5cbi5mb290ZXItdHdvIC5pY29uLXdyYXBwZXItdHdpdHRlcixcbi5mb290ZXItdHdvIC5pY29uLXdyYXBwZXItZmFjZWJvb2ssXG4uZm9vdGVyLXR3byAuaWNvbi13cmFwcGVyLWxpbmtlZGluLFxuLmZvb3Rlci10d28gLmljb24td3JhcHBlci1nb29nbGUtcGx1cyxcbi5mb290ZXItdHdvIC5pY29uLXdyYXBwZXIteW91dHViZSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTsgfVxuXG4uZm9vdGVyLXR3byAuaWNvbi10d2l0dGVyLFxuLmZvb3Rlci10d28gLmljb24tZmFjZWJvb2ssXG4uZm9vdGVyLXR3byAuaWNvbi1saW5rZWRpbixcbi5mb290ZXItdHdvIC5pY29uLWdvb2dsZS1wbHVzLFxuLmZvb3Rlci10d28gLmljb24teW91dHViZSB7XG4gIGNvbG9yOiAjMDAyZDUwOyB9XG4gIC5mb290ZXItdHdvIC5pY29uLXR3aXR0ZXI6aG92ZXIsXG4gIC5mb290ZXItdHdvIC5pY29uLWZhY2Vib29rOmhvdmVyLFxuICAuZm9vdGVyLXR3byAuaWNvbi1saW5rZWRpbjpob3ZlcixcbiAgLmZvb3Rlci10d28gLmljb24tZ29vZ2xlLXBsdXM6aG92ZXIsXG4gIC5mb290ZXItdHdvIC5pY29uLXlvdXR1YmU6aG92ZXIge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5pY29uLXdyYXBwZXItdHdpdHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM1NWFjZWU7IH1cbiAgLmljb24td3JhcHBlci10d2l0dGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODNjM2YzOyB9XG5cbi5pY29uLXdyYXBwZXItZmFjZWJvb2sge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4OyB9XG4gIC5pY29uLXdyYXBwZXItZmFjZWJvb2s6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0YzcwYmE7IH1cblxuLmljb24td3JhcHBlci1saW5rZWRpbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDc3YjU7IH1cbiAgLmljb24td3JhcHBlci1saW5rZWRpbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwOTllODsgfVxuXG4uaWNvbi13cmFwcGVyLWdvb2dsZS1wbHVzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2RkNGIzOTsgfVxuICAuaWNvbi13cmFwcGVyLWdvb2dsZS1wbHVzOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTQ3MzY1OyB9XG5cbi5pY29uLXdyYXBwZXIteW91dHViZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjZDIwMWY7IH1cbiAgLmljb24td3JhcHBlci15b3V0dWJlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTIzZTNkOyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjMuIENhcmRzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uY2FyZCB7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNhcmQsIC5saXN0aW5nLWNhcmQsXG4ubGlzdGluZy1jYXJkLWdyaWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgcGFkZGluZzogMS43NXJlbSAxLjc1cmVtIDEuNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuY2FyZDpob3ZlciwgLmxpc3RpbmctY2FyZDpob3ZlcixcbiAgLmxpc3RpbmctY2FyZC1ncmlkOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsIDAsIDAsIDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLCAwLCAwLCAwLjMpOyB9XG4gIC5jYXJkIC5oYXMtdGlwLCAubGlzdGluZy1jYXJkIC5oYXMtdGlwLFxuICAubGlzdGluZy1jYXJkLWdyaWQgLmhhcy10aXAge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmNhcmQtdGl0bGUge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsZXR0ZXItc3BhY2luZzogLTFweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMC41cmVtOyB9XG4gIC5jYXJkLXRpdGxlIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jYXJkLXRpdGxlIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBtaW4taGVpZ2h0OiA1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ubGlzdGluZy1jYXJkIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG4gIC5saXN0aW5nLWNhcmQgdGFibGUucHJvZHVjdC1wcmljZS1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogMC4yNXJlbTsgfVxuICAubGlzdGluZy1jYXJkIHRkLnByb2R1Y3QtcHJpY2UtYmxvY2stZGVzYyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGlzdGluZy1jYXJkIHRkLnByb2R1Y3QtcHJpY2UtYmxvY2stcHJpY2Uge1xuICAgIGZvbnQtc2l6ZTogMS4zNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMC42cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjZyZW07IH1cblxuLmxpc3RpbmctY2FyZC1tZXRhIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmxpc3RpbmctY2FyZC1tZXRhIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkNmQ2O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfSB9XG5cbi5saXN0aW5nLWNhcmQtc3VwcGxlbWVudGFsIHtcbiAgcGFkZGluZy1ib3R0b206IDAuNzVyZW07IH1cbiAgLmxpc3RpbmctY2FyZC1zdXBwbGVtZW50YWwgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubGlzdGluZy1jYXJkLXN1cHBsZW1lbnRhbCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuXG4ubGlzdGluZy1jYXJkLWV4Y2VycHQge1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNhcmQtYm90dG9tIC5saXN0aW5nLWNhcmQtcHVyY2hhc2Uge1xuICAgIGxlZnQ6IDEuNzVyZW07XG4gICAgcmlnaHQ6IDEuNzVyZW07XG4gICAgYm90dG9tOiAxLjc1cmVtOyB9IH1cblxuLmxpc3RpbmctY2FyZC1ncmlkIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uaGlnaGxpZ2h0ZWQtY2FyZCB7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAjZmZkNDUxOyB9XG5cbi5saXN0aW5nLWNhcmQtZGF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ubGlzdGluZy1jYXJkLXRpdGxlLFxuLnJlYy1saXN0aW5nLWNhcmQtdGl0bGUsXG4ucmVjLWxpc3RpbmctY2FyZC10aXRsZS0yIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIGZvbnQtc2l6ZTogMS43NzdyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgLmxpc3RpbmctY2FyZC10aXRsZSBhLFxuICAucmVjLWxpc3RpbmctY2FyZC10aXRsZSBhLFxuICAucmVjLWxpc3RpbmctY2FyZC10aXRsZS0yIGEge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLWNhcmQtdGl0bGUsXG4gICAgLnJlYy1saXN0aW5nLWNhcmQtdGl0bGUsXG4gICAgLnJlYy1saXN0aW5nLWNhcmQtdGl0bGUtMiB7XG4gICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ucmVjLWxpc3RpbmctY2FyZC10aXRsZS0yIHtcbiAgZm9udC1zaXplOiAxLjMzM3JlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ubGlzdGluZy1jYXJkLXN1YmhlYWRlciB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuLmxpc3RpbmctY2FyZC1mb3JtYXQtd3JhcHBlciB7XG4gIG1hcmdpbjogMXJlbSAwIDFyZW07IH1cblxuLmxpc3RpbmctY2FyZC1mb3JtYXQge1xuICBtYXJnaW46IDAuMjVyZW0gMCAwLjI1cmVtIDA7IH1cbiAgLmxpc3RpbmctY2FyZC1mb3JtYXQgLmljb24td3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDAuMXJlbSAwLjE1cmVtIDA7IH1cblxuLmxpc3RpbmctY2FyZC1jcmVkaXRzIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5saXN0aW5nLWNhcmQtY3JlZGl0cyBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLmxpc3RpbmctY2FyZC1yZWNvcmRlZCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luOiAwIDAgMC4yNXJlbSAwOyB9XG4gIC5saXN0aW5nLWNhcmQtcmVjb3JkZWQgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5saXN0aW5nLWNhcmQtcHVyY2hhc2Uge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5saXN0aW5nLWNhcmQtcHVyY2hhc2UgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgIGJveC1zaGFkb3c6IDBweCAycHggM3B4IHJnYmEoMCwgMCwgMCwgMC40KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5saXN0aW5nLWNhcmQge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAubGlzdGluZy1jYXJkIC5saXN0aW5nLWNhcmQtbWFpbiwgLmxpc3RpbmctY2FyZCAubGlzdGluZy1jYXJkLXB1cmNoYXNlIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLmxpc3RpbmctY2FyZCAubGlzdGluZy1jYXJkLWRhdGUge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAubGlzdGluZy1jYXJkIC5saXN0aW5nLWNhcmQtbWFpbiB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNzdyZW07XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgLmxpc3RpbmctY2FyZCAubGlzdGluZy1jYXJkLWZvcm1hdCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjZyZW07IH1cbiAgICAgIC5saXN0aW5nLWNhcmQgLmxpc3RpbmctY2FyZC1mb3JtYXQgLmljb24td3JhcHBlciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMC4ycmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMzVyZW07IH1cbiAgICAubGlzdGluZy1jYXJkIC5saXN0aW5nLWNhcmQtY3JlZGl0cyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGlzdGluZy1jYXJkIC5saXN0aW5nLWNhcmQtcmVjb3JkZWQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9XG4gICAgLmxpc3RpbmctY2FyZCAubGlzdGluZy1jYXJkLXB1cmNoYXNlIHtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2lkdGg6IDQwJTsgfVxuICAgIC5saXN0aW5nLWNhcmQgLmxpc3RpbmctY2FyZC1wcmljZS1saXN0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5saXN0aW5nLWNhcmQgLmxpc3RpbmctY2FyZC1tYWluIHtcbiAgICB3aWR0aDogNjUlOyB9XG4gIC5saXN0aW5nLWNhcmQgLmxpc3RpbmctY2FyZC1wdXJjaGFzZSB7XG4gICAgd2lkdGg6IDM1JTsgfVxuICAubGlzdGluZy1jYXJkIC5saXN0aW5nLWNhcmQtcHJpY2UtbGlzdCB7XG4gICAgd2lkdGg6IDM1JTsgfSB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjQuIEhlYWRlclxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuaGVhZGVyIHtcbiAgYm94LXNoYWRvdzogMCAxcHggOXB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA5OTk7IH1cblxuLmNhcnQtYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmNhcnQtcXR5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBtYXJnaW4tdG9wOiA0cHg7XG4gIG1hcmdpbi1yaWdodDogNHB4O1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDAwMDtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgcGFkZGluZzogNHB4IDNweCAycHggM3B4O1xuICBsaW5lLWhlaWdodDogMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLmJhbm5lciB7XG4gIGJhY2tncm91bmQ6ICMwMDNjNjk7XG4gIHBhZGRpbmctdG9wOiAwLjdyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmFubmVyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9IH1cblxuLm1vYmlsZS1tYWluLWxpbmtzIHtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMC42NXJlbTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubW9iaWxlLW1haW4tbGlua3MgPiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcbiAgICBwYWRkaW5nOiAwIDAgMC41cmVtOyB9XG4gIC5tb2JpbGUtbWFpbi1saW5rcyBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5tb2JpbGUtbWFpbi1saW5rcyBpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDIuMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4wOHJlbTsgfVxuXG4ubW9iaWxlLXV0aWxpdHktbmF2IHtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubW9iaWxlLXV0aWxpdHktbmF2ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW0gMC43NXJlbTsgfVxuICAubW9iaWxlLXV0aWxpdHktbmF2IGEge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLm1vYmlsZS11dGlsaXR5LW5hdiBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMSk7IH1cbiAgLm1vYmlsZS11dGlsaXR5LW5hdiBpLCAubW9iaWxlLXV0aWxpdHktbmF2IHNwYW5bY2xhc3MqPVwiaWNvbi1cIl0ge1xuICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTsgfVxuXG4udXRpbGl0eS1uYXYge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4udXRpbGl0eS1uYXYgLm1lbnUgPiBsaSA+IGEge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgb3BhY2l0eTogMC43O1xuICBwYWRkaW5nOiAwLjZyZW07IH1cbiAgLnV0aWxpdHktbmF2IC5tZW51ID4gbGkgPiBhOmhvdmVyLCAudXRpbGl0eS1uYXYgLm1lbnUgPiBsaSA+IGE6YWN0aXZlLCAudXRpbGl0eS1uYXYgLm1lbnUgPiBsaSA+IGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjMjE5OWU4O1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLm1vYmlsZS1sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDM1cHg7XG4gIHdpZHRoOiA2MHB4O1xuICBtYXJnaW4tdG9wOiAwLjI1cmVtO1xuICBtYXJnaW4tbGVmdDogMC4zcmVtO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL3BiaS1sZXR0ZXJtYXJrLXdoaXRlLnBuZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpLCB1cmwoLi4vaW1nL3BiaS1sZXR0ZXJtYXJrLXdoaXRlLnN2Zyk7XG4gIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4ubG9nbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAzLjNyZW07XG4gIHdpZHRoOiAxNS42MjVyZW07XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcGJpLWxvZ28td2hpdGUucG5nKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCksIHVybCguLi9pbWcvcGJpLWxvZ28td2hpdGUuc3ZnKTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5oYW1idXJnZXItbGFiZWwge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYmFubmVyLXNlYXJjaC1mb3JtIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYmFubmVyLXNlYXJjaC1mb3JtIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuN3JlbTsgfSB9XG5cbi5iYW5uZXItc2VhcmNoLWZvcm0gc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjtcbiAgY29sb3I6ICM4YThhOGE7XG4gIGZvbnQtc2l6ZTogMC41N3JlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLmJhbm5lci1zZWFyY2gtZm9ybSBzZWxlY3Qge1xuICAgICAgZm9udC1zaXplOiAuN3JlbTsgfSB9XG5cbi5iYW5uZXItc2VhcmNoLWZvcm0gaW5wdXQge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGhlaWdodDogMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uYmFubmVyLXNlYXJjaC1mb3JtIC5idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkNDUxO1xuICBjb2xvcjogIzMzMztcbiAgaGVpZ2h0OiAycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjZyZW0gMDsgfVxuXG4vKi5hY2NvdW50LW5hdiBhIHtcclxuXHRjb2xvcjogJHdoaXRlO1xyXG5cdC8vZm9udC1zaXplOiAwLjlyZW07XHJcblx0Ly8gbWFyZ2luLXRvcDogMC4yNXJlbTtcclxuXHRwYWRkaW5nLWxlZnQ6IDAuMnJlbSAhaW1wb3J0YW50O1xyXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuXHRcdGNvbG9yOiBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAxNSUpO1xyXG5cdH1cclxufSovXG4uYWNjb3VudC1uYXYgbGkge1xuICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5oZWxsbyB7XG4gIGNvbG9yOiAjMjE5OWU4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWxsbyB7XG4gICAgICBjb2xvcjogI2ZmZDQ1MTsgfSB9XG5cbi5hY2NvdW50LW5hdiAuZHJvcGRvd24tcGFuZSBhIHtcbiAgY29sb3I6ICMwMDNjNjk7IH1cbiAgLmFjY291bnQtbmF2IC5kcm9wZG93bi1wYW5lIGE6aG92ZXIge1xuICAgIGNvbG9yOiAjMjE5OWU4OyB9XG5cbiNhY2NvdW50LWRyb3Bkb3duID4gdWwge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICNhY2NvdW50LWRyb3Bkb3duID4gdWwgbGkge1xuICAgIHBhZGRpbmc6IDAuMzVyZW0gMDsgfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG41LiBOYXZpZ2F0aW9uXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ucHJpbWFyeS1uYXYtd3JhcHBlciB7XG4gIGJvcmRlci10b3A6IDRweCBzb2xpZCAjZmZkNDUxOyB9XG5cbi5wcmltYXJ5LW5hdiB7XG4gIGZvbnQtc2l6ZTogMC44NWVtO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5wcmltYXJ5LW5hdi1tZW51IHtcbiAgZGlzcGxheTogdGFibGU7XG4gIG1hcmdpbjogMCBhdXRvO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHJpbWFyeS1uYXYgLm1lbnUgPiBsaSA+IGEge1xuICBjb2xvcjogIzAwM2M2OTtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgcGFkZGluZzogMS41cmVtIDEuNHJlbSAxLjI1cmVtIDEuNHJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5wcmltYXJ5LW5hdiAubWVudSA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAxLjc1cmVtIDJyZW0gMS4yNXJlbSAycmVtOyB9IH1cblxuLnByaW1hcnktbmF2IC5tZW51ID4gbGk6bm90KDpmaXJzdC1jaGlsZCkgPiBhOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBiYWNrZ3JvdW5kOiAjRENEQ0RDO1xuICB3aWR0aDogMXB4O1xuICB0b3A6IDEwcHg7XG4gIGJvdHRvbTogMTBweDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5wcmltYXJ5LW5hdi1tZW51ID4gbGkgPiBhOmhvdmVyLCAucHJpbWFyeS1uYXYtbWVudSA+IGxpID4gYS5ob3ZlciwgLnByaW1hcnktbmF2LW1lbnUgPiBsaSA+IGE6Zm9jdXMsIC5wcmltYXJ5LW5hdi1tZW51ID4gbGkgPiBhLmFjdGl2ZSB7XG4gIGNvbG9yOiAjMjE5OWU4OyB9XG5cbi5wcmltYXJ5LW5hdi1tZW51ID4gbGkgPiBhOmhvdmVyOmFmdGVyLCAucHJpbWFyeS1uYXYtbWVudSA+IGxpID4gYS5ob3ZlcjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA0MCU7XG4gIGJvdHRvbTogLTAuNzVyZW07XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci10b3A6IDEycHggc29saWQgI2ZmZDQ1MTtcbiAgYm9yZGVyLXJpZ2h0OiAxNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItYm90dG9tOiAwIHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgei1pbmRleDogMTAwNTsgfVxuXG4ucHJpbWFyeS1uYXYtbWVudSA+IGxpOmFmdGVyIHtcbiAgYm9yZGVyLXRvcDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1OyB9XG5cbi5wcmltYXJ5LW5hdi1tZW51ID4gbGk6aG92ZXI6YWZ0ZXIge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgI2ZmZDQ1MTsgfVxuXG4ucHJpbWFyeS1uYXYtcm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbSAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4ucHJpbWFyeS1uYXYgLmRyb3Bkb3duLXBhbmUge1xuICBib3JkZXItdG9wOiA0cHggc29saWQgI2ZmZDQ1MTtcbiAgYm9yZGVyLXJpZ2h0OiBub25lO1xuICBib3JkZXItbGVmdDogbm9uZTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIGJveC1zaGFkb3c6IDAgNHB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBwYWRkaW5nOiAwIDEuNXJlbSAxLjI1cmVtIDEuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIG9wYWNpdHk6IDA7XG4gIG1heC1oZWlnaHQ6IDAgIWltcG9ydGFudDtcbiAgdHJhbnNpdGlvbjogbWF4LWhlaWdodCAwLjRzIGVhc2UtaW4tb3V0LFxyIHBhZGRpbmctdG9wIDAuNHMgZWFzZS1pbi1vdXQsIFxyIG9wYWNpdHkgMC40cyBlYXNlLWluLW91dDsgfVxuICAucHJpbWFyeS1uYXYgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgbWF4LWhlaWdodDogODByZW0gIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXRvcDogMXJlbTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5wcmltYXJ5LW5hdiAuZHJvcGRvd24tcGFuZSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLnByaW1hcnktbmF2IC5kcm9wZG93bi1wYW5lIHVsIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAuMzVyZW0gMDtcbiAgICAgIGZvbnQtc2l6ZTogLjg1cmVtOyB9XG4gIC5wcmltYXJ5LW5hdiAuZHJvcGRvd24tcGFuZSBhIHtcbiAgICBjb2xvcjogIzAwM2M2OTsgfVxuICAucHJpbWFyeS1uYXYgLmRyb3Bkb3duLXBhbmUgYTpob3ZlciwgLnByaW1hcnktbmF2IC5kcm9wZG93bi1wYW5lIGEuaG92ZXIsIC5wcmltYXJ5LW5hdiAuZHJvcGRvd24tcGFuZSBhOmhvdmVyLCAucHJpbWFyeS1uYXYgLmRyb3Bkb3duLXBhbmUgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjMjE5OWU4OyB9XG4gIC5wcmltYXJ5LW5hdiAuZHJvcGRvd24tcGFuZSBsYWJlbCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC1zaXplOiAwLjhyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cbiAgLm9mZi1jYW52YXMgLmlzLWRyaWxsZG93biB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgLm9mZi1jYW52YXMgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmOyB9XG4gIC5vZmYtY2FudmFzIC5qcy1kcmlsbGRvd24tYmFjazo6YmVmb3JlIHtcbiAgICBtYXJnaW4tdG9wOiAyMXB4OyB9XG4gIC5vZmYtY2FudmFzIGxpLnRpdGxlIHtcbiAgICBjb2xvcjogIzAwM2M2OTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAub2ZmLWNhbnZhcyBsaSBhIHtcbiAgICBjb2xvcjogIzYxNjE2MTsgfVxuICAub2ZmLWNhbnZhcyAubWVudSA+IGxpOm5vdCgubWVudS10ZXh0KSA+IGEge1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTsgfVxuICAgIC5vZmYtY2FudmFzIC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSBpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAub2ZmLWNhbnZhcyBsaS5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQsIC5vZmYtY2FudmFzIGxpLmlzLWRyaWxsZG93bi1zdWJtZW51LWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJkYmRiOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzhhOGE4YTsgfVxuXG4ub2ZmLWNhbnZhcy1oZWxwLWxpbmtzIHtcbiAgbWFyZ2luLXRvcDogMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS4zcmVtOyB9XG4gIC5vZmYtY2FudmFzLWhlbHAtbGlua3MgYSB7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMTI1cmVtICFpbXBvcnRhbnQ7IH1cblxuLnNpZGUtbmF2IHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG4uc2lkZS1uYXYgbGkge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VmZWZlZjsgfVxuXG4uc2lkZS1uYXYgbGkgYSB7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC5zaWRlLW5hdiBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogIzIxOTllODsgfVxuXG4uc2lkZS1uYXYubWVudSAuYWN0aXZlID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjZDZkNmQ2OyB9XG5cbi5xdWljay1saW5rLWNhbGVuZGFyLFxuLnF1aWNrLWxpbmstb24tZGVtYW5kLFxuLnF1aWNrLWxpbmstYm9vayB7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNyk7IH1cbiAgLnF1aWNrLWxpbmstY2FsZW5kYXIgLmljb24tY2FsZW5kYXIsXG4gIC5xdWljay1saW5rLWNhbGVuZGFyIC5pY29uLW9uLWRlbWFuZC12aWRlbyxcbiAgLnF1aWNrLWxpbmstY2FsZW5kYXIgLmljb24tYm9vayxcbiAgLnF1aWNrLWxpbmstb24tZGVtYW5kIC5pY29uLWNhbGVuZGFyLFxuICAucXVpY2stbGluay1vbi1kZW1hbmQgLmljb24tb24tZGVtYW5kLXZpZGVvLFxuICAucXVpY2stbGluay1vbi1kZW1hbmQgLmljb24tYm9vayxcbiAgLnF1aWNrLWxpbmstYm9vayAuaWNvbi1jYWxlbmRhcixcbiAgLnF1aWNrLWxpbmstYm9vayAuaWNvbi1vbi1kZW1hbmQtdmlkZW8sXG4gIC5xdWljay1saW5rLWJvb2sgLmljb24tYm9vayB7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gIC5xdWljay1saW5rLWNhbGVuZGFyIC5saXN0aW5nLWNhcmQtdGl0bGUsXG4gIC5xdWljay1saW5rLW9uLWRlbWFuZCAubGlzdGluZy1jYXJkLXRpdGxlLFxuICAucXVpY2stbGluay1ib29rIC5saXN0aW5nLWNhcmQtdGl0bGUge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuXG4uZmVhdHVyZWQgLmljb24taW4tcGVyc29uIHtcbiAgZm9udC1zaXplOiAzcmVtOyB9XG5cbi5xdWljay1saW5rLWNhbGVuZGFyIHtcbiAgYmFja2dyb3VuZDogIzEyNmVhYjtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5xdWljay1saW5rLWNhbGVuZGFyIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZWZlZmU7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZlZmVmZTsgfSB9XG5cbi5xdWljay1saW5rLW9uLWRlbWFuZCB7XG4gIGJhY2tncm91bmQ6ICNmMzAwNTM7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZmVmZWZlO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2ZlZmVmZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnF1aWNrLWxpbmstb24tZGVtYW5kIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmZWZlZmU7IH0gfVxuXG4ucXVpY2stbGluay1ib29rIHtcbiAgYmFja2dyb3VuZDogI2U2YTYwNTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZWZlZmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5xdWljay1saW5rLWJvb2sge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmZWZlZmU7IH0gfVxuXG4ucXVpY2stbGluay1jYWxlbmRhcjpob3ZlciB7XG4gIGJhY2tncm91bmQ6ICMyMTk5ZTg7IH1cblxuLnF1aWNrLWxpbmstb24tZGVtYW5kOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNDA4MTsgfVxuXG4ucXVpY2stbGluay1ib29rOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI2QyOTcwNDsgfVxuXG4ucXVpY2stbGluayB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogbm9uZTtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMCwgMCwgMCwgMC43KTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnF1aWNrLWxpbmsgLnRpdGxlIHtcbiAgbWFyZ2luOiAwLjVyZW0gMCAwLjI1cmVtIDA7XG4gIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMS43NzdyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5xdWljay1saW5rLmJsdWUge1xuICBiYWNrZ3JvdW5kOiAjMTI2ZWFiOyB9XG5cbi5xdWljay1saW5rLnBpbmsge1xuICBiYWNrZ3JvdW5kOiAjZjMwMDUzOyB9XG5cbi5xdWljay1saW5rLm9yYW5nZSB7XG4gIGJhY2tncm91bmQ6ICNkMjk3MDQ7IH1cblxuYS5xdWljay1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuYS5xdWljay1saW5rOmhvdmVyLFxuYS5xdWljay1saW5rOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogI2ZmZjsgfVxuXG5hLnF1aWNrLWxpbmsuYmx1ZTpob3ZlcixcbmEucXVpY2stbGluay5ibHVlOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogIzIxOTllODsgfVxuXG5hLnF1aWNrLWxpbmsucGluazpob3ZlcixcbmEucXVpY2stbGluay5waW5rOmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI2ZmNDA4MTsgfVxuXG5hLnF1aWNrLWxpbmsub3JhbmdlOmhvdmVyLFxuYS5xdWljay1saW5rLm9yYW5nZTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNkMjk3MDQ7IH1cblxuLnF1aWNrLWxpbmstbGlzdGluZyAucXVpY2stbGluayB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGJvcmRlci1yaWdodDogMDsgfVxuXG4ucXVpY2stbGluay1saXN0aW5nID4gZGl2OmZpcnN0LWNoaWxkIC5xdWljay1saW5rIHtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnF1aWNrLWxpbmstbGlzdGluZyA+IGRpdjpudGgtY2hpbGQoM24pIC5xdWljay1saW5rIHtcbiAgYm9yZGVyLXJpZ2h0OiAwOyB9XG5cbi5vdGhlci1icm93c2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDZkNmQ2O1xuICBjb2xvcjogIzNEM0MzQTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjNWMxYjM7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjYzVjMWIzOyB9XG5cbi5vdGhlci1icm93c2UgcCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMXJlbSAwOyB9XG5cbi5vdGhlci1icm93c2UgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ub3RoZXItYnJvd3NlIGE6aG92ZXIge1xuICBjb2xvcjogIzIxOTllODtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbiNsb2NhdGlvbnMtc3RpY2t5LW5hdiB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgYmFja2dyb3VuZDogI2VmZWZlZjtcbiAgbWFyZ2luLXRvcDogMnJlbTtcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xuICBmb250LXNpemU6IDAuODVyZW07IH1cbiAgI2xvY2F0aW9ucy1zdGlja3ktbmF2IHVsIHtcbiAgICBtYXJnaW4tdG9wOiAwLjc1cmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAtMXJlbTsgfVxuICAjbG9jYXRpb25zLXN0aWNreS1uYXYgLnN0aWNreSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiAjZWZlZmVmOyB9XG4gICNsb2NhdGlvbnMtc3RpY2t5LW5hdiBuYXYgYSB7XG4gICAgY29sb3I6ICM2ODY4Njg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjM1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4zNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI2xvY2F0aW9ucy1zdGlja3ktbmF2IG5hdiBhOmhvdmVyLCAjbG9jYXRpb25zLXN0aWNreS1uYXYgbmF2IGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgI2xvY2F0aW9ucy1zdGlja3ktbmF2IGEuYWN0aXZlIHtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuXG4jbG9jYXRpb25zLXN0aWNreS1uYXYge1xuICBwYWRkaW5nOiAwOyB9XG4gICNsb2NhdGlvbnMtc3RpY2t5LW5hdiBuYXYgYSB7XG4gICAgcGFkZGluZzogMXJlbSAwLjU2cmVtOyB9XG4gICNsb2NhdGlvbnMtc3RpY2t5LW5hdiB1bC5sb2NhdGlvbnMtc3ViLW5hdiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHJvZHVjdC1zdGlja3ktbmF2LXdyYXBwZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAucHJvZHVjdC1zdGlja3ktbmF2LXdyYXBwZXIgLnN0aWNreSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4ucHJvZHVjdC1zdGlja3ktbmF2IGEge1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkNmQ2ZDY7XG4gIGNvbG9yOiAjNzY3Njc2O1xuICBwYWRkaW5nOiAxLjE1cmVtIDFyZW0gIWltcG9ydGFudDsgfVxuICAucHJvZHVjdC1zdGlja3ktbmF2IGE6aG92ZXIsIC5wcm9kdWN0LXN0aWNreS1uYXYgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnByb2R1Y3Qtc3RpY2t5LW5hdiBhLmFjdGl2ZSB7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5zdGlja3kuc3RpY2t5LXRpdGxlLWJhciB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zdGlja3kuc3RpY2t5LXRpdGxlLWJhciB7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgIC5zdGlja3kuc3RpY2t5LXRpdGxlLWJhciB7XG4gICAgICBwYWRkaW5nLXRvcDogNC4ycmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuOHJlbTsgfSB9XG4gIC5zdGlja3kuc3RpY2t5LXRpdGxlLWJhciAuY2hvb3NlLW1lc3NhZ2Uge1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbi1ib3R0b206IC0wLjVyZW07IH1cbiAgLnN0aWNreS5zdGlja3ktdGl0bGUtYmFyIC5idXR0b24tcmVnaXN0ZXIge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrLnN0aWNreS10aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAjNjE2MTYxO1xuICBib3gtc2hhZG93OiAwIDFweCA5cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICBwYWRkaW5nOiAwLjVyZW0gMCAwLjc1cmVtIDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5zdGlja3ktdGl0bGUtYmFyIC5jaG9vc2UtbWVzc2FnZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLnN0aWNreS10aXRsZS1iYXIgLmJ1dHRvbi1yZWdpc3RlciB7XG4gICAgbWFyZ2luLXRvcDogMC4zNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0aWNreS5pcy1zdHVjay5zdGlja3ktdGl0bGUtYmFyIC5idXR0b24tcmVnaXN0ZXIge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiA2NSU7IH0gfVxuXG4uc3RpY2t5LXRpdGxlLWJhciBoMS5wcm9kdWN0LXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuc3RpY2t5LXRpdGxlLWJhciBoMS5wcm9kdWN0LXRpdGxlIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4uc3RpY2t5LmlzLXN0dWNrIGgxLnByb2R1Y3QtdGl0bGUge1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogNjAwO1xuICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5zdGlja3kuaXMtc3R1Y2sgaDEucHJvZHVjdC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDsgfVxuXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBDYXRhbG9nXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG5oMS5jYXRhbG9nLXBhZ2UtdGl0bGUge1xuICBjb2xvcjogIzczNzM3MztcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIG1hcmdpbjogMC41cmVtIDAgMS4yNXJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIGgxLmNhdGFsb2ctcGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi5jYXRhbG9nLWZpbHRlcnMtaGVhZGluZyB7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNhdGFsb2ctZmlsdGVycy1tb2JpbGUgLmFjY29yZGlvbi10aXRsZSB7XG4gIGJvcmRlci1ib3R0b206IG5vbmU7IH1cblxuLmNhdGFsb2ctZmlsdGVycy1tb2JpbGUgbGVnZW5kIHtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtOyB9XG5cbi5jYXRhbG9nLWZpbHRlcnMtbW9iaWxlIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41OyB9XG5cbi5jYXRhbG9nLWZpbHRlcnMtbW9iaWxlIC5pY29uLXdyYXBwZXItc21hbGwsIC5jYXRhbG9nLWZpbHRlcnMtbW9iaWxlIC5pY29uLXdyYXBwZXItc21hbGwgaSB7XG4gIGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDsgfVxuXG4uY2F0YWxvZy1maWx0ZXJzLWRlc2t0b3Age1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAuY2F0YWxvZy1maWx0ZXJzLWRlc2t0b3AgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMS4zMzNyZW0gMDsgfVxuICAuY2F0YWxvZy1maWx0ZXJzLWRlc2t0b3AgbGVnZW5kIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBmb250LXdlaWdodDogNjAwOyB9XG4gIC5jYXRhbG9nLWZpbHRlcnMtZGVza3RvcCBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjNjE2MTYxOyB9XG4gIC5jYXRhbG9nLWZpbHRlcnMtZGVza3RvcCBsYWJlbDpob3ZlciB7XG4gICAgY29sb3I6IGJsYWNrOyB9XG4gIC5jYXRhbG9nLWZpbHRlcnMtZGVza3RvcCBociB7XG4gICAgbWFyZ2luOiAwLjc1cmVtIDA7IH1cbiAgLmNhdGFsb2ctZmlsdGVycy1kZXNrdG9wIC5pY29uLXdyYXBwZXItc21hbGwsIC5jYXRhbG9nLWZpbHRlcnMtZGVza3RvcCAuaWNvbi13cmFwcGVyLXNtYWxsIGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDsgfVxuXG4uY2F0YWxvZy1maWx0ZXJzLW1vYmlsZSB7XG4gIGJvcmRlcjogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5jYXRhbG9nLWZpbHRlcnMtbW9iaWxlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSwgLmNhdGFsb2ctZmlsdGVycy1kZXNrdG9wIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIG1hcmdpbi1yaWdodDogMC4zcmVtOyB9XG5cbi5jYXRhbG9nLWZpbHRlcnMtbW9iaWxlIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgbGFiZWwsXG4uY2F0YWxvZy1maWx0ZXJzLW1vYmlsZSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IGxhYmVsLCAuY2F0YWxvZy1maWx0ZXJzLWRlc2t0b3AgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbCxcbi5jYXRhbG9nLWZpbHRlcnMtZGVza3RvcCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IGxhYmVsIHtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7IH1cblxuLmNhdGFsb2ctZmlsdGVycy1tb2JpbGUgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIH4gbGFiZWwsIC5jYXRhbG9nLWZpbHRlcnMtZGVza3RvcCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gfiBsYWJlbCB7XG4gIG1hcmdpbi1sZWZ0OiAwLjNyZW07IH1cblxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgbWFyZ2luOiAwIDAuNTYzcmVtIDAgMDsgfVxuXG4uY2F0YWxvZy10ZXh0LWlucHV0IHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBoZWlnaHQ6IDEuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZzogMC4yNXJlbTsgfVxuXG4ueW91ci1zZWxlY3Rpb25zIHtcbiAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcbiAgZm9udC1zaXplOiAwLjg1cmVtOyB9XG4gIC55b3VyLXNlbGVjdGlvbnMgbGVnZW5kIHtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnlvdXItc2VsZWN0aW9ucyB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9IH1cblxuLmNsZWFyLXNlbGVjdGlvbnMge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5jYXRhbG9nLXNlbGVjdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICBwYWRkaW5nOiAuNXJlbSAwLjc1cmVtOyB9XG5cbi5tb2JpbGUtZmFjZXQtYWNjb3JkaW9uIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cbiAgLm1vYmlsZS1mYWNldC1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDA7IH1cbiAgLm1vYmlsZS1mYWNldC1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLm1vYmlsZS1mYWNldC1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLm1vYmlsZS1mYWNldC1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNnJlbTsgfVxuICAubW9iaWxlLWZhY2V0LWFjY29yZGlvbiAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICAubW9iaWxlLWZhY2V0LWFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0uaXMtYWN0aXZlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuXG4ubGlzdGluZy1zaWduLWluLXByb21wdCB7XG4gIGJhY2tncm91bmQ6ICNmMWY5ZmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNhY2Q5ZjY7XG4gIGZsb2F0OiBsZWZ0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5saXN0aW5nLXNpZ24taW4tcHJvbXB0IHtcbiAgICAgIGNsZWFyOiBib3RoOyB9IH1cblxuLmxpc3Rpbmctc29ydCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxpc3Rpbmctc29ydCBsYWJlbCwgLmxpc3Rpbmctc29ydCBzZWxlY3Qge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDAuOHJlbTsgfVxuICAubGlzdGluZy1zb3J0IGxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMnJlbTsgfVxuICAubGlzdGluZy1zb3J0IHNlbGVjdCB7XG4gICAgaGVpZ2h0OiAxLjhyZW07XG4gICAgbWFyZ2luOiAwLjVyZW0gMCAwLjVyZW0gMDtcbiAgICBwYWRkaW5nOiAwLjNyZW07IH1cbiAgICAubGlzdGluZy1zb3J0IHNlbGVjdC5zb3J0LWJ5IHtcbiAgICAgIHdpZHRoOiAxMXJlbTsgfVxuICAgIC5saXN0aW5nLXNvcnQgc2VsZWN0LnNob3ctcGVyLXBhZ2Uge1xuICAgICAgd2lkdGg6IDZyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5saXN0aW5nLXNvcnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9IH1cblxuLmxpc3RpbmctcGFnaW5hdGlvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogMC41cmVtIDAgMnJlbSAwOyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjcuIFByb2R1Y3RzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ucGFnZS1oZWFkaW5nLXdyYXBwZXIsIC5wYWdlLWhlYWRpbmctd3JhcHBlci1ib3JkZXJlZCB7XG4gIHBhZGRpbmctdG9wOiAxLjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWhlYWRpbmctd3JhcHBlciwgLnBhZ2UtaGVhZGluZy13cmFwcGVyLWJvcmRlcmVkIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDNyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnBhZ2UtaGVhZGluZy13cmFwcGVyLCAucGFnZS1oZWFkaW5nLXdyYXBwZXItYm9yZGVyZWQge1xuICAgICAgcGFkZGluZy10b3A6IDQuMnJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzLjhyZW07IH0gfVxuXG4ucGFnZS1oZWFkaW5nLXdyYXBwZXItYm9yZGVyZWQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjsgfVxuXG4ucGFnZS1oZWFkaW5nLXdyYXBwZXItdGlnaHQge1xuICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDFyZW07IH1cblxuLnByb2R1Y3QtdGl0bGUge1xuICBmb250LXNpemU6IDJyZW07XG4gIGxldHRlci1zcGFjaW5nOiAtMXB4O1xuICBtYXJnaW4tdG9wOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDAuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDMuMTU3cmVtOyB9IH1cblxuLnByb2R1Y3Qtc3ViaGVhZCB7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnByb2R1Y3QtZm9ybWF0LXdyYXBwZXIge1xuICBmb250LXNpemU6IDAuODVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LWZvcm1hdC13cmFwcGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkNmQ2O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC1mb3JtYXQtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7IH0gfVxuXG4ucHJvZHVjdC1mb3JtYXQtd3JhcHBlciBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnByb2R1Y3QtZm9ybWF0LXdyYXBwZXIgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5wcm9kdWN0LWNyZWRpdHMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgZm9udC1zaXplOiAwLjg1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBwYWRkaW5nLWJvdHRvbTogMS4ycmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucHJvZHVjdC1jcmVkaXRzIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnByb2R1Y3QtY3JlZGl0cyB7XG4gICAgICBmb250LXNpemU6IGluaGVyaXQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnByb2R1Y3QtY3JlZGl0cyB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS4wNXJlbTsgfSB9XG5cbi5wcm9kdWN0LXByaWNlLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC1wcmljZS13cmFwcGVyIGEuYnV0dG9uIHtcbiAgYm9yZGVyOiBub25lO1xuICBib3gtc2hhZG93OiAwcHggMnB4IDNweCByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wcm9kdWN0LXByaWNlLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDE0cmVtOyB9XG4gIC5wcm9kdWN0LXByaWNlLWxpc3QgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucHJvZHVjdC11c2VyLXByaWNlIHtcbiAgZm9udC1zaXplOiAxLjFyZW07XG4gIGZvbnQtd2VpZ2h0OiA4MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA5MGVtKSB7XG4gICAgLnByb2R1Y3QtdXNlci1wcmljZSB7XG4gICAgICBmb250LXNpemU6IDEuM3JlbTsgfSB9XG4gIC5wcm9kdWN0LXVzZXItcHJpY2UgLnN0cmlrZSB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1zaXplOiAwLjg1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgb3BhY2l0eTogMC41OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogOTBlbSkge1xuICAgICAgLnByb2R1Y3QtdXNlci1wcmljZSAuc3RyaWtlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjJyZW07IH0gfVxuXG4ucHJvZHVjdC1wYWdlLXNlY3Rpb25zIHNlY3Rpb24ge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q2ZDZkNjtcbiAgcGFkZGluZy10b3A6IDFyZW07XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG5cbi5wcm9kdWN0LXNlY3Rpb24taGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NXJlbTsgfVxuXG4ucHJvZHVjdC1vdGhlci1vcHRpb25zIGxpIHtcbiAgcGFkZGluZzogMC4xNXJlbSAwOyB9XG5cbi5wcm9kdWN0LW1vcmUtZm9ybWF0cy1hY2NvcmRpb24ge1xuICBib3JkZXI6IG5vbmU7IH1cbiAgLnByb2R1Y3QtbW9yZS1mb3JtYXRzLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgIGNvbG9yOiAjMGEwYTBhO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDEuN3JlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLnByb2R1Y3QtbW9yZS1mb3JtYXRzLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwZDdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBwYmljb25zO1xuICAgICAgbGVmdDogMC41cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNnJlbTsgfVxuICAgIC5wcm9kdWN0LW1vcmUtZm9ybWF0cy1hY2NvcmRpb24gLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLnByb2R1Y3QtbW9yZS1mb3JtYXRzLWFjY29yZGlvbiAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wcm9kdWN0LW1vcmUtZm9ybWF0cy1hY2NvcmRpb24gLmlzLWFjdGl2ZSA+IC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZjBkOSc7XG4gICAgZm9udC1mYW1pbHk6IHBiaWNvbnM7XG4gICAgbWFyZ2luLXRvcDogLTAuNnJlbTsgfVxuICAucHJvZHVjdC1tb3JlLWZvcm1hdHMtYWNjb3JkaW9uIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxLjY1cmVtOyB9XG5cbi5wcm9kdWN0LWFsc28tYXZhaWxhYmxlIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnByb2R1Y3QtYWxzby1hdmFpbGFibGUgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwYWRkaW5nLXRvcDogMC4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjY1cmVtOyB9XG4gICAgLnByb2R1Y3QtYWxzby1hdmFpbGFibGUgbGk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjY1cmVtOyB9XG4gIC5wcm9kdWN0LWFsc28tYXZhaWxhYmxlIC5oYXMtdGlwIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lOyB9XG5cbi5wcm9kdWN0LWFsc28tYXZhaWxhYmxlLXN1YmhlYWQge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cblxuLnByb2R1Y3Qtc3VwcGxlbWVudGFsLWJsb2NrIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmQ2ZDY7XG4gIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZy10b3A6IDAuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5wcm9kdWN0LXN1cHBsZW1lbnRhbC1ibG9jayB7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbWFyZ2luOiAxLjc1cmVtIDAgMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHJvZHVjdC1zdXBwbGVtZW50YWwtYmxvY2sge1xuICAgICAgZm9udC1zaXplOiBpbmhlcml0OyB9IH1cblxudGFibGUucHJvZHVjdC1kYXRlcy10YWJsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgdGhlYWQsIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgdGJvZHksIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICB0YWJsZS5wcm9kdWN0LWRhdGVzLXRhYmxlIHRoZWFkIHRyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtOTk5OXB4O1xuICAgIGxlZnQ6IC05OTk5cHg7IH1cbiAgdGFibGUucHJvZHVjdC1kYXRlcy10YWJsZSB0Ym9keSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGFibGUucHJvZHVjdC1kYXRlcy10YWJsZSB0cjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkNmQ2ZDY7IH1cbiAgdGFibGUucHJvZHVjdC1kYXRlcy10YWJsZSB0ZCwgdGFibGUucHJvZHVjdC1kYXRlcy10YWJsZSB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgdGQsIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgdGgge1xuICAgICAgICBtYXgtd2lkdGg6IDE0cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgdGFibGUucHJvZHVjdC1kYXRlcy10YWJsZSAucHJvZHVjdC1kYXRlcy10YWJsZS1sb2NhdGlvbiB7XG4gICAgICBib3JkZXItdG9wOiAxcHggZG90dGVkICNkNmQ2ZDY7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICB0YWJsZS5wcm9kdWN0LWRhdGVzLXRhYmxlIHRkIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgdGgge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgLnByb2R1Y3QtZGF0ZXMtdGFibGUtc3RhcnQsIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgLnByb2R1Y3QtZGF0ZXMtdGFibGUtZW5kIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAuOXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgd2lkdGg6IDUwJTsgfVxuICAgIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgLnByb2R1Y3QtZGF0ZXMtdGFibGUtc3RhcnQge1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgIHRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUgLmFkZHJlc3Mge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbi5wcm9kdWN0LWRhdGVzLXRhYmxlLWxhYmVsIHtcbiAgZm9udC1zaXplOiAwLjY1cmVtO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW4tdG9wOiAwLjE1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLnByb2R1Y3QtZGF0ZXMtdGFibGUtbGFiZWwge1xuICAgICAgbWFyZ2luLXRvcDogMC41cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5wcm9kdWN0LWRhdGVzLXRhYmxlLXR5cGUge1xuICBmb250LXNpemU6IDAuNjVyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnByb2R1Y3QtZGF0ZXMtdGFibGUtYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG50ci5jYW5jZWxsZWQgdGQge1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG50ci5jYW5jZWxsZWQgLmljb24td3JhcHBlciwgdHIuY2FuY2VsbGVkIC5pY29uLXdyYXBwZXItc21hbGwge1xuICBiYWNrZ3JvdW5kOiAjOGE4YThhOyB9XG5cbnRhYmxlLnByb2R1Y3QtcHJpY2UtYmxvY2sge1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgdGFibGUucHJvZHVjdC1wcmljZS1ibG9jayB0Ym9keSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHggMCAwIDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICB0YWJsZS5wcm9kdWN0LXByaWNlLWJsb2NrIHRib2R5IHtcbiAgICAgICAgYm9yZGVyOiBub25lOyB9IH1cbiAgdGFibGUucHJvZHVjdC1wcmljZS1ibG9jayB0cjpub3QoOm9ubHktY2hpbGQpIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkNmQ2ZDY7IH1cblxudGQucHJvZHVjdC1wcmljZS1ibG9jay1kZXNjIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMC43NXJlbSAycmVtIDAuNzVyZW0gMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG50ZC5wcm9kdWN0LXByaWNlLWJsb2NrLXByaWNlIHtcbiAgZm9udC1zaXplOiAxLjc3N3JlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMCAwLjc1cmVtIDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wcmljZS1zdHJpa2Uge1xuICBjb2xvcjogIzhhOGE4YTtcbiAgZm9udC1zaXplOiAwLjZlbTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuLnNhbGUtcHJpY2Uge1xuICBjb2xvcjogcmVkOyB9XG5cbnRkLmxpc3RpbmctY2FyZC1wcmljZS1ibG9jay1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMS4zMzNyZW07IH1cblxuLnByb2R1Y3QtcHJpY2UtY2hhcnQtd3JhcHBlciB7XG4gIGNvbG9yOiAjM0QzQzNBO1xuICBwYWRkaW5nLXRvcDogMC43NXJlbTsgfVxuXG4ucHJvZHVjdC1wcmljZS1jaGFydCB7XG4gIHdpZHRoOiBhdXRvO1xuICBtYXJnaW46IGF1dG87IH1cbiAgLnByb2R1Y3QtcHJpY2UtY2hhcnQgbGkge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMC4yNXJlbSAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkNmQ2ZDY7XG4gICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gICAgLnByb2R1Y3QtcHJpY2UtY2hhcnQgbGkgLnByb2R1Y3QtcHJpY2UtY2hhcnQtZGVzYyB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDM5LjkzNzVlbSkge1xuICAgIC5wcm9kdWN0LXByaWNlLWNoYXJ0IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9IH1cblxubGkucHJpY2UtbGlzdC10aXRsZSB7XG4gIGJvcmRlci10b3A6IG5vbmU7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxudGFibGUucHJvZHVjdC1wcmljZS10YWJsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIHRhYmxlLnByb2R1Y3QtcHJpY2UtdGFibGUgdGhlYWQsIHRhYmxlLnByb2R1Y3QtcHJpY2UtdGFibGUgdGJvZHksIHRhYmxlLnByb2R1Y3QtcHJpY2UtdGFibGUgdGZvb3Qge1xuICAgIGJvcmRlcjogbm9uZTsgfVxuICB0YWJsZS5wcm9kdWN0LXByaWNlLXRhYmxlIHRib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICB0YWJsZS5wcm9kdWN0LXByaWNlLXRhYmxlIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkNmQ2ZDY7IH1cbiAgdGFibGUucHJvZHVjdC1wcmljZS10YWJsZSB0ZCwgdGFibGUucHJvZHVjdC1wcmljZS10YWJsZSB0aCB7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICB0YWJsZS5wcm9kdWN0LXByaWNlLXRhYmxlIHRoIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICNkNmQ2ZDY7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnByb2R1Y3QtcHJpY2UtYWN0aXZlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTc5ZSAhaW1wb3J0YW50O1xuICBmb250LXdlaWdodDogNjAwO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2ZmZDQ1MTtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmZmQ0NTE7IH1cblxuI3Byb2R1Y3QtbnVtYmVyIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjguIFBhZ2VzXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4uYWJvdXQtYXV0aG9yIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5ibG9nLXByZXZpZXctd3JhcHBlcixcbi5zdWJzY3JpYmUtZm9ybS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMy4xNTdyZW07IH1cblxuLmJsb2ctcGFnZXItd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDEuNzc3cmVtOyB9XG5cbi5ibG9nLWltZy13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uYmxvZy1saXN0aW5nIC5ibG9nLXByZXZpZXctd3JhcHBlciBpbWcge1xuICBtYXgtd2lkdGg6IDE0NXB4OyB9XG5cbi5mYWN1bHR5LWxpc3QgbGkge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uZmFjdWx0eS1saXN0IGltZyB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIGhlaWdodDogNzVweDtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICB3aWR0aDogNzVweDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZmFjdWx0eS1uYW1lIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZmFjdWx0eS1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuXG4uZm9vdGVyLW9uZSBoMSwgLmZvb3Rlci1vbmUgaDIsIC5mb290ZXItb25lIGgzLCAuZm9vdGVyLW9uZSBoNCwgLmZvb3Rlci1vbmUgLnByb2R1Y3Qtc3ViaGVhZCwgLmZvb3Rlci1vbmUgaDUsIC5mb290ZXItb25lIGg2LCAuZm9vdGVyLXR3byBoMSwgLmZvb3Rlci10d28gaDIsIC5mb290ZXItdHdvIGgzLCAuZm9vdGVyLXR3byBoNCwgLmZvb3Rlci10d28gLnByb2R1Y3Qtc3ViaGVhZCwgLmZvb3Rlci10d28gaDUsIC5mb290ZXItdHdvIGg2IHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4uZm9vdGVyLW9uZSBoNiB7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IDYwMDsgfVxuXG4uZm9vdGVyLW9uZSB7XG4gIGJhY2tncm91bmQ6ICMwMDNjNjk7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDJyZW0gMCAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5mb290ZXItb25lIGEge1xuICAgIGNvbG9yOiAjNjliZmZmO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLmZvb3Rlci1vbmUgYTpob3ZlciB7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLmZvb3Rlci1vbmUgdWwge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvb3Rlci10d28ge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIHBhZGRpbmc6IDFyZW0gMCAzcmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDJkNTA7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIC5mb290ZXItdHdvIGEge1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmZvb3Rlci1zaGFyZS1pY29ucyBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmZvb3Rlci1yZWxhdGVkLXNpdGVzIGltZyB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuLmZvb3Rlci1yZWxhdGVkLXNpdGVzIGxpIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uaGVybyB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIG1hcmdpbi1ib3R0b206IDNyZW07XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSAwO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmhlcm8gKiB7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IGJsYWNrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5oZXJvIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXItY29sb3I6IHdoaXRlO1xuICAgIGNvbG9yOiB3aGl0ZTsgfVxuICAgIC5oZXJvIC5idXR0b24uaG9sbG93OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHdoaXRlO1xuICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTsgfVxuICAuaGVyby5pbnRlcmlvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogM2VtOyB9XG5cbi5oZXJvOmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDA7XG4gIG9wYWNpdHk6IDAuNjtcbiAgYmFja2dyb3VuZDogIzAwMDsgfVxuXG4uaGVyby13cmFwcGVyLWxhcmdlIHtcbiAgcGFkZGluZy10b3A6IDcuNDc4cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNy40NzhyZW07IH1cblxuLnF1aWNrLWJsb2ctaGVybyB7XG4gIGhlaWdodDogMjMuNjEycmVtO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICBtYXJnaW4tYm90dG9tOiAzLjE1N3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnF1aWNrLWJsb2ctaGVybyB7XG4gICAgICBoZWlnaHQ6IDI5LjQ3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucXVpY2stYmxvZy1oZXJvIHtcbiAgICAgIGhlaWdodDogMzEuNDc1cmVtOyB9IH1cblxuLnF1aWNrLWJsb2ctaGVybyxcbi5zbWFsbC1mZWF0dXJlZCxcbi5mZWF0dXJlZCB7XG4gIGhlaWdodDogMTMuMjg4cmVtO1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5mZWF0dXJlZCB7XG4gIGhlaWdodDogMTcuNzEzcmVtOyB9XG5cbi5zbWFsbC1mZWF0dXJlZCxcbi5xdWljay1ibG9nLWhlcm8sXG4uZmVhdHVyZWQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXI6IDAuNXB4IHNvbGlkICM4YThhOGE7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDsgfVxuXG4ucXVpY2stYmxvZy1oZXJvOmJlZm9yZSxcbi5zbWFsbC1mZWF0dXJlZDpiZWZvcmUsXG4uZmVhdHVyZWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcIjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgbGluZWFyO1xuICAtd2Via2l0LXRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGxpbmVhcjtcbiAgLW8tdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgbGluZWFyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBsaW5lYXI7IH1cblxuLmhlcm8tdGV4dCBzbWFsbCB7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5ob21lLXRhZ2xpbmUge1xuICBiYWNrZ3JvdW5kOiAjMDAzYzY5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDM1LCAzNSwgMzUsIDAuNCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNnJlbTtcbiAgbGV0dGVyLXNwYWNpbmc6IDJweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBwYWRkaW5nOiAwLjNyZW0gMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICMwYTBhMGE7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5ob21lLXRhZ2xpbmUge1xuICAgICAgZm9udC1zaXplOiAuN3JlbTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAycHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhvbWUtdGFnbGluZSB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMnB4O1xuICAgICAgZm9udC1zaXplOiAuNzVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTsgfSB9XG5cbi5wcm9tby1pbWcge1xuICBoZWlnaHQ6IDEzLjI4OHJlbTtcbiAgbWFyZ2luOiAxcmVtIDAgMnJlbTsgfVxuXG4ucGFnZS1pbnRybyB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBwYWRkaW5nLXRvcDogMnJlbTtcbiAgcGFkZGluZy1ib3R0b206IDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLWludHJvIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjJyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNC4ycmVtOyB9IH1cblxuI2xvY2F0aW9ucyBsaSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2O1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cblxuLmxvY2F0aW9uLWxpc3Qge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5sb2NhdGlvbi1saXN0IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxLjgxMjVyZW07IH0gfVxuXG4ubG9jYXRpb24tbGlzdCBsaSB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5wYWdlLXRpdGxlLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cblxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuOS4gVXNlciBBY2NvdW50XHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXG4ubmV3LW1lc3NhZ2VzLFxuLnByb3Bhc3MtY3JlZGl0cyB7XG4gIGNvbG9yOiBmaXJlYnJpY2s7XG4gIHBhZGRpbmc6IDAuMjM4cmVtO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4udXNlci1saW5rcyB7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAudXNlci1saW5rcyAuaWNvbi1lbWFpbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxN3JlbTsgfVxuXG4udXNlci1saW5rcyBsaSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1yaWdodDogMC41NjNyZW07XG4gIG1hcmdpbi1yaWdodDogMC41NjNyZW07XG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkNmQ2ZDY7IH1cblxuLnVzZXItbWFpbi1tZW51IGxpIGEge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi51c2VyLW1haW4tbWVudSBsaSBhOmhvdmVyIHtcbiAgY29sb3I6IHdoaXRlOyB9XG5cbi5wcm9maWxlLWhlYWQtdGl0bGUge1xuICBjb2xvcjogI2Q2ZDZkNjtcbiAgcGFkZGluZy10b3A6IDEuMzMzcmVtOyB9XG5cbi51c2VyLXBhZ2UtaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzY4Njg2ODsgfVxuICAudXNlci1wYWdlLWhlYWRlciBoMSBzbWFsbCB7XG4gICAgZm9udC1zaXplOiAxLjc3N3JlbTtcbiAgICBjb2xvcjogI2Q2ZDZkNjsgfVxuICAudXNlci1wYWdlLWhlYWRlciAudG9wLWJhci1yaWdodCBsaSBhIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBjb2xvcjogI2Q2ZDZkNjsgfVxuICAudXNlci1wYWdlLWhlYWRlciAudG9wLWJhci1yaWdodCBsaSBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAudXNlci1wYWdlLWhlYWRlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLnVzZXItcGFnZS1oZWFkZXIgLm1lbnUgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnVzZXItbWVudS1ydWxlIHtcbiAgYm9yZGVyLWNvbG9yOiAjOGE4YThhOyB9XG5cbi5wcm9maWxlLWltZyB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmRhdGUge1xuICBiYWNrZ3JvdW5kOiAjZWZlZmVmO1xuICBwYWRkaW5nOiAxcmVtIDA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBmb250LXdlaWdodDogODAwOyB9XG4gIC5kYXRlIC5tb250aCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuZGF0ZSAuZGF5IHtcbiAgICBmb250LXNpemU6IDEuNzc3cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIGJhY2tncm91bmQ6ICNlZmVmZWY7IH1cblxuLmZpZWxkc2V0IGxlZ2VuZCB7XG4gIGZvbnQtc2l6ZTogMS4zMzNyZW07XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBiYWNrZ3JvdW5kOiBub25lOyB9XG5cbi5hdHRvcm5leS1jaGVjayBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxLjMzM3JlbTtcbiAgbWFyZ2luLWJvdHRvbTogLTAuNzVyZW07IH1cblxuLmF0dG9ybmV5LWNoZWNrIC5jdXN0b21lci10eXBlLWxhYmVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxuLmF0dG9ybmV5LWNoZWNrIC5zd2l0Y2gge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmRlbW9ncmFwaGljLWxpc3Qge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5kZW1vZ3JhcGhpYy1saXN0IGxhYmVsIHtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi5jb21tdW5pY2F0aW9uLXByZWZzIGxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuXG4uaW50ZXJlc3QtbGlzdCBsYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLyogUFJPRFVDVCBQUklDRSBDT0wgKi9cbiNyZWNvbW1lbmRlZCB7XG4gIGJhY2tncm91bmQ6ICNlZmVmZWY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgLyogQmxhY2sgcHJpbnRzIGZhc3RlciAqL1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgaGVhZGVyLFxuICAucHJvZHVjdC1mb3JtYXQtd3JhcHBlcixcbiAgLnByb2R1Y3QtY3JlZGl0cyxcbiAgLnByb2R1Y3Qtc3RpY2t5LW5hdi13cmFwcGVyLFxuICAuYnV0dG9uLmV4cGFuZGVkLFxuICAuc2lnbi1pbi1tZXNzYWdlLFxuICAucmVjb21tZW5kZWQtcHJvZHVjdHMtd3JhcHBlcixcbiAgLnByb2R1Y3Qtb3RoZXItZm9ybWF0cy13cmFwcGVyLFxuICAuZG93bmxvYWRzLXdyYXBwZXIsXG4gIC5ibG9nLWNhdGVnb3J5LXdyYXBwZXIsXG4gIC5ibG9nLXNlYXJjaC13cmFwcGVyLFxuICAuYmxvZy1jYXRlZ29yeS1saW5rLXdyYXBwZXIsXG4gIC5ibG9nLWNvbW1lbnQtd3JhcHBlcixcbiAgLmNhdGFsb2ctZmlsdGVycy1kZXNrdG9wLFxuICAubGlzdGluZy1zaWduLWluLXByb21wdCxcbiAgLnF1aWNrLWxpbmtzLFxuICAucXVpY2stbGlua3Mtd3JhcHBlcixcbiAgLnBhZ2luYXRpb24sXG4gIC5saXN0aW5nLXNvcnQsXG4gIC5mb290ZXItb25lLFxuICAuZm9vdGVyLXR3byxcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5saXN0aW5nLWNhcmQtdGl0bGUgYSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gIC5wYWdlLWhlYWRpbmctd3JhcHBlciwgLnBhZ2UtaGVhZGluZy13cmFwcGVyLWJvcmRlcmVkIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cHQ7XG4gICAgcGFkZGluZy10b3A6IDAuNXB0OyB9XG4gIGFbaHJlZl49XCJodHRwOlwiXTphZnRlciB7XG4gICAgY29udGVudDogXCIgW1wiIGF0dHIoaHJlZikgXCJdXCI7XG4gICAgY29sb3I6IGJsdWU7IH1cbiAgQHBhZ2Uge1xuICAgIG1hcmdpbjogLjVpbjsgfVxuICBAcGFnZSA6Zmlyc3Qge1xuICAgIG1hcmdpbi10b3A6IDJjbTsgfVxuICBoMiwgdWwge1xuICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIHAsIHVsIHtcbiAgICBvcnBoYW5zOiAzO1xuICAgIHdpZG93czogMztcbiAgICBmb250LXNpemU6IDlwdDsgfSB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ3BiaWNvbnMnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL3BiaWNvbnMuZW90P2lqOGZiZ1wiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9wYmljb25zLmVvdD9pajhmYmcjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3BiaWNvbnMudHRmP2lqOGZiZ1wiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvcGJpY29ucy53b2ZmP2lqOGZiZ1wiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9wYmljb25zLnN2Zz9pajhmYmcjcGJpY29uc1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4qW2NsYXNzKj1cImljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdwYmljb25zJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24tc2NhbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDBcIjsgfVxuXG4uaWNvbi1wbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDRiXCI7IH1cblxuLmljb24tdmlkZW8tcmVwbGF5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDA4XCI7IH1cblxuLmljb24tY2FsZW5kYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNzNcIjsgfVxuXG4uaWNvbi1jb21tZW50czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4NlwiOyB9XG5cbi5pY29uLWNhcmV0LWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDdcIjsgfVxuXG4uaWNvbi1jYXJldC11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBkOVwiOyB9XG5cbi5pY29uLW92ZXJ2aWV3OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDVhXCI7IH1cblxuLmljb24tcGJpLXByZXNzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDJkXCI7IH1cblxuLmljb24tY3JlZGl0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBhM1wiOyB9XG5cbi5pY29uLWZvcm06YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZjZcIjsgfVxuXG4uaWNvbi1lLWRvYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG5cbi5pY29uLWZhY3VsdHk6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxOWRcIjsgfVxuXG4uaWNvbi1lbWFpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwM1wiOyB9XG5cbi5pY29uLWNsb2NrOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDE3XCI7IH1cblxuLmljb24tdGFnczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAyY1wiOyB9XG5cbi5pY29uLWNhdGVnb3JpZXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMmVcIjsgfVxuXG4uaWNvbi1zaWduLW91dDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4YlwiOyB9XG5cbi5pY29uLXNpZ24taW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOTBcIjsgfVxuXG4uaWNvbi10d2l0dGVyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDk5XCI7IH1cblxuLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwOWFcIjsgfVxuXG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjBlMVwiOyB9XG5cbi5pY29uLXF1ZXN0aW9uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTI4XCI7IH1cblxuLmljb24tY2F0YWxvZzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE5Y1wiOyB9XG5cbi5pY29uLXNoYXJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWUwXCI7IH1cblxuLmljb24tZ29vZ2xlLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZDVcIjsgfVxuXG4uaWNvbi15b3V0dWJlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTZhXCI7IH1cblxuLmljb24tc2V0dGluZ3M6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjsgfVxuXG4uaWNvbi1jaGV2cm9uLXJpZ2h0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDU0XCI7IH1cblxuLmljb24tY2hldnJvbi11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3N1wiOyB9XG5cbi5pY29uLWNoZXZyb24tZG93bjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA3OFwiOyB9XG5cbi5pY29uLXBvZGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MThcIjsgfVxuXG4uaWNvbi1zaW11bGNhc3Q6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDJcIjsgfVxuXG4uaWNvbi11c2I6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDhcIjsgfVxuXG4uaWNvbi1jZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwOVwiOyB9XG5cbi5pY29uLWN1c3RvbWVyLXNlcnZpY2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTNcIjsgfVxuXG4uaWNvbi1yZWNlaXB0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBjXCI7IH1cblxuLmljb24tc2VhcmNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjBlXCI7IH1cblxuLmljb24tY2FydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwZlwiOyB9XG5cbi5pY29uLW1lc3NhZ2U6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTRcIjsgfVxuXG4uaWNvbi1maWx0ZXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGRcIjsgfVxuXG4uaWNvbi1wcmljZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxMVwiOyB9XG5cbi5pY29uLXdlYmluYXI6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MTdcIjsgfVxuXG4uaWNvbi13ZWJjYXN0OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjE2XCI7IH1cblxuLmljb24tbW9yZS1ob3JpejpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxNVwiOyB9XG5cbi5pY29uLW1vcmUtdmVydDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxMFwiOyB9XG5cbi5pY29uLXN1YnNjcmlwdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MWFcIjsgfVxuXG4uaWNvbi1zdGFyLW91dGxpbmU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDNcIjsgfVxuXG4uaWNvbi1zdGFyLWhhbGY6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDRcIjsgfVxuXG4uaWNvbi1zdGFyOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA2XCI7IH1cblxuLmljb24tYm9vazpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYxMlwiOyB9XG5cbi5pY29uLW1hdGVyaWFsczpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwYlwiOyB9XG5cbi5pY29uLWRpcmVjdGlvbnM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDVcIjsgfVxuXG4uaWNvbi1lLWJvb2s6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MGFcIjsgfVxuXG4uaWNvbi1vbi1kZW1hbmQtdmlkZW86YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MTRcIjsgfVxuXG4uaWNvbi1saWJyYXJ5OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTIwXCI7IH1cblxuLmljb24tcHJvZmlsZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkyM1wiOyB9XG5cbi5pY29uLXBob25lOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQyXCI7IH1cblxuLmljb24tYWRkcmVzcy1ib29rOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTQ0XCI7IH1cblxuLmljb24tdXNlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTk3MVwiOyB9XG5cbi5pY29uLXVzZXItYWRkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTczXCI7IH1cblxuLmljb24tZGFzaGJvYXJkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOWE2XCI7IH1cblxuLmljb24tY29udGVudHM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5YmFcIjsgfVxuXG4uaWNvbi1vcGVuLW1vZGFsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlYTdlXCI7IH1cblxuLmljb24tYm9vay1vbi1jZDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTYwMVwiOyB9XG5cbi5pY29uLXN1YmplY3RzOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMGQ4XCI7IH1cblxuLmljb24tZHZkOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlNjA3XCI7IH1cblxuLmljb24taW4tcGVyc29uOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTcyXCI7IH1cblxuLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU2MDBcIjsgfVxuXG4uaWNvbi1idW5kbGU6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MmVcIjsgfVxuXG4vKiFcclxuICogSGFtYnVyZ2Vyc1xyXG4gKiBAZGVzY3JpcHRpb24gVGFzdHkgQ1NTLWFuaW1hdGVkIGhhbWJ1cmdlcnNcclxuICogQGF1dGhvciBKb25hdGhhbiBTdWggQGpvbnN1aFxyXG4gKiBAc2l0ZSBodHRwczovL2pvbnN1aC5jb20vaGFtYnVyZ2Vyc1xyXG4gKiBAbGluayBodHRwczovL2dpdGh1Yi5jb20vam9uc3VoL2hhbWJ1cmdlcnNcclxuICovXG4uaGFtYnVyZ2VyIHtcbiAgcGFkZGluZzogMHJlbSAwLjc1cmVtO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eSwgZmlsdGVyO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjE1cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgZm9udDogaW5oZXJpdDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBtYXJnaW46IDA7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG4gIC5oYW1idXJnZXI6aG92ZXIge1xuICAgIG9wYWNpdHk6IDE7IH1cblxuLmhhbWJ1cmdlci1ib3gge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5oYW1idXJnZXItaW5uZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC0wLjEyNXJlbTsgfVxuICAuaGFtYnVyZ2VyLWlubmVyLCAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUsIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB3aWR0aDogMnJlbTtcbiAgICBoZWlnaHQ6IDAuMjVyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm07XG4gICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7IH1cbiAgLmhhbWJ1cmdlci1pbm5lcjo6YmVmb3JlLCAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaGFtYnVyZ2VyLWlubmVyOjpiZWZvcmUge1xuICAgIHRvcDogLTAuNjI1cmVtOyB9XG4gIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICBib3R0b206IC0wLjYyNXJlbTsgfVxuXG4vKlxyXG4gICAqIFNxdWVlemVcclxuICAgKi9cbi5oYW1idXJnZXItLXNxdWVlemUgLmhhbWJ1cmdlci1pbm5lciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgMC4xNHMgZWFzZSxcciBvcGFjaXR5IDAuMXMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplIC5oYW1idXJnZXItaW5uZXI6OmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiBib3R0b20gMC4xcyAwLjE0cyBlYXNlLCB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTsgfVxuXG4uaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAwLjE0cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpOyB9XG4gIC5oYW1idXJnZXItLXNxdWVlemUuaXMtYWN0aXZlIC5oYW1idXJnZXItaW5uZXI6OmJlZm9yZSB7XG4gICAgdG9wOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogdG9wIDAuMXMgZWFzZSxcciBvcGFjaXR5IDAuMXMgMC4xNHMgZWFzZTsgfVxuICAuaGFtYnVyZ2VyLS1zcXVlZXplLmlzLWFjdGl2ZSAuaGFtYnVyZ2VyLWlubmVyOjphZnRlciB7XG4gICAgYm90dG9tOiAwO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSwgdHJhbnNmb3JtIDAuMXMgMC4xNHMgY3ViaWMtYmV6aWVyKDAuMjE1LCAwLjYxLCAwLjM1NSwgMSk7IH1cblxuLmZvb3RhYmxlIC5idG4sIC5mb290YWJsZSAuY2FyZXQge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmZvb3RhYmxlLWRldGFpbHMudGFibGUsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlICosIC5mb290YWJsZS50YWJsZSwgLmZvb3RhYmxlLnRhYmxlICoge1xuICAtd2Via2l0LWJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC1tb3otYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4uZm9vdGFibGUtZGV0YWlscy50YWJsZSB0aCwgLmZvb3RhYmxlLnRhYmxlIHRoIHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4uZm9vdGFibGUtZGV0YWlscy50YWJsZSwgLmZvb3RhYmxlLnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4uZm9vdGFibGUtZGV0YWlscy50YWJsZSA+IGNhcHRpb24gKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlID4gY2FwdGlvbiArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0aCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUgPiB0aGVhZDpmaXJzdC1jaGlsZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLCAuZm9vdGFibGUudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRkLCAuZm9vdGFibGUudGFibGUgPiBjYXB0aW9uICsgdGhlYWQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoLCAuZm9vdGFibGUudGFibGUgPiBjb2xncm91cCArIHRoZWFkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwgLmZvb3RhYmxlLnRhYmxlID4gY29sZ3JvdXAgKyB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsIC5mb290YWJsZS50YWJsZSA+IHRoZWFkOmZpcnN0LWNoaWxkID4gdHI6Zmlyc3QtY2hpbGQgPiB0ZCwgLmZvb3RhYmxlLnRhYmxlID4gdGhlYWQ6Zmlyc3QtY2hpbGQgPiB0cjpmaXJzdC1jaGlsZCA+IHRoIHtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4uZm9vdGFibGUtZGV0YWlscy50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUgPiB0Ym9keSA+IHRyID4gdGgsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLCAuZm9vdGFibGUtZGV0YWlscy50YWJsZSA+IHRmb290ID4gdHIgPiB0aCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAuZm9vdGFibGUudGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIC5mb290YWJsZS50YWJsZSA+IHRib2R5ID4gdHIgPiB0aCwgLmZvb3RhYmxlLnRhYmxlID4gdGZvb3QgPiB0ciA+IHRkLCAuZm9vdGFibGUudGFibGUgPiB0Zm9vdCA+IHRyID4gdGgsIC5mb290YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0ZCwgLmZvb3RhYmxlLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoIHtcbiAgcGFkZGluZzogOHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkZGQ7IH1cblxuLmZvb3RhYmxlLWRldGFpbHMudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlID4gdGhlYWQgPiB0ciA+IHRoLCAuZm9vdGFibGUudGFibGUgPiB0aGVhZCA+IHRyID4gdGQsIC5mb290YWJsZS50YWJsZSA+IHRoZWFkID4gdHIgPiB0aCB7XG4gIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZGRkOyB9XG5cbi5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWNvbmRlbnNlZCA+IHRib2R5ID4gdHIgPiB0ZCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRoLCAuZm9vdGFibGUtZGV0YWlscy50YWJsZS1jb25kZW5zZWQgPiB0Zm9vdCA+IHRyID4gdGQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWNvbmRlbnNlZCA+IHRmb290ID4gdHIgPiB0aCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUtY29uZGVuc2VkID4gdGhlYWQgPiB0ciA+IHRkLCAuZm9vdGFibGUtZGV0YWlscy50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGgsIC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQgPiB0Ym9keSA+IHRyID4gdGQsIC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQgPiB0Ym9keSA+IHRyID4gdGgsIC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQgPiB0Zm9vdCA+IHRyID4gdGQsIC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQgPiB0Zm9vdCA+IHRyID4gdGgsIC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGQsIC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQgPiB0aGVhZCA+IHRyID4gdGgge1xuICBwYWRkaW5nOiA1cHg7IH1cblxuLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLCAuZm9vdGFibGUtZGV0YWlscy50YWJsZS1ib3JkZXJlZCA+IHRib2R5ID4gdHIgPiB0aCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyID4gdGQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLCAuZm9vdGFibGUtZGV0YWlscy50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0ZCwgLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGgsIC5mb290YWJsZS50YWJsZS1ib3JkZXJlZCwgLmZvb3RhYmxlLnRhYmxlLWJvcmRlcmVkID4gdGJvZHkgPiB0ciA+IHRkLCAuZm9vdGFibGUudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyID4gdGgsIC5mb290YWJsZS50YWJsZS1ib3JkZXJlZCA+IHRmb290ID4gdHIgPiB0ZCwgLmZvb3RhYmxlLnRhYmxlLWJvcmRlcmVkID4gdGZvb3QgPiB0ciA+IHRoLCAuZm9vdGFibGUudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIC5mb290YWJsZS50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7IH1cblxuLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkID4gdGhlYWQgPiB0ciA+IHRoLCAuZm9vdGFibGUudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyID4gdGQsIC5mb290YWJsZS50YWJsZS1ib3JkZXJlZCA+IHRoZWFkID4gdHIgPiB0aCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDJweDsgfVxuXG4uZm9vdGFibGUtZGV0YWlscy50YWJsZS1zdHJpcGVkID4gdGJvZHkgPiB0cjpudGgtY2hpbGQob2RkKSwgLmZvb3RhYmxlLnRhYmxlLXN0cmlwZWQgPiB0Ym9keSA+IHRyOm50aC1jaGlsZChvZGQpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG4uZm9vdGFibGUtZGV0YWlscy50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIsIC5mb290YWJsZS50YWJsZS1ob3ZlciA+IHRib2R5ID4gdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1OyB9XG5cbi5mb290YWJsZSAuYnRuIHtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDEuNDI4NTcxNDM7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5mb290YWJsZSAuYnRuLmZvY3VzLCAuZm9vdGFibGUgLmJ0bjpmb2N1cywgLmZvb3RhYmxlIC5idG46aG92ZXIge1xuICBjb2xvcjogIzMzMztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5mb290YWJsZSAuYnRuLWRlZmF1bHQge1xuICBjb2xvcjogIzMzMztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjOyB9XG5cbi5mb290YWJsZSAuYnRuLWRlZmF1bHQuYWN0aXZlLCAuZm9vdGFibGUgLmJ0bi1kZWZhdWx0LmZvY3VzLCAuZm9vdGFibGUgLmJ0bi1kZWZhdWx0OmFjdGl2ZSwgLmZvb3RhYmxlIC5idG4tZGVmYXVsdDpmb2N1cywgLmZvb3RhYmxlIC5idG4tZGVmYXVsdDpob3ZlciwgLmZvb3RhYmxlIC5vcGVuID4gLmRyb3Bkb3duLXRvZ2dsZS5idG4tZGVmYXVsdCB7XG4gIGNvbG9yOiAjMzMzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXItY29sb3I6ICNhZGFkYWQ7IH1cblxuLmZvb3RhYmxlIC5idG4tcHJpbWFyeSB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzM3YWI3O1xuICBib3JkZXItY29sb3I6ICMyZTZkYTQ7IH1cblxuLmZvb3RhYmxlIC5idG4tcHJpbWFyeS5hY3RpdmUsIC5mb290YWJsZSAuYnRuLXByaW1hcnkuZm9jdXMsIC5mb290YWJsZSAuYnRuLXByaW1hcnk6YWN0aXZlLCAuZm9vdGFibGUgLmJ0bi1wcmltYXJ5OmZvY3VzLCAuZm9vdGFibGUgLmJ0bi1wcmltYXJ5OmhvdmVyLCAuZm9vdGFibGUgLm9wZW4gPiAuZHJvcGRvd24tdG9nZ2xlLmJ0bi1wcmltYXJ5IHtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyODYwOTA7XG4gIGJvcmRlci1jb2xvcjogIzIwNGQ3NDsgfVxuXG4uZm9vdGFibGUgLmJ0bi1ncm91cCwgLmZvb3RhYmxlIC5idG4tZ3JvdXAtdmVydGljYWwge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZm9vdGFibGUgLmJ0bi1ncm91cCA+IC5idG46Zmlyc3QtY2hpbGQ6bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSkge1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7IH1cblxuLmZvb3RhYmxlIC5idG4tZ3JvdXAgPiAuYnRuOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmZvb3RhYmxlIC5idG4tZ3JvdXAtdmVydGljYWwgPiAuYnRuLCAuZm9vdGFibGUgLmJ0bi1ncm91cCA+IC5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5mb290YWJsZSAuYnRuLWdyb3VwLXhzID4gLmJ0biwgLmZvb3RhYmxlIC5idG4teHMge1xuICBwYWRkaW5nOiAxcHggNXB4O1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIGJvcmRlci1yYWRpdXM6IDNweDsgfVxuXG4uZm9vdGFibGUgLmJ0bi1ncm91cC1zbSA+IC5idG4sIC5mb290YWJsZSAuYnRuLXNtIHtcbiAgcGFkZGluZzogNXB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgYm9yZGVyLXJhZGl1czogM3B4OyB9XG5cbi5mb290YWJsZSAuYnRuLWdyb3VwLWxnID4gLmJ0biwgLmZvb3RhYmxlIC5idG4tbGcge1xuICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDEuMzMzMzMzMztcbiAgYm9yZGVyLXJhZGl1czogNnB4OyB9XG5cbi5mb290YWJsZSAuY2FyZXQge1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICBib3JkZXItdG9wOiA0cHggc29saWQ7XG4gIGJvcmRlci1yaWdodDogNHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItbGVmdDogNHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9XG5cbi5mb290YWJsZSAuYnRuIC5jYXJldCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4uZm9vdGFibGUgLmZvcm0tY29udHJvbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAzNHB4O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgbWFyZ2luOiAwO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40Mjg1NzE0MztcbiAgY29sb3I6ICM1NTU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbiAgLXdlYmtpdC1ib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA3NSk7XG4gIGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDc1KTtcbiAgLXdlYmtpdC10cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywtd2Via2l0LWJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1cztcbiAgLW8tdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIGVhc2UtaW4tb3V0IC4xNXMsYm94LXNoYWRvdyBlYXNlLWluLW91dCAuMTVzO1xuICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cyxib3gtc2hhZG93IGVhc2UtaW4tb3V0IC4xNXM7IH1cblxuLmZvb3RhYmxlIC5pbnB1dC1ncm91cCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogdGFibGU7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7IH1cblxuLmZvb3RhYmxlIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyO1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMDsgfVxuXG4uZm9vdGFibGUgLmlucHV0LWdyb3VwLWFkZG9uLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0biB7XG4gIHdpZHRoOiAxJTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uZm9vdGFibGUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsIC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYWRkb24sIC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG4uZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0biwgLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZCA+IC5idG4tZ3JvdXAsIC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuID4gLmJ0biArIC5idG4ge1xuICBtYXJnaW4tbGVmdDogLTFweDsgfVxuXG4uZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0biA+IC5idG4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmFjdGl2ZSwgLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG4gPiAuYnRuOmZvY3VzLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0biA+IC5idG46aG92ZXIge1xuICB6LWluZGV4OiAyOyB9XG5cbi5mb290YWJsZSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCwgLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1hZGRvbjpmaXJzdC1jaGlsZCwgLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQgPiAuYnRuLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXAgPiAuYnRuLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5kcm9wZG93bi10b2dnbGUsIC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCkgPiAuYnRuLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bjpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKSB7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMDsgfVxuXG4uZm9vdGFibGUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2w6bGFzdC1jaGlsZCwgLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1hZGRvbjpsYXN0LWNoaWxkLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG4tZ3JvdXA6bm90KDpmaXJzdC1jaGlsZCkgPiAuYnRuLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZCA+IC5idG46bm90KDpmaXJzdC1jaGlsZCksIC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuYnRuLCAuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkID4gLmJ0bi1ncm91cCA+IC5idG4sIC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQgPiAuZHJvcGRvd24tdG9nZ2xlIHtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogMDtcbiAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMDsgfVxuXG4uZm9vdGFibGUgLmNoZWNrYm94LCAuZm9vdGFibGUgLnJhZGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZm9vdGFibGUgLmNoZWNrYm94IGxhYmVsLCAuZm9vdGFibGUgLnJhZGlvIGxhYmVsIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAyMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4uZm9vdGFibGUgLmNoZWNrYm94IGlucHV0W3R5cGU9Y2hlY2tib3hdLCAuZm9vdGFibGUgLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSwgLmZvb3RhYmxlIC5yYWRpbyBpbnB1dFt0eXBlPXJhZGlvXSwgLmZvb3RhYmxlIC5yYWRpby1pbmxpbmUgaW5wdXRbdHlwZT1yYWRpb10ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogNHB4IDAgMCAtMjBweDtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4uZm9vdGFibGUgLmRyb3Bkb3duLW1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1pbi13aWR0aDogMTYwcHg7XG4gIHBhZGRpbmc6IDVweCAwO1xuICBtYXJnaW46IDJweCAwIDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHBhZGRpbmctYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIC13ZWJraXQtYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTtcbiAgYm94LXNoYWRvdzogMCA2cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTc1KTsgfVxuXG4uZm9vdGFibGUgLm9wZW4gPiAuZHJvcGRvd24tbWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mb290YWJsZSAuZHJvcGRvd24tbWVudS1yaWdodCB7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5mb290YWJsZSAuZHJvcGRvd24tbWVudSA+IGxpID4gYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAzcHggMjBweDtcbiAgY2xlYXI6IGJvdGg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzMzMztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uZm9vdGFibGUgLmRyb3Bkb3duLW1lbnUgPiBsaSA+IGE6Zm9jdXMsIC5mb290YWJsZSAuZHJvcGRvd24tbWVudSA+IGxpID4gYTpob3ZlciB7XG4gIGNvbG9yOiAjMjYyNjI2O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmNWY1ZjU7IH1cblxuLmZvb3RhYmxlIC5wYWdpbmF0aW9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIG1hcmdpbjogMjBweCAwO1xuICBib3JkZXItcmFkaXVzOiA0cHg7IH1cblxuLmZvb3RhYmxlIC5wYWdpbmF0aW9uID4gbGkge1xuICBkaXNwbGF5OiBpbmxpbmU7IH1cblxuLmZvb3RhYmxlIC5wYWdpbmF0aW9uID4gbGk6Zmlyc3QtY2hpbGQgPiBhLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiBsaTpmaXJzdC1jaGlsZCA+IHNwYW4ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgYm9yZGVyLXRvcC1sZWZ0LXJhZGl1czogNHB4O1xuICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA0cHg7IH1cblxuLmZvb3RhYmxlIC5wYWdpbmF0aW9uID4gbGkgPiBhLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiA2cHggMTJweDtcbiAgbWFyZ2luLWxlZnQ6IC0xcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyODU3MTQzO1xuICBjb2xvcjogIzMzN2FiNztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkOyB9XG5cbi5mb290YWJsZSAucGFnaW5hdGlvbiA+IGxpID4gYTpmb2N1cywgLmZvb3RhYmxlIC5wYWdpbmF0aW9uID4gbGkgPiBhOmhvdmVyLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiBsaSA+IHNwYW46Zm9jdXMsIC5mb290YWJsZSAucGFnaW5hdGlvbiA+IGxpID4gc3Bhbjpob3ZlciB7XG4gIGNvbG9yOiAjMjM1MjdjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVlO1xuICBib3JkZXItY29sb3I6ICNkZGQ7IH1cblxuLmZvb3RhYmxlIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IGEsIC5mb290YWJsZSAucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBhOmZvY3VzLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gYTpob3ZlciwgLmZvb3RhYmxlIC5wYWdpbmF0aW9uID4gLmFjdGl2ZSA+IHNwYW4sIC5mb290YWJsZSAucGFnaW5hdGlvbiA+IC5hY3RpdmUgPiBzcGFuOmZvY3VzLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuYWN0aXZlID4gc3Bhbjpob3ZlciB7XG4gIHotaW5kZXg6IDI7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICMzMzdhYjc7XG4gIGJvcmRlci1jb2xvcjogIzMzN2FiNzsgfVxuXG4uZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmZvY3VzLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBhOmhvdmVyLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmZvY3VzLCAuZm9vdGFibGUgLnBhZ2luYXRpb24gPiAuZGlzYWJsZWQgPiBzcGFuOmhvdmVyIHtcbiAgY29sb3I6ICM3Nzc7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlci1jb2xvcjogI2RkZDsgfVxuXG4uZm9vdGFibGUgLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAuMmVtIC42ZW0gLjNlbTtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJvcmRlci1yYWRpdXM6IC4yNWVtOyB9XG5cbi5mb290YWJsZSAubGFiZWwtZGVmYXVsdCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICM3Nzc7IH1cblxuLmZvb3RhYmxlLWxvYWRlci53ZWxsIHtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgcGFkZGluZzogMTlweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjVmNTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UzZTNlMztcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAtd2Via2l0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuMDUpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgwLCAwLCAwLCAwLjA1KTsgfVxuXG4uZm9vdGFibGUgLnNyLW9ubHkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gIGJvcmRlcjogMDsgfVxuXG50YWJsZS5mb290YWJsZS1kZXRhaWxzLCB0YWJsZS5mb290YWJsZSA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGggZGl2LmZvcm0tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZm9vdGFibGUgLmZvcm0taW5saW5lIC5mb3JtLWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb290YWJsZSAuZm9ybS1pbmxpbmUgLmZvcm0tY29udHJvbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmZvb3RhYmxlIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlubGluZS10YWJsZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5mb290YWJsZSAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5mb3JtLWNvbnRyb2wsIC5mb290YWJsZSAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiwgLmZvb3RhYmxlIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ0biB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLmZvb3RhYmxlIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXAgPiAuZm9ybS1jb250cm9sIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbnRhYmxlLmZvb3RhYmxlLCB0YWJsZS5mb290YWJsZS1kZXRhaWxzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IH1cblxudGFibGUuZm9vdGFibGUtaGlkZS1mb3VjIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZSA+IHRib2R5ID4gdHIgPiB0ZCA+IHNwYW4uZm9vdGFibGUtdG9nZ2xlIHtcbiAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gIG9wYWNpdHk6IC4zOyB9XG5cbnRhYmxlID4gdGJvZHkgPiB0ciA+IHRkID4gc3Bhbi5mb290YWJsZS10b2dnbGUubGFzdC1jb2x1bW4ge1xuICBtYXJnaW4tbGVmdDogOHB4O1xuICBmbG9hdDogcmlnaHQ7IH1cblxudGFibGUudGFibGUtY29uZGVuc2VkID4gdGJvZHkgPiB0ciA+IHRkID4gc3Bhbi5mb290YWJsZS10b2dnbGUge1xuICBtYXJnaW4tcmlnaHQ6IDVweDsgfVxuXG50YWJsZS5mb290YWJsZS1kZXRhaWxzID4gdGJvZHkgPiB0ciA+IHRoOm50aC1jaGlsZCgxKSB7XG4gIG1pbi13aWR0aDogNDBweDtcbiAgd2lkdGg6IDEyMHB4OyB9XG5cbnRhYmxlLmZvb3RhYmxlLWRldGFpbHMgPiB0Ym9keSA+IHRyID4gdGQ6bnRoLWNoaWxkKDIpIHtcbiAgd29yZC1icmVhazogYnJlYWstYWxsOyB9XG5cbnRhYmxlLmZvb3RhYmxlLWRldGFpbHMgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGgsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMgPiB0Zm9vdCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMgPiB0Zm9vdCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG5cbnRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0Ym9keSA+IHRyOmZpcnN0LWNoaWxkID4gdGgsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0Zm9vdCA+IHRyOmZpcnN0LWNoaWxkID4gdGgsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGQsIHRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQgPiB0aGVhZCA+IHRyOmZpcnN0LWNoaWxkID4gdGgge1xuICBib3JkZXItdG9wLXdpZHRoOiAxcHg7IH1cblxuZGl2LmZvb3RhYmxlLWxvYWRlciB7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAzMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbmRpdi5mb290YWJsZS1sb2FkZXIgPiBzcGFuLmZvb2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG9wYWNpdHk6IC4zO1xuICBmb250LXNpemU6IDMwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB3aWR0aDogMzJweDtcbiAgaGVpZ2h0OiAzMnB4O1xuICBtYXJnaW4tdG9wOiAtMTZweDtcbiAgbWFyZ2luLWxlZnQ6IC0xNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIC13ZWJraXQtYW5pbWF0aW9uOiBmb29pY29uLXNwaW4tciAycyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogZm9vaWNvbi1zcGluLXIgMnMgaW5maW5pdGUgbGluZWFyOyB9XG5cbnRhYmxlLmZvb3RhYmxlID4gdGJvZHkgPiB0ci5mb290YWJsZS1lbXB0eSA+IHRkIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDMwcHg7IH1cblxudGFibGUuZm9vdGFibGUgPiB0Ym9keSA+IHRyID4gdGQsIHRhYmxlLmZvb3RhYmxlID4gdGJvZHkgPiB0ciA+IHRoIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG50YWJsZS5mb290YWJsZSA+IHRib2R5ID4gdHIuZm9vdGFibGUtZGV0YWlsLXJvdyA+IHRkLCB0YWJsZS5mb290YWJsZSA+IHRib2R5ID4gdHIuZm9vdGFibGUtZGV0YWlsLXJvdyA+IHRoLCB0YWJsZS5mb290YWJsZSA+IHRib2R5ID4gdHIuZm9vdGFibGUtZW1wdHkgPiB0ZCwgdGFibGUuZm9vdGFibGUgPiB0Ym9keSA+IHRyLmZvb3RhYmxlLWVtcHR5ID4gdGgge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbkAtd2Via2l0LWtleWZyYW1lcyBmb29pY29uLXNwaW4tciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuQGtleWZyYW1lcyBmb29pY29uLXNwaW4tciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzU5ZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNTlkZWcpOyB9IH1cblxuLmZvb2ljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1mYW1pbHk6IEZvbnRBd2Vzb21lICFpbXBvcnRhbnQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtcmVuZGVyaW5nOiBhdXRvO1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLmZvb2ljb246YWZ0ZXIsIC5mb29pY29uOmJlZm9yZSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLW1vei1ib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbi5mb29pY29uLWxvYWRlcjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAxZVwiOyB9XG5cbi5mb29pY29uLXBsdXM6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwNjdcIjsgfVxuXG4uZm9vaWNvbi1taW51czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA2OFwiOyB9XG5cbi5mb29pY29uLXNlYXJjaDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwMlwiOyB9XG5cbi5mb29pY29uLXJlbW92ZTpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjAwZFwiOyB9XG5cbi5mb29pY29uLXNvcnQ6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZGNcIjsgfVxuXG4uZm9vaWNvbi1zb3J0LWFzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MFwiOyB9XG5cbi5mb29pY29uLXNvcnQtZGVzYzpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjE2MVwiOyB9XG5cbi5mb29pY29uLXBlbmNpbDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA0MFwiOyB9XG5cbi5mb29pY29uLXRyYXNoOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWY4XCI7IH1cblxuLmZvb2ljb24tZXllLWNsb3NlOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMDcwXCI7IH1cblxuLmZvb2ljb24tZmxhc2g6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwZTdcIjsgfVxuXG4uZm9vaWNvbi1jb2c6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYwMTNcIjsgfVxuXG4uZm9vaWNvbi1zdGF0czpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjA4MFwiOyB9XG5cbnRhYmxlLmZvb3RhYmxlID4gdGhlYWQgPiB0ci5mb290YWJsZS1maWx0ZXJpbmcgPiB0aCB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG50YWJsZS5mb290YWJsZS5mb290YWJsZS1maWx0ZXJpbmctcmlnaHQgPiB0aGVhZCA+IHRyLmZvb3RhYmxlLWZpbHRlcmluZyA+IHRoLCB0YWJsZS5mb290YWJsZSA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGgge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG50YWJsZS5mb290YWJsZS5mb290YWJsZS1maWx0ZXJpbmctbGVmdCA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGgge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmZvb3RhYmxlLXBhZ2luZy1jZW50ZXIgPiB0Zm9vdCA+IHRyLmZvb3RhYmxlLXBhZ2luZyA+IHRkLCB0YWJsZS5mb290YWJsZS5mb290YWJsZS1maWx0ZXJpbmctY2VudGVyID4gdGhlYWQgPiB0ci5mb290YWJsZS1maWx0ZXJpbmcgPiB0aCwgdGFibGUuZm9vdGFibGUgPiB0Zm9vdCA+IHRyLmZvb3RhYmxlLXBhZ2luZyA+IHRkIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbnRhYmxlLmZvb3RhYmxlID4gdGhlYWQgPiB0ci5mb290YWJsZS1maWx0ZXJpbmcgPiB0aCBkaXYuZm9ybS1ncm91cCArIGRpdi5mb3JtLWdyb3VwIHtcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG5cbnRhYmxlLmZvb3RhYmxlID4gdGhlYWQgPiB0ci5mb290YWJsZS1maWx0ZXJpbmcgPiB0aCBkaXYuaW5wdXQtZ3JvdXAge1xuICB3aWR0aDogMTAwJTsgfVxuXG50YWJsZS5mb290YWJsZSA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGggdWwuZHJvcGRvd24tbWVudSA+IGxpID4gYS5jaGVja2JveCB7XG4gIG1hcmdpbjogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG50YWJsZS5mb290YWJsZSA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGggdWwuZHJvcGRvd24tbWVudSA+IGxpID4gYS5jaGVja2JveCA+IGxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMjBweDsgfVxuXG50YWJsZS5mb290YWJsZSA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGggdWwuZHJvcGRvd24tbWVudSA+IGxpID4gYS5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IC0yMHB4OyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICB0YWJsZS5mb290YWJsZSA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGggZGl2LmlucHV0LWdyb3VwIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICB0YWJsZS5mb290YWJsZSA+IHRoZWFkID4gdHIuZm9vdGFibGUtZmlsdGVyaW5nID4gdGggZGl2LmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7IH1cbiAgdGFibGUuZm9vdGFibGUgPiB0aGVhZCA+IHRyLmZvb3RhYmxlLWZpbHRlcmluZyA+IHRoIGRpdi5mb3JtLWdyb3VwICsgZGl2LmZvcm0tZ3JvdXAge1xuICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG50YWJsZS5mb290YWJsZSA+IHRib2R5ID4gdHIgPiB0ZC5mb290YWJsZS1zb3J0YWJsZSwgdGFibGUuZm9vdGFibGUgPiB0Ym9keSA+IHRyID4gdGguZm9vdGFibGUtc29ydGFibGUsIHRhYmxlLmZvb3RhYmxlID4gdGZvb3QgPiB0ciA+IHRkLmZvb3RhYmxlLXNvcnRhYmxlLCB0YWJsZS5mb290YWJsZSA+IHRmb290ID4gdHIgPiB0aC5mb290YWJsZS1zb3J0YWJsZSwgdGFibGUuZm9vdGFibGUgPiB0aGVhZCA+IHRyID4gdGQuZm9vdGFibGUtc29ydGFibGUsIHRhYmxlLmZvb3RhYmxlID4gdGhlYWQgPiB0ciA+IHRoLmZvb3RhYmxlLXNvcnRhYmxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxudGQuZm9vdGFibGUtc29ydGFibGUgPiBzcGFuLmZvb2ljb24sIHRoLmZvb3RhYmxlLXNvcnRhYmxlID4gc3Bhbi5mb29pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogNnB4O1xuICB0b3A6IDUwJTtcbiAgbWFyZ2luLXRvcDogLTdweDtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAuM3MgZWFzZS1pbjsgfVxuXG50ZC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1hc2MgPiBzcGFuLmZvb2ljb24sIHRkLmZvb3RhYmxlLXNvcnRhYmxlLmZvb3RhYmxlLWRlc2MgPiBzcGFuLmZvb2ljb24sIHRkLmZvb3RhYmxlLXNvcnRhYmxlOmhvdmVyID4gc3Bhbi5mb29pY29uLCB0aC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1hc2MgPiBzcGFuLmZvb2ljb24sIHRoLmZvb3RhYmxlLXNvcnRhYmxlLmZvb3RhYmxlLWRlc2MgPiBzcGFuLmZvb2ljb24sIHRoLmZvb3RhYmxlLXNvcnRhYmxlOmhvdmVyID4gc3Bhbi5mb29pY29uIHtcbiAgb3BhY2l0eTogMTsgfVxuXG50YWJsZS5mb290YWJsZS1zb3J0aW5nLWRpc2FibGVkIHRkLmZvb3RhYmxlLXNvcnRhYmxlLmZvb3RhYmxlLWFzYyA+IHNwYW4uZm9vaWNvbiwgdGFibGUuZm9vdGFibGUtc29ydGluZy1kaXNhYmxlZCB0ZC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1kZXNjID4gc3Bhbi5mb29pY29uLCB0YWJsZS5mb290YWJsZS1zb3J0aW5nLWRpc2FibGVkIHRkLmZvb3RhYmxlLXNvcnRhYmxlOmhvdmVyID4gc3Bhbi5mb29pY29uLCB0YWJsZS5mb290YWJsZS1zb3J0aW5nLWRpc2FibGVkIHRoLmZvb3RhYmxlLXNvcnRhYmxlLmZvb3RhYmxlLWFzYyA+IHNwYW4uZm9vaWNvbiwgdGFibGUuZm9vdGFibGUtc29ydGluZy1kaXNhYmxlZCB0aC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1kZXNjID4gc3Bhbi5mb29pY29uLCB0YWJsZS5mb290YWJsZS1zb3J0aW5nLWRpc2FibGVkIHRoLmZvb3RhYmxlLXNvcnRhYmxlOmhvdmVyID4gc3Bhbi5mb29pY29uIHtcbiAgb3BhY2l0eTogMDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbnRhYmxlLmZvb3RhYmxlID4gdGZvb3QgPiB0ci5mb290YWJsZS1wYWdpbmcgPiB0ZCA+IHVsLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDEwcHggMCAwOyB9XG5cbnRhYmxlLmZvb3RhYmxlID4gdGZvb3QgPiB0ci5mb290YWJsZS1wYWdpbmcgPiB0ZCA+IHNwYW4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIHBhZGRpbmc6IDRweCAxMHB4OyB9XG5cbnRhYmxlLmZvb3RhYmxlLXBhZ2luZy1sZWZ0ID4gdGZvb3QgPiB0ci5mb290YWJsZS1wYWdpbmcgPiB0ZCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxudGFibGUuZm9vdGFibGUtZWRpdGluZy1yaWdodCB0ZC5mb290YWJsZS1lZGl0aW5nLCB0YWJsZS5mb290YWJsZS1lZGl0aW5nLXJpZ2h0IHRyLmZvb3RhYmxlLWVkaXRpbmcsIHRhYmxlLmZvb3RhYmxlLXBhZ2luZy1yaWdodCA+IHRmb290ID4gdHIuZm9vdGFibGUtcGFnaW5nID4gdGQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG51bC5wYWdpbmF0aW9uID4gbGkuZm9vdGFibGUtcGFnZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxudWwucGFnaW5hdGlvbiA+IGxpLmZvb3RhYmxlLXBhZ2UudmlzaWJsZSB7XG4gIGRpc3BsYXk6IGlubGluZTsgfVxuXG50ZC5mb290YWJsZS1lZGl0aW5nIHtcbiAgd2lkdGg6IDkwcHg7XG4gIG1heC13aWR0aDogOTBweDsgfVxuXG50YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWRlbGV0ZSB0ZC5mb290YWJsZS1lZGl0aW5nLCB0YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWVkaXQgdGQuZm9vdGFibGUtZWRpdGluZywgdGFibGUuZm9vdGFibGUtZWRpdGluZy1uby12aWV3IHRkLmZvb3RhYmxlLWVkaXRpbmcge1xuICB3aWR0aDogNzBweDtcbiAgbWF4LXdpZHRoOiA3MHB4OyB9XG5cbnRhYmxlLmZvb3RhYmxlLWVkaXRpbmctbm8tZGVsZXRlLmZvb3RhYmxlLWVkaXRpbmctbm8tdmlldyB0ZC5mb290YWJsZS1lZGl0aW5nLCB0YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWVkaXQuZm9vdGFibGUtZWRpdGluZy1uby1kZWxldGUgdGQuZm9vdGFibGUtZWRpdGluZywgdGFibGUuZm9vdGFibGUtZWRpdGluZy1uby1lZGl0LmZvb3RhYmxlLWVkaXRpbmctbm8tdmlldyB0ZC5mb290YWJsZS1lZGl0aW5nIHtcbiAgd2lkdGg6IDUwcHg7XG4gIG1heC13aWR0aDogNTBweDsgfVxuXG50YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWVkaXQuZm9vdGFibGUtZWRpdGluZy1uby1kZWxldGUuZm9vdGFibGUtZWRpdGluZy1uby12aWV3IHRkLmZvb3RhYmxlLWVkaXRpbmcsIHRhYmxlLmZvb3RhYmxlLWVkaXRpbmctbm8tZWRpdC5mb290YWJsZS1lZGl0aW5nLW5vLWRlbGV0ZS5mb290YWJsZS1lZGl0aW5nLW5vLXZpZXcgdGguZm9vdGFibGUtZWRpdGluZyB7XG4gIHdpZHRoOiAwO1xuICBtYXgtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG50YWJsZS5mb290YWJsZS1lZGl0aW5nLWxlZnQgdGQuZm9vdGFibGUtZWRpdGluZywgdGFibGUuZm9vdGFibGUtZWRpdGluZy1sZWZ0IHRyLmZvb3RhYmxlLWVkaXRpbmcge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbnRhYmxlLmZvb3RhYmxlLWVkaXRpbmcgYnV0dG9uLmZvb3RhYmxlLWFkZCwgdGFibGUuZm9vdGFibGUtZWRpdGluZyBidXR0b24uZm9vdGFibGUtaGlkZSwgdGFibGUuZm9vdGFibGUtZWRpdGluZy1zaG93IGJ1dHRvbi5mb290YWJsZS1zaG93LCB0YWJsZS5mb290YWJsZS1lZGl0aW5nLmZvb3RhYmxlLWVkaXRpbmctYWx3YXlzLXNob3cgYnV0dG9uLmZvb3RhYmxlLWhpZGUsIHRhYmxlLmZvb3RhYmxlLWVkaXRpbmcuZm9vdGFibGUtZWRpdGluZy1hbHdheXMtc2hvdyBidXR0b24uZm9vdGFibGUtc2hvdywgdGFibGUuZm9vdGFibGUtZWRpdGluZy5mb290YWJsZS1lZGl0aW5nLWFsd2F5cy1zaG93LmZvb3RhYmxlLWVkaXRpbmctbm8tYWRkIHRyLmZvb3RhYmxlLWVkaXRpbmcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnRhYmxlLmZvb3RhYmxlLWVkaXRpbmcuZm9vdGFibGUtZWRpdGluZy1hbHdheXMtc2hvdyBidXR0b24uZm9vdGFibGUtYWRkLCB0YWJsZS5mb290YWJsZS1lZGl0aW5nLmZvb3RhYmxlLWVkaXRpbmctc2hvdyBidXR0b24uZm9vdGFibGUtYWRkLCB0YWJsZS5mb290YWJsZS1lZGl0aW5nLmZvb3RhYmxlLWVkaXRpbmctc2hvdyBidXR0b24uZm9vdGFibGUtaGlkZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi40XG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBzZWNvbmRhcnk6ICM3NzcsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjZWM1ODQwLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xyXG4vLyAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuLy9cclxuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxyXG4vL1xyXG4vLyAgIDEuIEdsb2JhbFxyXG4vLyAgIDIuIEJyZWFrcG9pbnRzXHJcbi8vICAgMy4gVGhlIEdyaWRcclxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcclxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gICA2LiBBYmlkZVxyXG4vLyAgIDcuIEFjY29yZGlvblxyXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XHJcbi8vICAgOS4gQmFkZ2VcclxuLy8gIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAgMTEuIEJ1dHRvblxyXG4vLyAgMTIuIEJ1dHRvbiBHcm91cFxyXG4vLyAgMTMuIENhbGxvdXRcclxuLy8gIDE0LiBDbG9zZSBCdXR0b25cclxuLy8gIDE1LiBEcmlsbGRvd25cclxuLy8gIDE2LiBEcm9wZG93blxyXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcclxuLy8gIDE4LiBGbGV4IFZpZGVvXHJcbi8vICAxOS4gRm9ybXNcclxuLy8gIDIwLiBMYWJlbFxyXG4vLyAgMjEuIE1lZGlhIE9iamVjdFxyXG4vLyAgMjIuIE1lbnVcclxuLy8gIDIzLiBNZXRlclxyXG4vLyAgMjQuIE9mZi1jYW52YXNcclxuLy8gIDI1LiBPcmJpdFxyXG4vLyAgMjYuIFBhZ2luYXRpb25cclxuLy8gIDI3LiBQcm9ncmVzcyBCYXJcclxuLy8gIDI4LiBSZXZlYWxcclxuLy8gIDI5LiBTbGlkZXJcclxuLy8gIDMwLiBTd2l0Y2hcclxuLy8gIDMxLiBUYWJsZVxyXG4vLyAgMzIuIFRhYnNcclxuLy8gIDMzLiBUaHVtYm5haWxcclxuLy8gIDM0LiBUaXRsZSBCYXJcclxuLy8gIDM1LiBUb29sdGlwXHJcbi8vICAzNi4gVG9wIEJhclxyXG5cclxuQGltcG9ydCAndXRpbC91dGlsJztcclxuXHJcbi8vIDEuIEdsb2JhbFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xyXG4vLyAkZ2xvYmFsLWZvbnQtc2l6ZTogMTEwJTtcclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCk7XHJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xyXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXHJcbiAgcHJpbWFyeTogIzIxOTllOCxcclxuICAvLyBwcmltYXJ5OiAjMkZBMkVDLFxyXG4gIC8vIHByaW1hcnk6ICMxMDcwYWIsXHJcbiAgc2Vjb25kYXJ5OiAjNzc3LFxyXG4gIC8vIHN1Y2Nlc3M6ICMzYWRiNzYsXHJcbiAgc3VjY2VzczogIzFjYjg0MSxcclxuICB3YXJuaW5nOiAjZmZhZTAwLFxyXG4gIC8vIGFsZXJ0OiAjZWM1ODQwLFxyXG4gIGFsZXJ0OiBmaXJlYnJpY2ssXHJcbik7XHJcbi8vICRsaWdodC1ncmF5OiAjZTZlNmU2O1xyXG4vLyAkbGlnaHQtZ3JheTogI2VhZWFlYTtcclxuJGxpZ2h0LWdyYXk6ICNlZmVmZWY7XHJcbi8vICRtZWRpdW0tZ3JheTogI2NhY2FjYTtcclxuJG1lZGl1bS1ncmF5OiAjZDZkNmQ2O1xyXG4kZGFyay1ncmF5OiAjOGE4YThhO1xyXG4kYmxhY2s6ICMwYTBhMGE7XHJcbiR3aGl0ZTogI2ZlZmVmZTtcclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XHJcbiRib2R5LWZvbnQtZmFtaWx5OiBcInByb3hpbWEtbm92YVwiLCAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XHJcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtO1xyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcclxuJGdsb2JhbC1yYWRpdXM6IDA7XHJcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcclxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcclxuJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzOiB0cnVlO1xyXG5cclxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xyXG5cclxuLy8gMi4gQnJlYWtwb2ludHNcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVha3BvaW50czogKFxyXG4gIHNtYWxsOiAwLFxyXG4gIG1lZGl1bTogNjQwcHgsXHJcbiAgbGFyZ2U6IDEwMjRweCxcclxuICAvLyB4bGFyZ2U6IDEyMDBweCxcclxuICB4bGFyZ2U6IDE0NDBweCxcclxuICAvLyB4eGxhcmdlOiAxNDQwcHgsXHJcbiAgeHhsYXJnZTogMjU2MHB4LFxyXG4pO1xyXG4vLyAkYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKTtcclxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSB4bGFyZ2UgeHhsYXJnZSk7XHJcblxyXG4vLyAzLiBUaGUgR3JpZFxyXG4vLyAtLS0tLS0tLS0tLVxyXG5cclxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xyXG4kZ3JpZC1jb2x1bW4tZ3V0dGVyOiAoXHJcbiAgc21hbGw6IDIwcHgsXHJcbi8vICBtZWRpdW06IDMwcHgsXHJcbiAgbWVkaXVtOiA1MHB4LFxyXG4pO1xyXG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcclxuJGJsb2NrLWdyaWQtbWF4OiA4O1xyXG5cclxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XHJcbi8vICRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGhlYWRlci1mb250LXdlaWdodDogNTAwO1xyXG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcclxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2U7XHJcbiRoZWFkZXItc2l6ZXM6IChcclxuICBzbWFsbDogKFxyXG4gICAgLy8gJ2gxJzogMjQsXHJcbiAgICAnaDEnOiAyOCxcclxuICAgIC8vICdoMic6IDIwLFxyXG4gICAgJ2gyJzogMjQsXHJcbiAgICAvLyAnaDMnOiAxOSxcclxuICAgICdoMyc6IDIyLCAgICBcclxuICAgICdoNCc6IDE4LFxyXG4gICAgJ2g1JzogMTcsXHJcbiAgICAnaDYnOiAxNixcclxuICApLFxyXG4gIG1lZGl1bTogKFxyXG4gICAgLy8gJ2gxJzogNDgsXHJcbiAgICAnaDEnOiA1MC41MTIsXHJcbiAgICAvLyAnaDInOiA0MCxcclxuICAgICdoMicgOiAzNy45MDQsXHJcbiAgICAvLyAnaDMnOiAzMSxcclxuICAgICdoMycgOiAyOC40MzIsXHJcbiAgICAvLyAnaDQnOiAyNSxcclxuICAgICdoNCcgOiAyMixcclxuICAgICdoNSc6IDE4LFxyXG4gICAgJ2g2JzogMTYsXHJcbiAgKSxcclxuKTtcclxuLy8gJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcclxuJGhlYWRlci1jb2xvcjogJGJsYWNrO1xyXG4vLyAkaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjI7XHJcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcbiRzbWFsbC1mb250LXNpemU6IDgwJTtcclxuLy8gJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJGRhcmstZ3JheTtcclxuLy8gJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjY7XHJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS40NTtcclxuLy8gJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDEuM3JlbTtcclxuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xyXG4kY29kZS1jb2xvcjogJGJsYWNrO1xyXG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcclxuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xyXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XHJcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xyXG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XHJcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XHJcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XHJcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xyXG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xyXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XHJcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xyXG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRhYmJyLXVuZGVybGluZTogMXB4IGRvdHRlZCAkYmxhY2s7XHJcblxyXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcclxuJGxlYWQtbGluZWhlaWdodDogMS42O1xyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtO1xyXG5cclxuLy8gNi4gQWJpZGVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRhYmlkZS1pbnB1dHM6IHRydWU7XHJcbiRhYmlkZS1sYWJlbHM6IHRydWU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xyXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XHJcblxyXG4vLyA3LiBBY2NvcmRpb25cclxuLy8gLS0tLS0tLS0tLS0tXHJcblxyXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XHJcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XHJcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyA4LiBBY2NvcmRpb24gTWVudVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xyXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcblxyXG4vLyA5LiBCYWRnZVxyXG4vLyAtLS0tLS0tLVxyXG5cclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYmFkZ2UtY29sb3I6IGZvcmVncm91bmQoJGJhZGdlLWJhY2tncm91bmQpO1xyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XHJcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XHJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcclxuXHJcbi8vIDEwLiBCcmVhZGNydW1ic1xyXG4vLyAtLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XHJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XHJcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcclxuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xyXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZTtcclxuXHJcbi8vIDExLiBCdXR0b25cclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xyXG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XHJcbiRidXR0b24tZmlsbDogc29saWQ7XHJcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcclxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlO1xyXG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRidXR0b24tc2l6ZXM6IChcclxuICB0aW55OiAwLjZyZW0sXHJcbiAgc21hbGw6IDAuNzVyZW0sXHJcbiAgZGVmYXVsdDogMC45cmVtLFxyXG4gIGxhcmdlOiAxLjI1cmVtLFxyXG4pO1xyXG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XHJcblxyXG4vLyAxMi4gQnV0dG9uIEdyb3VwXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XHJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHg7XHJcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nO1xyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcclxuXHJcbi8vIDEzLiBDYWxsb3V0XHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kY2FsbG91dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xyXG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XHJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMDtcclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQ7XHJcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xyXG5cclxuLy8gMTQuIENsb3NlIEJ1dHRvblxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW07XHJcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XHJcbi8vICRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMS40NTtcclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xyXG4kY2xvc2VidXR0b24tY29sb3ItaG92ZXI6ICRibGFjaztcclxuXHJcbi8vIDE1LiBEcmlsbGRvd25cclxuLy8gLS0tLS0tLS0tLS0tLVxyXG5cclxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xyXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZTtcclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xyXG5cclxuLy8gMTYuIERyb3Bkb3duXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XHJcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW07XHJcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XHJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kZHJvcGRvd24tc2l6ZXM6IChcclxuICB0aW55OiAxMDBweCxcclxuICBzbWFsbDogMjAwcHgsXHJcbiAgbGFyZ2U6IDQwMHB4LFxyXG4gIC8vIEFkZGVkIHhsYXJnZSBzaXplIC8vXHJcbiAgeGxhcmdlOiA2MDBweCxcclxuKTtcclxuXHJcbi8vIDE3LiBEcm9wZG93biBNZW51XHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvcjtcclxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xyXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblxyXG4vLyAxOC4gRmxleCBWaWRlb1xyXG4vLyAtLS0tLS0tLS0tLS0tLVxyXG5cclxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XHJcbiRmbGV4dmlkZW8tcmF0aW86IDQgYnkgMztcclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xyXG5cclxuLy8gMTkuIEZvcm1zXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XHJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcclxuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xyXG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xyXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xyXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XHJcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XHJcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2s7XHJcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4vLyAkZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xyXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogNzAwO1xyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44O1xyXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kaW5wdXQtY29sb3I6ICRibGFjaztcclxuLy8gJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJGRhcmstZ3JheTtcclxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XHJcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XHJcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKTtcclxuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXk7XHJcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XHJcbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDtcclxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyMC4gTGFiZWxcclxuLy8gLS0tLS0tLS0tXHJcblxyXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRsYWJlbC1jb2xvcjogZm9yZWdyb3VuZCgkbGFiZWwtYmFja2dyb3VuZCk7XHJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xyXG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDIxLiBNZWRpYSBPYmplY3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XHJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xyXG5cclxuLy8gMjIuIE1lbnVcclxuLy8gLS0tLS0tLS1cclxuXHJcbiRtZW51LW1hcmdpbjogMDtcclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xyXG5cclxuLy8gMjMuIE1ldGVyXHJcbi8vIC0tLS0tLS0tLVxyXG5cclxuJG1ldGVyLWhlaWdodDogMXJlbTtcclxuJG1ldGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1tZWRpdW06ICR3YXJuaW5nLWNvbG9yO1xyXG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcclxuXHJcbi8vIDI0LiBPZmYtY2FudmFzXHJcbi8vIC0tLS0tLS0tLS0tLS0tXHJcblxyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4O1xyXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kb2ZmY2FudmFzLXppbmRleDogLTE7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXM7XHJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XHJcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xyXG4kb2ZmY2FudmFzLWV4aXQtYmFja2dyb3VuZDogcmdiYSgkd2hpdGUsIDAuMjUpO1xyXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnO1xyXG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcclxuXHJcbi8vIDI1LiBPcmJpdFxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XHJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XHJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XHJcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xyXG5cclxuLy8gMjYuIFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xyXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XHJcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcclxuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcclxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xyXG5cclxuLy8gMjcuIFByb2dyZXNzIEJhclxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xyXG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XHJcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcclxuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAyOC4gUmV2ZWFsXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XHJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG4kcmV2ZWFsLXppbmRleDogMTAwNTtcclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcclxuXHJcbi8vIDI5LiBTbGlkZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xyXG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtO1xyXG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XHJcbiRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcclxuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xyXG5cclxuLy8gMzAuIFN3aXRjaFxyXG4vLyAtLS0tLS0tLS0tXHJcblxyXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XHJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW07XHJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW07XHJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcclxuXHJcbi8vIDMxLiBUYWJsZVxyXG4vLyAtLS0tLS0tLS1cclxuXHJcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XHJcbi8vICR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuLy8gJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xyXG4kdGFibGUtYm9yZGVyOiBub25lO1xyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoMTMuNiAxMCAxMy42IDEwKTtcclxuLy8gJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDI1IDE1KTtcclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcclxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpO1xyXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcclxuLy8gJHRhYmxlLXN0cmlwZTogZXZlbjtcclxuJHRhYmxlLXN0cmlwZTogbm9uZTtcclxuLy8gJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xyXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XHJcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XHJcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XHJcblxyXG4vLyAzMi4gVGFic1xyXG4vLyAtLS0tLS0tLVxyXG5cclxuJHRhYi1tYXJnaW46IDA7XHJcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xyXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xyXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcbiR0YWItZXhwYW5kLW1heDogNjtcclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XHJcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcclxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XHJcblxyXG4vLyAzMy4gVGh1bWJuYWlsXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xyXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xyXG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xyXG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcclxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XHJcblxyXG4vLyAzNC4gVGl0bGUgQmFyXHJcbi8vIC0tLS0tLS0tLS0tLS1cclxuXHJcbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkYmxhY2s7XHJcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xyXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xyXG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcclxuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcclxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcclxuXHJcbi8vIDM1LiBUb29sdGlwXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcclxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xyXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XHJcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XHJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XHJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcclxuXHJcbi8vIDM2LiBUb3AgQmFyXHJcbi8vIC0tLS0tLS0tLS0tXHJcblxyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcclxuLy8gJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuJHRvcGJhci1iYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZDtcclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcclxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcclxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIE91dHB1dHMgQ1NTIGNsYXNzZXMgZm9yIHRoZSBncmlkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIGZvdW5kYXRpb24tZ3JpZChcbiAgJHJvdzogJ3JvdycsXG4gICRjb2x1bW46ICdjb2x1bW4nLFxuICAkY29sdW1uLXJvdzogJ2NvbHVtbi1yb3cnLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJ1xuKSB7XG4gIC8vIFJvd1xuICAuI3skcm93fSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3c7XG5cbiAgICAvLyBDb2xsYXBzaW5nXG4gICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGdyaWQtY29sdW1uLWd1dHRlcik7XG5cbiAgICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCAoZnVsbC13aWR0aCkgcm93XG4gICAgJi4jeyRleHBhbmRlZH0ge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCBcIi4jeyRjb2x1bW59XCIpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuXG4gICAgICAuI3skcm93fSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLiN7JGV4cGFuZGVkfS4jeyRyb3d9IC4jeyQtemYtc2l6ZX0tI3skY29sbGFwc2V9LiN7JHJvd30ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNvbGxhcHNlfSB7XG4gICAgICAkZ3V0dGVyOiAtemYtZ2V0LWJwLXZhbCgkZ3JpZC1jb2x1bW4tZ3V0dGVyLCAkLXpmLXNpemUpO1xuXG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wLFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICB9XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyB7XG4gICAgLmNvbHVtbnMge1xuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgICAgQGV4dGVuZCAuY29sdW1uO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQgIWdsb2JhbDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfG51bGx9ICRndXR0ZXIgW251bGxdIC0gR3V0dGVyIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyB0aGUgbWFyZ2lucy4gU2V0IHRvIGBudWxsYCB0byByZWZlciB0byB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIHtcbiAgICAkZ3V0dGVyOiAoJC16Zi16ZXJvLWJyZWFrcG9pbnQ6ICRndXR0ZXIpO1xuICB9XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkdmFsdWUpIC8gMiAqIC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG4gIFxuICAvLyBVc2luZyByZW0gYXMgYmFzZSBhbGxvd3MgY29ycmVjdCBzY2FsaW5nXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmVtb3ZpbmcgdGhlIHBhZGRpbmcuICoqTm90ZToqKiBvbmx5IHVzZSB0aGlzIG1peGluIHdpdGhpbiBhIGJyZWFrcG9pbnQuIFRvIGNvbGxhcHNlIGEgY29sdW1uJ3MgZ3V0dGVycyBvbiBhbGwgc2NyZWVuIHNpemVzLCB1c2UgdGhlIGAkZ3V0dGVyYCBwYXJhbWV0ZXIgb2YgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiBpbnN0ZWFkLlxuQG1peGluIGdyaWQtY29sdW1uLWNvbGxhcHNlIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4vLy8gVW4tY29sbGFwc2UgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW4gYnkgcmUtYWRkaW5nIHRoZSBwYWRkaW5nLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gICRndXR0ZXI6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3V0dGVyO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtY29sbGFwc2Uge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1jb2xsYXBzZTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVuY29sbGFwc2UoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVuY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuXG4gIC8vIFN0b3JlIHRoZSBrZXlzIG9mIHRoZSBtYXAgYXMgYSBsaXN0XG4gICR2YWx1ZXM6IG1hcC1rZXlzKCRtYXApO1xuXG4gICRpOiAwO1xuXG4gIC8vIElmIHRoZSBLZXkgRXhpc3RzLCBHZXQgdGhlIGluZGV4IG9mIHRoZSBrZXkgd2l0aGluIHRoZSBtYXAgYW5kIGFkZCAxIHRvIGl0IGZvciB0aGUgbmV4dCBicmVha3BvaW50IGluIHRoZSBtYXBcbiAgQGlmIChtYXAtaGFzLWtleSgkbWFwLCAka2V5KSkge1xuICAgICRpOiBpbmRleCgkdmFsdWVzLCAka2V5KSArIDE7XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAoJGkgPiBsZW5ndGgoJG1hcCkgb3IgJGkgPT0gMCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCBudGgoJHZhbHVlcywgJGkpKTtcbiAgfVxuXG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNldCB0aGUgd2lkdGggb2YgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR3aWR0aCBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIHRvIG1ha2UgdGhlIGNvbHVtbi4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICB3aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tc2l6ZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tc2l6ZVxuQG1peGluIGdyaWQtY29sLXNpemUoXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENhbGN1bGF0ZXMgdGhlIHdpZHRoIG9mIGEgY29sdW1uIGJhc2VkIG9uIGEgbnVtYmVyIG9mIGZhY3RvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkY29sdW1uc1xuLy8vICAgV2lkdGggb2YgdGhlIGNvbHVtbi4gQWNjZXB0cyBtdWx0aXBsZSB2YWx1ZXM6XG4vLy8gICAtIEEgcGVyY2VudGFnZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGNvbHVtbiB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgc2luZ2xlIGRpZ2l0IHdpbGwgbWFrZSB0aGUgY29sdW1uIHNwYW4gdGhhdCBudW1iZXIgb2YgY29sdW1ucyB3aWRlLCB0YWtpbmcgaW50byBhY2NvdW50IHRoZSBjb2x1bW4gY291bnQgb2YgdGhlIHBhcmVudCByb3cuXG4vLy8gICAtIEEgc3RyaW5nIG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiB3aWxsIG1ha2UgYSBjb2x1bW4gdGhhdCBpcyAqeCogY29sdW1ucyB3aWRlLCBhc3N1bWluZyAqeSogdG90YWwgY29sdW1ucyBmb3IgdGhlIHBhcmVudC5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IEEgY2FsY3VsYXRlZCBwZXJjZW50YWdlIHZhbHVlLlxuQGZ1bmN0aW9uIGdyaWQtY29sdW1uKCRjb2x1bW5zKSB7XG4gICR3aWR0aDogMCU7XG5cbiAgLy8gUGFyc2luZyBwZXJjZW50cywgZGVjaW1hbHMsIGFuZCBjb2x1bW4gY291bnRzXG4gIEBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbnVtYmVyJyB7XG4gICAgQGlmIHVuaXQoJGNvbHVtbnMpID09ICclJyB7XG4gICAgICAkd2lkdGg6ICRjb2x1bW5zO1xuICAgIH1cbiAgICBAZWxzZSBpZiAkY29sdW1ucyA8IDEge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKCRjb2x1bW5zIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcbiAgICB9XG4gIH1cblxuICAvLyBQYXJzaW5nIFwibiBvZiBuXCIgZXhwcmVzc2lvbnNcbiAgQGVsc2UgaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ2xpc3QnIHtcbiAgICBAaWYgbGVuZ3RoKCRjb2x1bW5zKSAhPSAzIHtcbiAgICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgdGhlIGZvcm1hdCBcIm4gb2YgblwiLic7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZShudGgoJGNvbHVtbnMsIDEpIC8gbnRoKCRjb2x1bW5zLCAzKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gQW55dGhpbmcgZWxzZSBpcyBpbmNvcnJlY3RcbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbigpLiBVc2UgYSBudW1iZXIsIGRlY2ltYWwsIHBlcmNlbnRhZ2UsIG9yIFwibiBvZiBuXCIuJztcbiAgfVxuXG4gIEByZXR1cm4gJHdpZHRoO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgWyRncmlkLWNvbHVtbi1jb3VudF0gLSBXaWR0aCBvZiB0aGUgY29sdW1uLiBSZWZlciB0byB0aGUgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMuXG5AbWl4aW4gZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdtYXAnIHtcbiAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIGFuZCBzdHJpcC11bml0KCRndXR0ZXIpID4gMCB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICB9XG5cbiAgLy8gTGFzdCBjb2x1bW4gYWxpZ25tZW50XG4gIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgY29sdW1uIHJvdy4gVGhpcyBpcyB0aGUgZXF1aXZhbGVudCBvZiBhZGRpbmcgYC5yb3dgIGFuZCBgLmNvbHVtbmAgdG8gdGhlIHNhbWUgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFdpZHRoIG9mIHRoZSBndXR0ZXJzIG9uIGVpdGhlciBzaWRlIG9mIHRoZSBjb2x1bW4gcm93LlxuQG1peGluIGdyaWQtY29sdW1uLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtcm93O1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkZ3V0dGVyOiAkZ3V0dGVyKTtcblxuICAmLFxuICAmOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBmdW5jdGlvbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEByZXR1cm4gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AbWl4aW4gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnQsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1ucywgJGd1dHRlcik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXJvdygkZ3V0dGVyKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFJlcG9zaXRpb24gYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkcG9zaXRpb24gLSBEaXJlY3Rpb24gYW5kIGFtb3VudCB0byBtb3ZlLiBUaGUgY29sdW1uIHdpbGwgbW92ZSBlcXVhbCB0byB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBjb3VudCBzcGVjaWZpZWQuIEEgcG9zaXRpdmUgbnVtYmVyIHdpbGwgcHVzaCB0aGUgY29sdW1uIHRvIHRoZSByaWdodCwgd2hpbGUgYSBuZWdhdGl2ZSBudW1iZXIgd2lsbCBwdWxsIGl0IHRvIHRoZSBsZWZ0LiBTZXQgdG8gY2VudGVyIHRvIGNlbnRlciB0aGUgY29sdW1uLlxuQG1peGluIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbikge1xuICBAaWYgdHlwZS1vZigkcG9zaXRpb24pID09ICdudW1iZXInIHtcbiAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRwb3NpdGlvbiAvICRncmlkLWNvbHVtbi1jb3VudCk7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkb2Zmc2V0O1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBjZW50ZXIge1xuICAgICYsICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIFNpemVzIGNoaWxkIGVsZW1lbnRzIHNvIHRoYXQgYCRuYCBudW1iZXIgb2YgaXRlbXMgYXBwZWFyIG9uIGVhY2ggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGVsZW1lbnRzIHRvIGRpc3BsYXkgcGVyIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFsnLmNvbHVtbiddIC0gU2VsZWN0b3IocykgdG8gdXNlIGZvciBjaGlsZCBlbGVtZW50cy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkZ3V0dGVyXG4vLy8gICBUaGUgZ3V0dGVyIHRvIGFwcGx5IHRvIGNoaWxkIGVsZW1lbnRzLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gJGdyaWQtY29sdW1uLWd1dHRlciB3aWxsIHVzZSB0aGUgdmFsdWVzIGluIHRoZSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIG1hcCwgaW5jbHVkaW5nIGJyZWFrcG9pbnQgc2l6ZXMuXG4vLy8gICAtIEEgZml4ZWQgbnVtZXJpYyB2YWx1ZSB3aWxsIGFwcGx5IHRoaXMgZ3V0dGVyIHRvIGFsbCBicmVha3BvaW50cy5cbkBtaXhpbiBncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nLFxuICAkZ3V0dGVyOiBudWxsXG4pIHtcbiAgJiA+ICN7JHNlbGVjdG9yfSB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoMS8kbik7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAgIC8vIElmIGEgJGd1dHRlciB2YWx1ZSBpcyBwYXNzZWRcbiAgICBAaWYoJGd1dHRlcikge1xuICAgICAgLy8gR3V0dGVyc1xuICAgICAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCRndXR0ZXIpIC8gMjtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgfVxuXG4gICAgJjpudGgtb2YtdHlwZSgjeyRufW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGV4dHJhIENTUyB0byBibG9jayBncmlkIGNoaWxkcmVuIHNvIHRoZSBsYXN0IGl0ZW1zIGluIHRoZSByb3cgY2VudGVyIGF1dG9tYXRpY2FsbHkuIEFwcGx5IHRoaXMgdG8gdGhlIGNvbHVtbnMsIG5vdCB0aGUgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGl0ZW1zIHRoYXQgYXBwZWFyIGluIGVhY2ggcm93LlxuQG1peGluIGdyaWQtbGF5b3V0LWNlbnRlci1sYXN0KCRuKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRvICRuIHtcbiAgICBAaWYgJGkgPT0gMSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAoMTAwIC0gMTAwLyRuICogJGkpIC8gMiAqIDElO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAmOm50aC1jaGlsZCgjeyRufW4rMSk6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc2l6ZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgICAjeyRoZWFkZXJ9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAkYnV0dG9uLXJhZGl1cztcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6ICRiYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzcyk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZShcbiAgJGNvbG9yOiAkcHJpbWFyeS1jb2xvcixcbiAgJGhvdmVyLWxpZ2h0bmVzczogJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgJGNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRob3Zlci1saWdodG5lc3MpO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvcjtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIGRpc2FibGVkIHN0eWxlcyB0byBhIGJ1dHRvbiBieSBmYWRpbmcgdGhlIGVsZW1lbnQsIHJlc2V0aW5nIHRoZSBjdXJzb3IsIGFuZCBkaXNhYmxpbmcgcG9pbnRlciBldmVudHMuXG5AbWl4aW4gYnV0dG9uLWRpc2FibGVkKCRjb2xvcjogJHByaW1hcnktY29sb3IpIHtcbiAgb3BhY2l0eTogJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjb2xvcjtcbiAgICBjb2xvcjogJGJ1dHRvbi1jb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgYWxsIHN0eWxlcyBmb3IgYSBidXR0b24uIEZvciBtb3JlIGdyYW51bGFyIGNvbnRyb2wgb3ZlciBzdHlsZXMsIHVzZSB0aGUgaW5kaXZpZHVhbCBidXR0b24gbWl4aW5zLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBtYWtlIHRoZSBidXR0b24gZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3R5bGUgW3NvbGlkXSAtIFNldCB0byBgaG9sbG93YCB0byBjcmVhdGUgYSBob2xsb3cgYnV0dG9uLiBUaGUgY29sb3IgZGVmaW5lZCBpbiBgJGJhY2tncm91bmRgIHdpbGwgYmUgdXNlZCBhcyB0aGUgcHJpbWFyeSBjb2xvciBvZiB0aGUgYnV0dG9uLlxuQG1peGluIGJ1dHRvbihcbiAgJGV4cGFuZDogZmFsc2UsXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJHN0eWxlOiAkYnV0dG9uLWZpbGxcbikge1xuICBAaW5jbHVkZSBidXR0b24tYmFzZTtcblxuICBAaWYgJHN0eWxlID09IHNvbGlkIHtcbiAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJhY2tncm91bmQsICRiYWNrZ3JvdW5kLWhvdmVyLCAkY29sb3IpO1xuICB9XG4gIEBlbHNlIGlmICRzdHlsZSA9PSBob2xsb3cge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkYmFja2dyb3VuZCk7XG4gIH1cblxuICBAaWYgJGV4cGFuZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24ge1xuICAuYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBidXR0b247XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuI3skbmFtZX0uZHJvcGRvd246OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBIb2xsb3cgc3R5bGVcbiAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAmLmhvbGxvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGU7XG5cbiAgICAgICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERyb3Bkb3duIGFycm93XG4gICAgJi5kcm9wZG93biB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZHJvcGRvd247XG5cbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgPT0gaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsICRib2R5LWZvbnQtY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3JcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNhbGxvdXQtZm9udC1jb2xvcjtcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XG4gICN7JHl9OiAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG5AbWl4aW4gbWVudS1zaW1wbGUge1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRnbG9iYWwtcmlnaHQpO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gT3JpZW50YXRpb25cbiAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcblxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIC8vIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICB6LWluZGV4OiAxMDtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU2VsZWN0b3JEZXB0aFxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC12aWRlb1xuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSA0OjMgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDE2OjkgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHBlcmNlbnRhZ2UgaGVpZ2h0IHRoYXQgY2FuIGJlIHVzZWQgYXMgcGFkZGluZyBpbiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgYHBhZGRpbmctYm90dG9tYCBwYXJhbWV0ZXIgb2YgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbkBmdW5jdGlvbiBmbGV4LXZpZGVvKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIENyZWF0ZXMgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyBbJGZsZXh2aWRlby1yYXRpb10gLSBSYXRpbyB0byB1c2UgZm9yIHRoZSBjb250YWluZXIsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJGZsZXh2aWRlby1yYXRpbykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJHJhdGlvKTtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIGZsZXgtdmlkZW87XG5cbiAgICAmLndpZGVzY3JlZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuKTtcbiAgICB9XG5cbiAgICAmLnZpbWVvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDAlOyBcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMXB4OyAvLyBQcmV2ZW50cyBtYXJnaW4gY29sbGFwc2luZywgd2hpY2ggd291bGQgcmV2ZWFsIHRoZSBib3ggc2hhZG93IG9mIHRoZSB3cmFwcGVyXG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIHBhZ2luYXRpb24gb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgbWFyZ2luIHRvIHNlcGFyYXRlIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiBmb3JlZ3JvdW5kKCRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50KSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cztcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMge1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLW1hcmdpbjtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBUaGVzZSBwcm9wZXJ0aWVzIGNhc2NhZGUgZG93biB0byB0aGUgc3dpdGNoIHRleHRcbiAgY29sb3I6ICR3aGl0ZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGlucHV0LiBBcHBseSB0aGlzIHRvIGFuIGA8aW5wdXQ+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBwYWRkbGUgb2YgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gYSBgPGxhYmVsPmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDRyZW07XG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaGVpZ2h0OiAxLjVyZW07XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXBhZGRsZS1yYWRpdXM7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAyLjI1cmVtO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0OmZvY3VzIH4gJiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2Ugc3R5bGVzIGZvciBhY3RpdmUvaW5hY3RpdmUgdGV4dCBpbnNpZGUgYSBzd2l0Y2guIEFwcGx5IHRoaXMgdG8gdGV4dCBlbGVtZW50cyBpbnNpZGUgdGhlIHN3aXRjaCBgPGxhYmVsPmAuXG5AbWl4aW4gc3dpdGNoLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1hY3RpdmUge1xuICAjeyRnbG9iYWwtbGVmdH06IDglO1xuICBkaXNwbGF5OiBub25lO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWluYWN0aXZlIHtcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMTUlO1xuXG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8vIENoYW5nZXMgdGhlIHNpemUgb2YgYSBzd2l0Y2ggYnkgbW9kaWZ5aW5nIHRoZSBzaXplIG9mIHRoZSBib2R5IGFuZCBwYWRkbGUuIEFwcGx5IHRoaXMgdG8gYSBzd2l0Y2ggY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZm9udC1zaXplIFsxcmVtXSAtIEZvbnQgc2l6ZSBvZiBsYWJlbCB0ZXh0IHdpdGhpbiB0aGUgc3dpdGNoLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzRyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtd2lkdGggWzEuNXJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIHBhZGRsZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICR3aWR0aDogNHJlbSxcbiAgJGhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS13aWR0aDogMS41cmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG4gICRwYWRkbGUtaGVpZ2h0OiAkaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtbGVmdC1hY3RpdmU6ICR3aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB3aWR0aDogJHBhZGRsZS13aWR0aDtcbiAgICBoZWlnaHQ6ICRwYWRkbGUtaGVpZ2h0O1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWxlZnQtYWN0aXZlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgM3JlbSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgMXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgMy41cmVtLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgMS4yNXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgNXJlbSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsIDJyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvciwgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgfVxuICBcbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRoZWFkIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGhlYWRlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWhlYWQtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIHRhYmxlIGZvb3RlciByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWZvb3Qtcm93LWhvdmVyO1xuICAgIH1cbiAgfVxuXG4gIHRib2R5IHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH0gQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgIHZhcmlhYmxlIGludG8gdGhlIGxlZ2FjeSBjb2xvciB2YXJpYWJsZXMsIHN1Y2ggYXMgYCRwcmltYXJ5LWNvbG9yYCBhbmQgYCRzZWNvbmRhcnktY29sb3JgLiBDYWxsIHRoaXMgbWl4aW4gYmVsb3cgdGhlIEdsb2JhbCBzZWN0aW9uIG9mIHlvdXIgc2V0dGluZ3MgZmlsZSB0byBwcm9wZXJseSBtaWdyYXRlIHlvdXIgY29kZWJhc2UuXG5AbWl4aW4gYWRkLWZvdW5kYXRpb24tY29sb3JzKCkge1xuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICAgICRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkge1xuICAgICRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSB7XG4gICAgJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2VzcykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykge1xuICAgICR3YXJuaW5nLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSB7XG4gICAgJGFsZXJ0LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZ2xvYmFsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0YWJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBvZiB0aGUgdGFiIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBhY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRhYiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiBhIHRhYiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYGV4cGFuZC1uYCBjbGFzc2VzIHRvIGluY2x1ZGUgaW4gdGhlIENTUy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gdGFicy1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkdGFiLW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250YWluZXIgdG8gaGF2ZSB2ZXJ0aWNhbCB0YWJzLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRhaW5lcigpYC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbCB7XG4gID4gbGkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGZsb2F0OiBub25lO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGxpbmtzIHdpdGhpbiBhIHRhYiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIGA8bGk+YCBlbGVtZW50cyBpbnNpZGUgYSB0YWIgY29udGFpbmVyLlxuQG1peGluIHRhYnMtdGl0bGUge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHRhYi1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHdyYXBwZXIgdGhhdCBzdXJyb3VuZHMgYSB0YWIgZ3JvdXAncyBjb250ZW50IHBhbmVzLlxuQG1peGluIHRhYnMtY29udGVudCB7XG4gIGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItdG9wOiAwO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHRhYi1jb250ZW50LXBhZGRpbmc7XG5cbiAgJi5pcy1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYnMge1xuICAudGFicyB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXI7XG4gIH1cblxuICAvLyBWZXJ0aWNhbFxuICAudGFicy52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250YWluZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBTaW1wbGVcbiAgLnRhYnMuc2ltcGxlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJpbWFyeSBjb2xvclxuICAudGFicy5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcblxuICAgID4gbGkgPiBhIHtcbiAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkcHJpbWFyeS1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnRhYnMtdGl0bGUge1xuICAgIEBpbmNsdWRlIHRhYnMtdGl0bGU7XG4gIH1cblxuICAudGFicy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQ7XG4gIH1cblxuICAudGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRlbnQtdmVydGljYWw7XG4gIH1cblxuICAudGFicy1wYW5lbCB7XG4gICAgQGluY2x1ZGUgdGFicy1wYW5lbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGh1bWJuYWlsXG4vLy8vXG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wcnRpZXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRodW1ibmFpbCBzdHlsZXMgdG8gYW4gZWxlbWVudC5cbkBtaXhpbiB0aHVtYm5haWwge1xuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICR0aHVtYm5haWwtcmFkaXVzO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGh1bWJuYWlsIHtcbiAgLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgbWF4LXdpZHRoOiAxMHJlbSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vICBCbHVlQ2hpcFxyXG4vL1x0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vL1xyXG4vLyAgVGFibGUgb2YgQ29udGVudHM6XHJcbi8vXHJcbi8vXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vXHQxLlx0R2xvYmFsXHJcbi8vXHRcdDEuMVx0XHRGb3VuZGF0aW9uIEZpeGVzXHJcbi8vXHRcdDEuMlx0XHRBbGVydCBCYW5uZXJzXHJcbi8vXHRcdDEuM1x0XHREaXZpZGVyXHJcbi8vXHRcdDEuNFx0XHRQYWdpbmF0aW9uXHJcbi8vXHRcdDEuNVx0XHRQYW5lbHNcclxuLy9cdFx0MS42XHRcdFNjcm9sbCBVcCBCdXR0b25cclxuLy9cdFx0MS43XHRcdFR5cG9ncmFwaHlcclxuLy9cdFx0MS44XHRcdFV0aWxpdHkgQ2xhc3Nlc1xyXG4vL1x0XHQxLjkgXHRMb2cgSW4gTWVzc2FnZVxyXG4vL1x0XHQxLjEwXHRXcmFwcGVyXHJcbi8vXHRcdDEuMTEgXHRBRSBBZGp1c3RtZW50c1xyXG4vL1x0XHQxLjEyICBcdFRhYmxlc1xyXG4vL1x0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vL1x0Mi5cdEljb25zXHJcbi8vXHRcdDIuMVx0XHRCYXNlIEljb24gU3R5bGluZ1xyXG4vL1x0XHQyLjJcdFx0UHJvZHVjdCBGb3JtYXQgSWNvbnNcclxuLy9cdFx0Mi4zXHRcdFNvY2lhbCBJY29uc1xyXG4vL1x0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vL1x0My5cdENhcmRzXHJcbi8vXHRcdDMuMVx0XHRCYXNlIENhcmQgU3R5bGluZ1xyXG4vL1x0XHQzLjJcdFx0TGlzdGluZyBDYXJkc1xyXG4vL1x0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vL1x0NC5cdEhlYWRlclxyXG4vL1x0XHQ0LjFcdFx0QmFubmVyXHJcbi8vXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy9cdDUuXHROYXZpZ2F0aW9uXHJcbi8vXHRcdDUuMVx0XHRQcmltYXJ5IE5hdmlnYXRpb24gKGRlc2t0b3ApXHJcbi8vXHRcdDUuMlx0XHRPZmYgQ2FudmFzIE5hdmlnYXRpb24gKHRhYmxldCwgcGhvbmUpXHJcbi8vXHRcdDUuM1x0XHRTaWRlIE5hdmlnYXRpb25cclxuLy9cdFx0NS40XHRcdFF1aWNrIExpbmtzXHJcbi8vXHRcdDUuNVx0XHRTdGlja3kgTmF2c1xyXG4vL1x0PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vL1x0Ni5cdENhdGFsb2dcclxuLy9cdFx0Ni4xXHRcdENhdGFsb2cgRmlsdGVyc1xyXG4vL1x0XHQ2LjJcdFx0UHJvZHVjdCBMaXN0aW5nXHJcbi8vXHQ9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi8vXHQ3LiBcdFByb2R1Y3RzXHJcbi8vXHRcdDcuMVx0XHRQcm9kdWN0IEhlYWRpbmdcclxuLy9cdFx0Ny4yXHRcdFByb2R1Y3QgU3ViaGVhZFxyXG4vL1x0XHQ3LjNcdFx0UHJvZHVjdCBGb3JtYXQgV3JhcHBlclxyXG4vL1x0XHQ3LjRcdFx0UHJvZHVjdCBDcmVkaXRzXHJcbi8vXHRcdDcuNVx0XHRQcm9kdWN0IFByaWNlIEJ1dHRvbnNcclxuLy9cdFx0Ny42XHRcdFByb2R1Y3QgUGFnZSBTZWN0aW9uc1xyXG4vL1x0XHQ3LjdcdFx0UHJvZHVjdCBTdXBwbGVtZW50YWwgQmxvY2tcclxuLy9cdFx0Ny44XHRcdFByb2R1Y3QgRGF0ZXMgVGFibGVcclxuLy9cdFx0Ny45XHRcdFByb2R1Y3QgUHJpY2UgVGFibGVcclxuLy9cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy9cdDguIFx0UGFnZXNcclxuLy9cdFx0OC4xXHRcdEJsb2dcclxuLy8gXHRcdDguMlx0XHRGYWN1bHR5IExpc3RcclxuLy8gXHRcdDguM1x0XHRGb290ZXJcclxuLy8gXHRcdDguNFx0XHRIZXJvIFNlY3Rpb25zXHJcbi8vXHRcdDguNVx0XHRIb21lIFBhZ2VcdFx0XHRcdFxyXG4vLyBcdFx0OC42XHRcdExvY2F0aW9ucyBEaXJlY3RvcnlcclxuLy9cdD09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuLy9cdDkuIFx0VXNlciBBY2NvdW50XHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMS4gR2xvYmFsXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG4vLyAxLjEgRm91bmRhdGlvbiBGaXhlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gQnV0dG9uIEdyb3VwIGZpeCBmb3IgRm91bmRhdGlvbiA2LjIuMVxyXG4gLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uIHtcclxuICAgIG1hcmdpbi1yaWdodDogMDtcclxufVxyXG5cclxuLmJ1dHRvbi1ncm91cCAuYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xyXG4gICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2ZlZmVmZTtcclxufVxyXG5cclxuLy8gMS4yIEFsZXJ0IEJhbm5lcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5hbGVydC1iYW5uZXItd3JhcHBlciB7XHJcbiAgYmFja2dyb3VuZDogcmVkO1xyXG59XHJcbi53YXJuaW5nLWJhbm5lci13cmFwcGVyIHtcclxuICBiYWNrZ3JvdW5kOiAkcGJpeWVsbG93O1xyXG59XHJcbi5ncmF5LWJhbm5lci13cmFwcGVyIHtcclxuXHRiYWNrZ3JvdW5kOiBsaWdodGVuKCRsaWdodC1ncmF5LCA3JSk7XHJcbn1cclxuXHJcbi53YXJuaW5nLWJhbm5lci13cmFwcGVyIC5jYWxsb3V0LFxyXG4uYWxlcnQtYmFubmVyLXdyYXBwZXIgLmNhbGxvdXQsXHJcbi5ncmF5LWJhbm5lci13cmFwcGVyIC5jYWxsb3V0IHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYmFja2dyb3VuZDogbm9uZTtcclxuICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuLmFsZXJ0LWJhbm5lci13cmFwcGVyIC5jYWxsb3V0IHtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi53YXJuaW5nLWJhbm5lci13cmFwcGVyIC5jYWxsb3V0IHtcclxuICBjb2xvcjogIzk2MDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uZ3JheS1iYW5uZXItd3JhcHBlciAuY2FsbG91dCB7XHJcblx0Y29sb3I6ICRkYXJrLWdyYXk7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxufVxyXG5cclxuLy8gMS4zIERpdmlkZXJzXHJcbi8vIC0tLS0tLS0tLS0tLVxyXG5cclxuaHIuZGl2aWRlciB7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAxMHJlbTtcclxuICAgIGhlaWdodDogLjM1cmVtO1xyXG4gICAgYm9yZGVyOiAwO1xyXG4gICAgbWFyZ2luLXRvcDogMnJlbTtcclxuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcbi5kaXZpZGVyIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDRweDtcclxuXHRiYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XHJcbn1cclxuXHJcbi5kaXZpZGVyLXRoaW4ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMnB4O1xyXG5cdGJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuaHIuZG90dGVkIHtcclxuXHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuLy8gMS40IFBhZ2luYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5wYWdlci1sZWZ0IHtcclxuICBmb250LXNpemU6IDAuNzVyZW07XHJcbiAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLnBhZ2luYXRpb24gLmN1cnJlbnQge1xyXG4gICAgYmFja2dyb3VuZDogJHBiaWJsdWU7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIGEsIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XHJcbiAgICAvL2NvbG9yOiAkZGFyay1ncmF5O1xyXG4gICAgY29sb3I6ICM1MDUwNTA7XHJcbn1cclxuXHJcbi5wYWdpbmF0aW9uIGE6aG92ZXIsIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XHJcbiAgICBiYWNrZ3JvdW5kOiAkcGJpeWVsbG93O1xyXG4gICAgY29sb3I6ICRwYmlibHVlO1xyXG59XHJcblxyXG4vLyAxLjUgUGFuZWxzXHJcbi8vIC0tLS0tLS0tLS1cclxuXHJcbi5wYW5lbCB7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRwYWRkaW5nOiAxLjVyZW07XHJcblxyXG5cdHVsLCBvbCwgdWwgdWwsIG9sIG9sIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG5cclxuXHRoMSxoMixoMyxoNCxoNSxoNiB7XHJcblx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdH1cclxuXHJcblx0cDpsYXN0LW9mLXR5cGUge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wYW5lbC1kYXJrIHtcclxuXHRiYWNrZ3JvdW5kOiAkd2hpdGVzbW9rZTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0bWFyZ2luOiAwIDAgMS41cmVtO1xyXG5cdHBhZGRpbmc6IDEuNXJlbTtcclxuXHJcblx0dWwsIG9sLCB1bCB1bCwgb2wgb2wge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcblxyXG5cdGgxLGgyLGgzLGg0LGg1LGg2IHtcclxuXHRcdG1hcmdpbi10b3A6IDA7XHJcblx0fVxyXG5cclxuXHRwOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdH1cclxufVxyXG5cclxuLy8gMS42IFNjcm9sbCBVcCBCdXR0b25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuI3Njcm9sbFVwIHtcclxuICBib3R0b206IDIwcHg7XHJcbiAgcmlnaHQ6IDIwcHg7XHJcbiAgcGFkZGluZzogMTBweCAyMHB4O1xyXG4gIGJhY2tncm91bmQ6ICM1NTU7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLy8gMS43IFR5cG9ncmFwaHlcclxuLy8gLS0tLS0tLS0tLS0tLS1cclxuXHJcbkBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0aHRtbCB7XHJcblx0XHRmb250LXNpemU6IDExNSU7XHJcblx0fVxyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50KHh4bGFyZ2UpIHtcclxuXHRodG1sIHtcclxuXHRcdGZvbnQtc2l6ZTogMTMwJTtcclxuXHR9XHJcbn1cclxuXHJcbmgxLCBoMiwgaDMsIGg0IHtcclxuICBtYXJnaW46IDEuNDE0cmVtIDAgMC41cmVtO1xyXG59XHJcblxyXG4uZ3JheSB7Y29sb3I6IGdyYXk7fVxyXG5cclxuc21hbGwsIC5mb250X3NtYWxsIHtmb250LXNpemU6IDAuNzVlbTt9XHJcblxyXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4uYXV0by11cGRhdGUge1xyXG5cdGZvbnQtc2l6ZTogMC44NXJlbTtcclxufVxyXG5cclxuLmxpbmUtaGVpZ2h0LXNtYWxsIHtcclxuICBsaW5lLWhlaWdodDogMS4xO1xyXG59XHJcblxyXG4udXBwZXJjYXNlIHtcclxuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4udW5hdmFpbGFibGUge1xyXG4gIGNvbG9yOiAkZGFyay1ncmF5O1xyXG59XHJcblxyXG4ucGJpYmx1ZSB7XHJcbiAgY29sb3I6ICRwYmlibHVlO1xyXG59XHJcblxyXG4ud2hpdGUsXHJcbi53aGl0ZSBhIHtcclxuICBjb2xvcjogJHdoaXRlO1xyXG59XHJcblxyXG4ubm9ybWFsIHtcclxuICBmb250LXdlaWdodDogbm9ybWFsO1xyXG59XHJcblxyXG4ubm8tbWFyZ2luLXRvcCB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxufVxyXG5cclxuLnBhZGRpbmctYm90dG9tIHtcclxuICBwYWRkaW5nLWJvdHRvbTogMy4xNTdyZW07XHJcbn1cclxuXHJcbi52YWxpZ24tbWlkZGxlIHtcclxuICBkaXNwbGF5OiB0YWJsZTtcclxuICBzdHJvbmcge1xyXG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcclxuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgfVxyXG59XHJcblxyXG5hIHtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHQvLyB0cmFuc2l0aW9uOmFsbCAwLjNzIGVhc2UtaW4tb3V0O1xyXG59XHJcblxyXG4uc3RyaWtlIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xyXG4gICAgY29sb3I6ICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuaDEuc2VhcmNoLXJlc3VsdHMtdGl0bGUge1xyXG5cdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMi41cmVtO1xyXG59XHJcblxyXG4uc2VhcmNoLWhpZ2hsaWdodCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHBiaXllbGxvdztcclxufVxyXG5cclxuc3VwIHtcclxuXHRmb250LXNpemU6IDYwJTtcclxuXHR0b3A6IC0wLjRlbTtcclxufVxyXG5cclxuLy8gMS44IFV0aWxpdHkgQ2xhc3Nlc1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uZmxvYXQtbGVmdC1sYXJnZSB7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcclxuXHRcdGZsb2F0OiBsZWZ0O1xyXG5cdH1cclxufVxyXG5cclxuLmxhc3Qge1xyXG4gIGJvcmRlcjogMDtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gZG93bikge1xyXG4gICAgLm1hZ2VsbGFuLWNvbnRhaW5lciB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBcclxuICAgIHVsIHtcclxuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnJhZGlvLWxpc3QgbGkgeyAvLyBQcm92aWRlcyB2ZXJ0aWNhbCBzcGFjaW5nIHdoZW4gdXNpbmcgcmFkaW8gYnV0dG9ucyBpbiBhIGxpc3RcclxuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4ucmVkIHtcclxuXHRjb2xvcjogcmVkO1xyXG59XHJcblxyXG4uY2xvc2UtYnV0dG9uLXNtYWxsIHtcclxuXHRmb250LXNpemU6IDEuNXJlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxufVxyXG5cclxuLy8gMS45IExvZyBJbiBNZXNzYWdlXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi8vIFByb21wdHMgdXNlcnMgdG8gbG9nIGluIHRvIHNlZSBwZXJzb25hbGl6ZWQgdHVpdGlvblxyXG4ubG9naW4tbWVzc2FnZSB7XHJcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxO1xyXG4gIG1hcmdpbi10b3A6IDFyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG59XHJcblxyXG4vLyAxLjEwIFdyYXBwZXJcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gR3JheSB3cmFwcGVyIHVzZWQgdGhyb3VnaG91dCB0aGUgc2l0ZVxyXG4ud3JhcHBlciB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0LWdyYXk7XHJcblx0cGFkZGluZzogMnJlbSAwO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cdFx0cGFkZGluZzogMy4xNTdyZW0gMDtcdFxyXG5cdH1cclxufVxyXG5cclxuLy8gMS4xMSBBRSBHbG9iYWwgQWRqdXN0bWVudHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmhpZGRlbiB7IGRpc3BsYXk6bm9uZSAhaW1wb3J0YW50OyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuLnZpc3VhbGx5aGlkZGVuLCAudmlzdWFsbHktaGlkZGVuLCAudmlzdWFsbHlIaWRkZW4geyBwb3NpdGlvbjphYnNvbHV0ZTsgb3ZlcmZsb3c6aGlkZGVuOyBjbGlwOnJlY3QoMCAwIDAgMCk7IG1hcmdpbjotMXB4OyBwYWRkaW5nOjA7IGJvcmRlcjowOyB3aWR0aDoxcHg7IGhlaWdodDoxcHg7IH1cclxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTphY3RpdmUsIC52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMgeyBwb3NpdGlvbjpzdGF0aWM7IG92ZXJmbG93OnZpc2libGU7IGNsaXA6YXV0bzsgbWFyZ2luOjA7IHdpZHRoOmF1dG87IGhlaWdodDphdXRvOyB9XHJcbi5pbnZpc2libGUgeyB2aXNpYmlsaXR5OmhpZGRlbjsgfVxyXG5cclxuXHJcbmhlYWRlciwgbWFpbiwgZm9vdGVyLCBzZWN0aW9uLCBhc2lkZSB7b3V0bGluZTowO31cclxuXHJcbi8vIEFkbWluIEZpeGVzIHRvIGNoYW5nZSBjb250ZW50IHdpdGhpbiBjZXJ0YWluIHJlZ2lvbnMuXHJcbi5zZlBhZ2VFZGl0b3Ige1xyXG5cdHRhYmxlIHtcclxuXHRcdHRib2R5IHtib3JkZXI6MDsgYmFja2dyb3VuZDpub25lO31cclxuXHR9XHJcblx0LmhpZGUtZm9yLWxhcmdlIHtkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O31cclxufVxyXG5cclxuLy8gLnNmUHVibGljV3JhcHBlciA+IC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xyXG4vLyBcdHRyYW5zZm9ybTogbm9uZTtcclxuLy8gXHRAbWVkaWEobWF4LXdpZHRoOjYzLjkzNzVlbSl7XHJcbi8vIFx0XHQmLmlzLW9wZW4tbGVmdCB7dHJhbnNmb3JtOnRyYW5zbGF0ZVgoMjUwcHgpO31cclxuLy8gXHR9XHJcbi8vIH1cclxuXHJcbi8vIDEuMTIgVGFibGVzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxudGFibGUge1xyXG5cclxuXHQmLnZ0b3Age1xyXG5cdFx0dGQge1xyXG5cdFx0XHR2ZXJ0aWNhbC1hbGlnbjogdG9wO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0dGQubm93cmFwIHtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0fVxyXG5cclxuXHQvLyB0Ym9keSB0ZCB7XHJcblx0Ly8gXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cdC8vIH1cclxufVxyXG5cclxuLnJldGFibGUge1xyXG5cclxuXHRzdHJvbmcge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR9XHJcblxyXG5cdHRoZWFkIHtcclxuXHRcdGJhY2tncm91bmQ6IG5vbmU7XHJcblxyXG5cdFx0dGgge1xyXG5cdFx0XHRmb250LXNpemU6IDAuNjVyZW07XHJcblx0XHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0gdXApIHtcclxuXHRcdHRyIHtcclxuXHRcdFx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkbWVkaXVtLWdyYXk7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChzbWFsbCBvbmx5KSB7XHJcblx0XHR0aGVhZCB0ciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAtOTk5OXB4O1xyXG5cdFx0XHRsZWZ0OiAtOTk5OXB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdHRyIHtcclxuXHRcdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0dGQge1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0cGFkZGluZzogMC41cmVtIDAuNXJlbSAwLjVyZW0gMC41cmVtO1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdH1cclxuXHJcblx0XHR0ZC5ydC1hdXRvIHtcclxuXHRcdFx0d2lkdGg6IGF1dG87XHJcblx0XHR9XHJcblxyXG5cdFx0dGQucnQtMTIge1xyXG5cdFx0XHR3aWR0aDogMTIuNSU7XHJcblx0XHR9XHJcblxyXG5cdFx0dGQucnQtMjUge1xyXG5cdFx0XHR3aWR0aDogMjUlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRkLnJ0LTMzIHtcclxuXHRcdFx0d2lkdGg6IDMzJTtcclxuXHRcdH1cclxuXHJcblx0XHR0ZC5ydC01MCB7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHR9XHJcblxyXG5cdFx0dGQucnQtODgge1xyXG5cdFx0XHR3aWR0aDogODcuNSU7XHJcblx0XHR9XHJcblxyXG5cdFx0dGQucnQtNzUge1xyXG5cdFx0XHR3aWR0aDogNzUlO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjIuIEljb25zXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcbi8vIE5PVEU6IEljb24gZm9udCBzdHlsZXMgbG9jYXRlZCBpbiBfcGJpY29ucy5zY3NzXHJcblxyXG4vLyAyLjEgQmFzZSBJY29uIFN0eWxpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uaWNvbi13cmFwcGVyLFxyXG4uaWNvbi13cmFwcGVyLXhsYXJnZSxcclxuLmljb24td3JhcHBlci1sYXJnZSxcclxuLmljb24td3JhcHBlci1zbWFsbCxcclxuLmljb24td3JhcHBlci14c21hbGwge1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwMCU7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGhlaWdodDogMS41cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR3aWR0aDogMS41cmVtO1xyXG5cclxuXHRpLCBzcGFuIHtcclxuXHRcdGNvbG9yOiAkd2hpdGU7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDAuN3JlbTtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjVyZW07XHJcblx0fVxyXG5cclxufVxyXG5cclxuLmljb24td3JhcHBlci14bGFyZ2Uge1xyXG4gIGhlaWdodDogNXJlbTtcclxuICBsaW5lLWhlaWdodDogMy44O1xyXG4gIHdpZHRoOiA1cmVtO1xyXG5cclxuICBpLCBzcGFuIHtcclxuICAgIC8vZm9udC1zaXplOiAzLjE1N3JlbTtcclxuICAgIGZvbnQtc2l6ZTogMi4zNjlyZW07XHJcbiAgICBsaW5lLWhlaWdodDogNXJlbTtcclxuICB9XHJcblxyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLWxhcmdlIHtcclxuXHRoZWlnaHQ6IDIuM3JlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHR3aWR0aDogMi4zcmVtO1xyXG5cclxuXHRpLCBzcGFuIHtcclxuXHRcdGZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdFx0bGluZS1oZWlnaHQ6IDIuM3JlbTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXNtYWxsIHtcclxuXHRoZWlnaHQ6IDEuMjVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0d2lkdGg6IDEuMjVyZW07XHJcblxyXG5cdGksc3BhbiB7XHJcblx0XHRmb250LXNpemU6IDAuNTVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMS4yNXJlbTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXhzbWFsbCB7XHJcblx0aGVpZ2h0OiAuODVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0d2lkdGg6IC44NXJlbTtcclxuXHJcblx0aSwgc3BhbiB7XHJcblx0XHRmb250LXNpemU6IDAuNDVyZW07XHJcblx0XHRsaW5lLWhlaWdodDogMC45cmVtO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5pY29uMjQge1xyXG5cdHdpZHRoOiAxLjVyZW07XHJcblx0aGVpZ2h0OiAxLjVyZW07XHJcbn1cclxuXHJcbi5pY29uNDgge1xyXG5cdHdpZHRoOiAzcmVtO1xyXG5cdGhlaWdodDogM3JlbTtcclxufVxyXG5cclxuLy8gREVWIE9OTFkgLS0gUkVDT01NRU5ERUQgUFJPRFVDVCBDT05DRVBUXHJcbi8vIFZhcmlvdXMgc3R5bGluZyBmb3IgdGhlIGRpZmZlcmVudCBjb25jZXB0c1xyXG4vLyBFeHRyYSBzdHlsZXMgc2hvdWxkIGJlIGRlbGV0ZWQgYmVmb3JlIHByb2R1Y3Rpb25cclxuXHJcbi50cnVuY2F0ZSB7XHJcbiAgd2lkdGg6IDI1MHB4O1xyXG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcclxufVxyXG5cclxuLnNtYWxsLWNhcmQtYnV0dG9uIHtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICBcdG1hcmdpbi10b3A6IDFyZW07XHJcbiAgfVxyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLFxyXG4uaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLTIsXHJcbi5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMyxcclxuLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC00IHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0Ly9oZWlnaHQ6IDVyZW07XHJcblx0bGluZS1oZWlnaHQ6IDEuOHJlbTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGNvbG9yOiAjZmZmO1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcbiAgXHJcblx0aSxzcGFuIHtcclxuXHRcdGNvbG9yOiB3aGl0ZTtcclxuICBcdGZvbnQtc2l6ZTogMS43NzdyZW07XHJcbiAgXHRsaW5lLWhlaWdodDogMi4zcmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC00IHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHQtZ3JheTtcclxuICBjb2xvcjogJGRhcmstZ3JheTtcclxuICBcclxuICBpLHNwYW4ge1xyXG4gICAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgfVxyXG4gIFxyXG4gICY6aG92ZXIge1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjEpO1xyXG4gIH1cclxufVxyXG5cclxuLmljb24td3JhcHBlci1yZWNvbW1lbmRlZC0yLFxyXG4uaWNvbi13cmFwcGVyLXJlY29tbWVuZGVkLTMge1xyXG4gIGNvbG9yOiAjMDAwO1xyXG4gIFxyXG4gIGksc3BhbiB7XHJcbiAgICBmb250LXNpemU6IDIuMzY5cmVtO1xyXG4gIH1cclxuICBcclxuICAmOmhvdmVyIHtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4xKTtcclxuICB9XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItcmVjb21tZW5kZWQtMyBpIHtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBsaW5lLWhlaWdodDogMi41O1xyXG59XHJcblxyXG4uZmF1eC1ib3JkZXIge1xyXG4gIGhlaWdodDogNXB4O1xyXG59XHJcblxyXG4vLyAyLjIgUHJvZHVjdCBGb3JtYXQgSWNvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4uaWNvbi13cmFwcGVyLWxpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwdXJwbGU7XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItc2ltdWxjYXN0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkY3lhbjtcclxufVxyXG5cclxuLmljb24td3JhcHBlci13ZWJjYXN0IHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkO1xyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXdlYmluYXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlO1xyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXZpZGVvIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRncmVlbjtcclxufVxyXG5cclxuLmljb24td3JhcHBlci1vbi1kZW1hbmQtdmlkZW8ge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwaW5rO1xyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXBvZGNhc3Qge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2U7XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXIteWVsbG93LWJvb2sge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRkYXJreWVsbG93O1xyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXBiaS1wcmVzcyB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGluZGlnbztcclxufVxyXG5cclxuLmljb24td3JhcHBlci1hdWRpby1jZCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGRlZXBvcmFuZ2U7XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItZWJvb2sge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodGJsdWU7XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItZHZkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYnJvd247XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItZS1kb2Mge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRkZWVwcHVycGxlO1xyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLWJvb2stb24tY2Qge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRncmVlbjtcclxufVxyXG5cclxuLmljb24td3JhcHBlci11c2Ige1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRsaW1lO1xyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLWRvd25sb2FkYWJsZS1ib29rIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZWdyZXk7XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItY2FsZW5kYXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLWVtYWlsIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiBmaXJlYnJpY2s7XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItYnVuZGxlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkZGVlcG9yYW5nZTtcclxufVxyXG5cclxuLmljb24td3JhcHBlci1zY2FsZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGdhaW5zYm9ybztcclxuXHJcblx0aSB7XHJcblx0XHRjb2xvcjogJGNoYXJjb2FsO1xyXG5cdH1cclxufVxyXG5cclxuLmljb24td3JhcHBlci1zY2FsZS13aGl0ZSB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XHJcblxyXG5cdGkge1xyXG5cdFx0Y29sb3I6ICRjaGFyY29hbDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIDIuMyBTb2NpYWwgSWNvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLy8gU3R5bGluZyBmb3IgZm9vdGVyIGljb25zIGZpcnN0LCBcclxuLy8gc28gdGhleSBpbmhlcnQgOmhvdmVyXHJcbi5mb290ZXItdHdvIC5pY29uLXdyYXBwZXItdHdpdHRlcixcclxuLmZvb3Rlci10d28gLmljb24td3JhcHBlci1mYWNlYm9vayxcclxuLmZvb3Rlci10d28gLmljb24td3JhcHBlci1saW5rZWRpbixcclxuLmZvb3Rlci10d28gLmljb24td3JhcHBlci1nb29nbGUtcGx1cyxcclxuLmZvb3Rlci10d28gLmljb24td3JhcHBlci15b3V0dWJlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XHJcbn1cclxuXHJcbi5mb290ZXItdHdvIC5pY29uLXR3aXR0ZXIsXHJcbi5mb290ZXItdHdvIC5pY29uLWZhY2Vib29rLFxyXG4uZm9vdGVyLXR3byAuaWNvbi1saW5rZWRpbixcclxuLmZvb3Rlci10d28gLmljb24tZ29vZ2xlLXBsdXMsXHJcbi5mb290ZXItdHdvIC5pY29uLXlvdXR1YmUge1xyXG4gIGNvbG9yOiBkYXJrZW4oJHBiaWJsdWUsIDUlKTtcclxuICBcclxuICAmOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXR3aXR0ZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICM1NWFjZWU7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCM1NWFjZWUsIDEwJSk7XHJcblx0fVxyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLWZhY2Vib29rIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAjM2I1OTk4O1xyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogbGlnaHRlbigjM2I1OTk4LCAxMCUpO1xyXG5cdH1cclxufVxyXG5cclxuLmljb24td3JhcHBlci1saW5rZWRpbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogIzAwNzdiNTtcclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oIzAwNzdiNSwgMTAlKTtcclxuXHR9XHJcbn1cclxuXHJcbi5pY29uLXdyYXBwZXItZ29vZ2xlLXBsdXMge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNkZDRiMzk7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCNkZDRiMzksIDEwJSk7XHJcblx0fVxyXG59XHJcblxyXG4uaWNvbi13cmFwcGVyLXlvdXR1YmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICNjZDIwMWY7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiBsaWdodGVuKCNjZDIwMWYsIDEwJSk7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuMy4gQ2FyZHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi8vIDMuMSBCYXNlIENhcmQgU3R5bGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5jYXJkIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG59XHJcblxyXG4uY2FyZCwgLmxpc3RpbmctY2FyZCxcclxuLmxpc3RpbmctY2FyZC1ncmlkIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHRcclxuXHRib3gtc2hhZG93OiAwIDJweCA1cHggcmdiYSgwLDAsMCwuMyk7XHJcblx0Zm9udC1zaXplOiAwLjg1cmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDEuNXJlbTtcclxuXHRwYWRkaW5nOiAxLjc1cmVtIDEuNzVyZW0gMS41cmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDAsMCwwLDAuMTkpLCAwIDZweCA2cHggcmdiYSgwLDAsMCwwLjMpO1xyXG5cdH1cclxuXHJcblx0Lmhhcy10aXAge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcbi5jYXJkLXRpdGxlIHtcclxuXHRmb250LXNpemU6IDEuMzc1cmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XHJcblx0cGFkZGluZy10b3A6IDAuNXJlbTtcdFxyXG5cclxuXHRhIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHRcdGJvcmRlci10b3A6IG5vbmU7XHJcblx0XHRtaW4taGVpZ2h0OiA1cmVtO1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0fVxyXG5cclxufVxyXG5cclxuLy8gMy4yIExpc3RpbmcgQ2FyZHNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5saXN0aW5nLWNhcmQge1xyXG4gIGZsb2F0OiBsZWZ0O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHJcbiAgdGFibGUucHJvZHVjdC1wcmljZS1ibG9jayB7XHJcbiAgXHRtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG4gIH1cclxuXHJcbiAgdGQucHJvZHVjdC1wcmljZS1ibG9jay1kZXNjIHtcclxuXHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIH1cclxuXHJcbiAgdGQucHJvZHVjdC1wcmljZS1ibG9jay1wcmljZSB7XHJcblx0Zm9udC1zaXplOiAxLjM1cmVtO1xyXG5cdHBhZGRpbmctdG9wOiAwLjZyZW07XHJcblx0cGFkZGluZy1ib3R0b206IDAuNnJlbTtcclxuICB9XHJcbn1cclxuXHJcbi5saXN0aW5nLWNhcmQtbWV0YSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cdC8vIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwLjVyZW07XHJcblx0fVxyXG59XHJcblxyXG4ubGlzdGluZy1jYXJkLXN1cHBsZW1lbnRhbCB7XHJcbiAgLy8gZm9udC13ZWlnaHQ6IDYwMDtcclxuICBwYWRkaW5nLWJvdHRvbTogMC43NXJlbTtcclxuXHJcbiAgc3Ryb25nIHtcclxuICBcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuICBcdG1hcmdpbi10b3A6IDAuNXJlbTtcclxuICBcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgXHRwYWRkaW5nLXRvcDogMXJlbTtcclxuICBcdHBhZGRpbmctYm90dG9tOiAwO1xyXG4gIH1cclxufVxyXG5cclxuLmxpc3RpbmctY2FyZC1leGNlcnB0IHtcclxuXHRtYXJnaW4tdG9wOiAxcmVtO1xyXG59XHJcblxyXG5AaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cclxuXHQuY2FyZC1ib3R0b20ge1xyXG5cdFx0Ly9oZWlnaHQ6IDZyZW07XHJcblxyXG5cdFx0Lmxpc3RpbmctY2FyZC1wdXJjaGFzZSB7XHJcblx0XHRcdC8vcG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiAxLjc1cmVtO1xyXG5cdFx0XHRyaWdodDogMS43NXJlbTtcclxuXHRcdFx0Ym90dG9tOiAxLjc1cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbn1cclxuXHJcbi5saXN0aW5nLWNhcmQtZ3JpZCB7XHJcbiAgbWFyZ2luLXRvcDogMDtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG59XHJcblxyXG4uaGlnaGxpZ2h0ZWQtY2FyZCB7XHJcblx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRwYml5ZWxsb3c7XHJcbn1cclxuXHJcbi5saXN0aW5nLWNhcmQtZGF0ZSB7XHJcblx0Ly8gY29sb3I6ICRjaGFyY29hbDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0Zm9udC1zaXplOiAwLjlyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4ubGlzdGluZy1jYXJkLW1haW4ge1xyXG5cclxufVxyXG5cclxuLmxpc3RpbmctY2FyZC10aXRsZSxcclxuLnJlYy1saXN0aW5nLWNhcmQtdGl0bGUsXHJcbi5yZWMtbGlzdGluZy1jYXJkLXRpdGxlLTIge1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0Zm9udC1zaXplOiAxLjc3N3JlbTtcclxuXHRsZXR0ZXItc3BhY2luZzogLTFweDtcclxuXHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdG1hcmdpbi10b3A6IDAuNXJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cdHBhZGRpbmctdG9wOiAwLjVyZW07XHRcclxuXHJcblx0YSB7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblx0XHRib3JkZXItdG9wOiBub25lO1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0fVxyXG59XHJcblxyXG4ucmVjLWxpc3RpbmctY2FyZC10aXRsZS0yIHtcclxuICBmb250LXNpemU6IDEuMzMzcmVtO1xyXG4gIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgbWFyZ2luLXRvcDogMXJlbTtcclxufVxyXG5cclxuLmxpc3RpbmctY2FyZC1zdWJoZWFkZXIge1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBjb2xvcjogJGRhcmstZ3JheTtcclxuICBtYXJnaW4tdG9wOiAwO1xyXG59XHJcblxyXG4ubGlzdGluZy1jYXJkLWZvcm1hdC13cmFwcGVyIHtcclxuXHQvL2JvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0Ly8gYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHQvL21hcmdpbjogMC43NXJlbSAwIDFyZW07XHJcblx0bWFyZ2luOiAxcmVtIDAgMXJlbTtcclxuXHQvLyBwYWRkaW5nLXRvcDogMC41cmVtO1xyXG59XHJcblxyXG4ubGlzdGluZy1jYXJkLWZvcm1hdCB7XHJcblx0bWFyZ2luOiAwLjI1cmVtIDAgMC4yNXJlbSAwO1xyXG5cclxuXHQuaWNvbi13cmFwcGVyIHtcclxuXHRcdG1hcmdpbjogMCAwLjFyZW0gMC4xNXJlbSAwO1xyXG5cdH1cclxufVxyXG5cclxuLy8gLmxpc3RpbmctY2FyZC10aW1lIHtcclxuXHQvLyAvLyBjb2xvcjogJGNoYXJjb2FsO1xyXG5cdC8vIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHQvLyAvLyBmb250LXdlaWdodDogNjAwO1xyXG5cdC8vIG1hcmdpbjogMCAwIDAuMjVyZW0gMDtcclxuXHQvLyBzdHJvbmcge1xyXG5cdFx0Ly8gZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHQvLyB9XHJcbi8vIH1cclxuXHJcbi5saXN0aW5nLWNhcmQtY3JlZGl0cyB7XHJcblx0Ly8gY29sb3I6ICRjaGFyY29hbDtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0Ly8gZm9udC13ZWlnaHQ6IDYwMDtcclxuXHRzdHJvbmcge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHR9XHJcbn1cclxuXHJcbi5saXN0aW5nLWNhcmQtcmVjb3JkZWQge1xyXG5cdC8vIGNvbG9yOiAkY2hhcmNvYWw7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdC8vIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0bWFyZ2luOiAwIDAgMC4yNXJlbSAwO1xyXG5cdHN0cm9uZyB7XHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdH1cclxufVxyXG5cclxuLmxpc3RpbmctY2FyZC1wdXJjaGFzZSB7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRtYXJnaW4tdG9wOiAwLjc1cmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHQuYnV0dG9uIHtcclxuXHRcdG1hcmdpbjogMDtcclxuXHRcdGJvcmRlci13aWR0aDogMnB4O1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLDAsMCwwLjQpO1xyXG5cdH1cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcclxuXHJcblxyXG5cdC5saXN0aW5nLWNhcmQge1xyXG5cdFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHJcblx0XHQubGlzdGluZy1jYXJkLW1haW4sIC5saXN0aW5nLWNhcmQtcHVyY2hhc2Uge1xyXG5cdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmxpc3RpbmctY2FyZC1kYXRlIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmxpc3RpbmctY2FyZC1tYWluIHtcclxuXHRcdFx0Y2xlYXI6IGJvdGg7XHJcblx0XHRcdHBhZGRpbmctcmlnaHQ6IDEuNzdyZW07XHJcblx0XHRcdHdpZHRoOiA2MCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Lmxpc3RpbmctY2FyZC1mb3JtYXQge1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwLjZyZW07XHJcblx0XHRcdC5pY29uLXdyYXBwZXIge1xyXG5cdFx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHRcdG1hcmdpbi10b3A6IC0wLjJyZW07XHJcblx0XHRcdFx0bWFyZ2luLXJpZ2h0OiAwLjM1cmVtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Lmxpc3RpbmctY2FyZC1jcmVkaXRzIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHdpZHRoOiA1MCU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ly8gLmxpc3RpbmctY2FyZC10aW1lIHtcclxuXHRcdFx0Ly8gZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdC8vIHdpZHRoOiA1MCU7XHJcblx0XHQvLyB9XHJcblxyXG5cdFx0Lmxpc3RpbmctY2FyZC1yZWNvcmRlZCB7XHJcblx0XHRcdGZsb2F0OiBsZWZ0O1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5saXN0aW5nLWNhcmQtcHVyY2hhc2Uge1xyXG5cdFx0XHRib3JkZXItdG9wOiBub25lO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAwO1xyXG5cdFx0XHR3aWR0aDogNDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5saXN0aW5nLWNhcmQtcHJpY2UtbGlzdCB7XHJcblx0XHRcdGZsb2F0OiByaWdodDtcclxuXHRcdFx0d2lkdGg6IDQwJTtcclxuXHRcdH1cclxuXHJcblx0fVxyXG5cclxufVxyXG5cclxuQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHJcblx0Lmxpc3RpbmctY2FyZCB7XHJcblxyXG5cdFx0Lmxpc3RpbmctY2FyZC1tYWluIHtcclxuXHRcdFx0d2lkdGg6IDY1JTtcclxuXHRcdH1cclxuXHJcblx0XHQubGlzdGluZy1jYXJkLXB1cmNoYXNlIHtcclxuXHRcdFx0d2lkdGg6IDM1JTtcclxuXHRcdH1cclxuXHJcblx0XHQubGlzdGluZy1jYXJkLXByaWNlLWxpc3Qge1xyXG5cdFx0XHR3aWR0aDogMzUlO1xyXG5cdFx0fVxyXG5cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG40LiBIZWFkZXJcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbmhlYWRlciB7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggOXB4IHJnYmEoMCwwLDAsLjMpO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR6LWluZGV4OiA5OTk7XHJcbn1cclxuXHJcbi5jYXJ0LWJ1dHRvbiB7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLy8gQ2FydCBRdWFudGl0eVxyXG4uY2FydC1xdHkge1xyXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICB0b3A6IDA7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgbWFyZ2luLXRvcDogNHB4O1xyXG4gIG1hcmdpbi1yaWdodDogNHB4O1xyXG4gIGNvbG9yOiAjZmZmO1xyXG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjAwMDA7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxuICBwYWRkaW5nOiA0cHggM3B4IDJweCAzcHg7XHJcbiAgbGluZS1oZWlnaHQ6IDAuNXJlbTtcclxuICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbn1cclxuXHJcbi8vIDQuMSBCYW5uZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuLmJhbm5lciB7XHJcblx0YmFja2dyb3VuZDogJHBiaWJsdWU7XHJcblx0Ly8gYm9yZGVyLXRvcDogNHB4IHNvbGlkICRwYml5ZWxsb3c7XHRcclxuXHRwYWRkaW5nLXRvcDogMC43cmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogMS4yNXJlbTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4ubW9iaWxlLW1haW4tbGlua3Mge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0Zm9udC1zaXplOiAwLjY1cmVtO1xyXG5cdGZsb2F0OiBsZWZ0O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0PiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcclxuXHQgICAgLy9wYWRkaW5nOiAwIDAuNzVyZW0gMC41cmVtO1xyXG5cdCAgICBwYWRkaW5nOiAwIDAgMC41cmVtO1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJHdoaXRlO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR9XHJcblxyXG5cdGkge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDIuMXJlbTtcclxuXHRcdG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDAuMDhyZW07XHJcblx0fVxyXG59XHJcblxyXG4ubW9iaWxlLXV0aWxpdHktbmF2IHtcclxuXHRmb250LXNpemU6IDAuNjVyZW07XHJcblx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdC8vb3BhY2l0eTogMC43O1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHJcblx0PiBsaTpub3QoLm1lbnUtdGV4dCkgPiBhIHtcclxuXHQgICAgcGFkZGluZzogMC4yNXJlbSAwLjVyZW0gMC43NXJlbTtcclxuXHR9XHJcblxyXG5cdGEge1xyXG5cdFx0Y29sb3I6ICNmZmY7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdH1cclxuXHRcclxuXHRsaSBhOmhvdmVyIHtcclxuXHQgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcclxuXHR9XHJcblxyXG5cdGksIHNwYW5bY2xhc3MqPVwiaWNvbi1cIl0ge1xyXG5cdFx0Zm9udC1zaXplOiAxLjc1cmVtO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi51dGlsaXR5LW5hdiB7XHJcblx0Y29sb3I6ICR3aGl0ZTtcclxuXHQvL2ZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4udXRpbGl0eS1uYXYgLm1lbnUgPiBsaSA+IGEge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRvcGFjaXR5OiAwLjc7XHJcblx0cGFkZGluZzogMC42cmVtO1xyXG5cdCY6aG92ZXIsICY6YWN0aXZlLCAmOmZvY3VzIHtcclxuXHRcdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcclxuXHRcdG9wYWNpdHk6IDE7XHJcblx0fVxyXG59XHJcblxyXG4ubW9iaWxlLWxvZ28ge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jazsgXHJcblx0aGVpZ2h0OiAzNXB4O1xyXG5cdHdpZHRoOiA2MHB4OyBcclxuXHRtYXJnaW4tdG9wOiAwLjI1cmVtO1xyXG5cdG1hcmdpbi1sZWZ0OiAwLjNyZW07XHJcblx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKC9lYml6NTUzZGV2L1Jlc291cmNlUGFja2FnZXMvUEJJL2Rpc3QvYXNzZXRzL2ltZy9wYmktbGV0dGVybWFyay13aGl0ZS5wbmcpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcGJpLWxldHRlcm1hcmstd2hpdGUucG5nKTtcclxuXHQvLyBiYWNrZ3JvdW5kLWltYWdlOiBcclxuIC8vICAgIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpLFxyXG4gLy8gICAgdXJsKC9lYml6NTUzZGV2L1Jlc291cmNlUGFja2FnZXMvUEJJL2Rpc3QvYXNzZXRzL2ltZy9wYmktbGV0dGVybWFyay13aGl0ZS5zdmcpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IFxyXG4gICAgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCksXHJcbiAgICB1cmwoLi4vaW1nL3BiaS1sZXR0ZXJtYXJrLXdoaXRlLnN2Zyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG59XHJcblxyXG4ubG9nbyB7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGhlaWdodDogMy4zcmVtO1xyXG5cdHdpZHRoOiAxNS42MjVyZW07XHJcblx0Ly8gYmFja2dyb3VuZC1pbWFnZTogdXJsKC9lYml6NTUzZGV2L1Jlc291cmNlUGFja2FnZXMvUEJJL2Rpc3QvYXNzZXRzL2ltZy9wYmktbG9nby13aGl0ZS5zdmcpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvcGJpLWxvZ28td2hpdGUucG5nKTtcclxuXHQvLyBiYWNrZ3JvdW5kLWltYWdlOiBcclxuIC8vICAgIGxpbmVhci1ncmFkaWVudCh0cmFuc3BhcmVudCwgdHJhbnNwYXJlbnQpLFxyXG4gLy8gICAgdXJsKC9lYml6NTUzZGV2L1Jlc291cmNlUGFja2FnZXMvUEJJL2Rpc3QvYXNzZXRzL2ltZy9wYmktbG9nby13aGl0ZS5zdmcpO1xyXG5cdGJhY2tncm91bmQtaW1hZ2U6IFxyXG4gICAgbGluZWFyLWdyYWRpZW50KHRyYW5zcGFyZW50LCB0cmFuc3BhcmVudCksXHJcbiAgICB1cmwoLi4vaW1nL3BiaS1sb2dvLXdoaXRlLnN2Zyk7XHJcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG5cclxufVxyXG5cclxuLmhhbWJ1cmdlci1sYWJlbCB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbn1cclxuXHJcbi5iYW5uZXItc2VhcmNoLWZvcm0ge1xyXG5cdG1hcmdpbi10b3A6IDAuMnJlbTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0bWFyZ2luLXRvcDogMC43cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmJhbm5lci1zZWFyY2gtZm9ybSBzZWxlY3Qge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG5cdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdGZvbnQtc2l6ZTogMC41N3JlbTtcclxuXHRmb250LXdlaWdodDogYm9sZDtcclxuXHQvLyBoZWlnaHQ6IDM1cHg7XHJcblx0aGVpZ2h0OiAycmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHhsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5iYW5uZXItc2VhcmNoLWZvcm0gaW5wdXQge1xyXG5cdGZvbnQtc2l6ZTogMC44NXJlbTtcclxuXHQvLyBoZWlnaHQ6IDMwcHg7XHJcblx0aGVpZ2h0OiAycmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDA7XHJcbn1cclxuXHJcbi5iYW5uZXItc2VhcmNoLWZvcm0gLmJ1dHRvbiB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHBiaXllbGxvdztcclxuXHQvLyBwYWRkaW5nOiAwLjVlbSAwO1xyXG5cdGNvbG9yOiAjMzMzO1xyXG5cdC8vIGhlaWdodDogMzBweDtcclxuXHRoZWlnaHQ6IDJyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRwYWRkaW5nOiAwLjZyZW0gMDtcclxufVxyXG5cclxuLyouYWNjb3VudC1uYXYgYSB7XHJcblx0Y29sb3I6ICR3aGl0ZTtcclxuXHQvL2ZvbnQtc2l6ZTogMC45cmVtO1xyXG5cdC8vIG1hcmdpbi10b3A6IDAuMjVyZW07XHJcblx0cGFkZGluZy1sZWZ0OiAwLjJyZW0gIWltcG9ydGFudDtcclxuXHQmOmhvdmVyLCAmOmFjdGl2ZSwgJjpmb2N1cyB7XHJcblx0XHRjb2xvcjogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMTUlKTtcclxuXHR9XHJcbn0qL1xyXG5cclxuLmFjY291bnQtbmF2IGxpIHtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xyXG59XHJcblxyXG4uaGVsbG8ge1xyXG5cdGNvbG9yOiAkcHJpbWFyeS1jb2xvcjsgXHJcblx0Zm9udC1zaXplOiAwLjc1cmVtOyBcclxuXHRsaW5lLWhlaWdodDogMS4zO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XHJcblx0XHRjb2xvcjogJHBiaXllbGxvdztcclxuXHR9XHJcbn1cclxuXHJcbi5hY2NvdW50LW5hdiAuZHJvcGRvd24tcGFuZSBhIHtcclxuXHRjb2xvcjogJHBiaWJsdWU7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0fVxyXG5cclxufVxyXG5cclxuI2FjY291bnQtZHJvcGRvd24gPiB1bCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0bGkge1xyXG5cdFx0cGFkZGluZzogMC4zNXJlbSAwO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjUuIE5hdmlnYXRpb25cclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi8vIDUuMSBQcmltYXJ5IE5hdmlnYXRpb24gKGRlc2t0b3ApXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucHJpbWFyeS1uYXYtd3JhcHBlciB7XHJcblx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRwYml5ZWxsb3c7XHJcbn1cclxuXHJcbi5wcmltYXJ5LW5hdiB7XHJcblx0Zm9udC1zaXplOiAwLjg1ZW07XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuLnByaW1hcnktbmF2LW1lbnUge1xyXG5cdGRpc3BsYXk6IHRhYmxlO1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG59XHJcblxyXG4ucHJpbWFyeS1uYXYgLm1lbnUgPiBsaSA+IGEge1xyXG5cdGNvbG9yOiAkcGJpYmx1ZTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG4gICAgcGFkZGluZzogMS41cmVtIDEuNHJlbSAxLjI1cmVtIDEuNHJlbTtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuXHRcdHBhZGRpbmc6IDEuNzVyZW0gMnJlbSAxLjI1cmVtIDJyZW07XHJcblx0fVxyXG59XHJcblxyXG4ucHJpbWFyeS1uYXYgLm1lbnUgPiBsaTpub3QoOmZpcnN0LWNoaWxkKSA+IGEge1xyXG5cdCY6YmVmb3JlIHtcclxuXHRjb250ZW50OiAnJztcclxuICAgIGJhY2tncm91bmQ6ICRnYWluc2Jvcm87XHJcbiAgICB3aWR0aDogMXB4O1xyXG4gICAgdG9wOiAxMHB4O1xyXG4gICAgYm90dG9tOiAxMHB4O1xyXG4gICAgbGVmdDogMDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR9XHJcbn1cclxuXHJcbi5wcmltYXJ5LW5hdi1tZW51ID4gbGkgPiBhOmhvdmVyLCAucHJpbWFyeS1uYXYtbWVudSA+IGxpID4gYS5ob3ZlciwgLnByaW1hcnktbmF2LW1lbnUgPiBsaSA+IGE6Zm9jdXMsIC5wcmltYXJ5LW5hdi1tZW51ID4gbGkgPiBhLmFjdGl2ZSB7XHJcblx0Y29sb3I6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcblxyXG4ucHJpbWFyeS1uYXYtbWVudSA+IGxpID4gYTpob3ZlciwgLnByaW1hcnktbmF2LW1lbnUgPiBsaSA+IGEuaG92ZXIge1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7ICBcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGxlZnQ6IDQwJTtcclxuXHRcdGJvdHRvbTogLTAuNzVyZW07XHJcblx0XHR3aWR0aDogMDtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdGJvcmRlci10b3A6IDEycHggc29saWQgJHBiaXllbGxvdztcclxuXHRcdGJvcmRlci1yaWdodDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci1ib3R0b206IDAgc29saWQgdHJhbnNwYXJlbnQ7XHJcblx0XHRib3JkZXItbGVmdDogMTRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdHotaW5kZXg6IDEwMDU7XHJcblx0fVxyXG5cclxufVxyXG5cclxuLnByaW1hcnktbmF2LW1lbnUgPiBsaSB7XHJcblx0XHQmOmFmdGVyIHtcclxuXHRcdGJvcmRlci10b3A6IDRweCBzb2xpZCB0cmFuc3BhcmVudDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7ICBcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMDtcclxuXHRcdHotaW5kZXg6IDEwMDU7XHJcblx0fVxyXG59XHJcblxyXG4ucHJpbWFyeS1uYXYtbWVudSA+IGxpOmhvdmVyIHtcclxuXHRcdCY6YWZ0ZXIge1xyXG5cdFx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRwYml5ZWxsb3c7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLnByaW1hcnktbmF2LXJvdyB7XHJcblx0bWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcblx0bWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcclxufVxyXG5cclxuXHJcbi5wcmltYXJ5LW5hdiAuZHJvcGRvd24tcGFuZSB7XHJcblx0Ym9yZGVyLXRvcDogNHB4IHNvbGlkICRwYml5ZWxsb3c7XHJcblx0Ym9yZGVyLXJpZ2h0OiBub25lO1xyXG5cdGJvcmRlci1sZWZ0OiBub25lO1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0Ym94LXNoYWRvdzogMCA0cHggOHB4IHJnYmEoMCwwLDAsLjE1KTtcclxuXHRwYWRkaW5nOiAwIDEuNXJlbSAxLjI1cmVtIDEuNXJlbTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRvcGFjaXR5OiAwO1xyXG4gIFx0bWF4LWhlaWdodDogMCAhaW1wb3J0YW50O1xyXG5cdHRyYW5zaXRpb246XHRtYXgtaGVpZ2h0IDAuNHMgZWFzZS1pbi1vdXQsXHJcblx0XHRcdFx0cGFkZGluZy10b3AgMC40cyBlYXNlLWluLW91dCwgXHJcbiAgICBcdFx0XHRvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XHJcblxyXG5cdCYuaXMtb3BlbiB7XHJcblx0ICBcdG1heC1oZWlnaHQ6IDgwcmVtICFpbXBvcnRhbnQ7XHJcblx0ICBcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcblxyXG5cdHVsIHtcclxuXHRcdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblxyXG5cdFx0bGkge1xyXG5cdFx0XHRwYWRkaW5nOiAwLjM1cmVtIDA7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjg1cmVtO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogJHBiaWJsdWU7XHJcblx0fVxyXG5cclxuXHRhOmhvdmVyLCBhLmhvdmVyLCBhOmhvdmVyLCBhLmFjdGl2ZSB7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0fVxyXG5cclxuXHRsYWJlbCB7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cdFx0Y29sb3I6ICRkYXJrLWdyYXk7XHJcblx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsaW5lLWhlaWdodDogMS4yO1xyXG5cdFx0cGFkZGluZy10b3A6IDAuNzVyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR9XHJcblxyXG59XHJcblxyXG4vLyA1LjIgT2ZmLUNhbnZhcyBOYXZpZ2F0aW9uICh0YWJsZXQsIHBob25lKVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLm9mZi1jYW52YXMge1xyXG5cclxuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgLmlzLWRyaWxsZG93biB7XHJcbiAgICBcdG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuXHQuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xyXG5cdFx0YmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcblx0fVxyXG5cclxuXHQuanMtZHJpbGxkb3duLWJhY2s6OmJlZm9yZSB7XHJcblx0ICAgIG1hcmdpbi10b3A6IDIxcHg7XHJcblx0fVxyXG5cclxuXHRsaS50aXRsZSB7XHJcblx0XHRjb2xvcjogJHBiaWJsdWU7XHJcblx0XHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0cGFkZGluZy10b3A6IDEuMjVyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMC4yNXJlbTtcclxuXHRcdHBhZGRpbmctbGVmdDogMXJlbTtcclxuXHRcdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0fVxyXG5cclxuXHRsaSBhIHtcclxuXHRcdGNvbG9yOiAkZ3JheTtcclxuXHR9XHJcblxyXG5cdC5tZW51ID4gbGk6bm90KC5tZW51LXRleHQpID4gYSB7XHJcblx0ICAgIHBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcclxuXHJcblx0ICAgIGkge1xyXG5cdCAgICBcdG1hcmdpbi1yaWdodDogMDtcclxuXHQgICAgfVxyXG5cdH1cclxuXHJcblx0bGkuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50LCBsaS5pcy1kcmlsbGRvd24tc3VibWVudS1pdGVtIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBkYXJrZW4oJGxpZ2h0LWdyYXksIDglKTtcclxuXHR9XHJcbn1cclxuXHJcbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XHJcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRkYXJrLWdyYXk7XHJcbn1cclxuXHJcbi5vZmYtY2FudmFzLWhlbHAtbGlua3Mge1xyXG5cdG1hcmdpbi10b3A6IDAuNzVyZW07IFxyXG5cdG1hcmdpbi1ib3R0b206IDEuM3JlbTtcclxuXHJcblx0YSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMC4xMjVyZW0gIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi8vIDUuMyBTaWRlIE5hdmlnYXRpb25cclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLnNpZGUtbmF2IHtcclxuXHRtYXJnaW4tYm90dG9tOiAycmVtO1xyXG59XHJcblxyXG4uc2lkZS1uYXYgbGkge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcclxufVxyXG5cclxuLnNpZGUtbmF2IGxpIGEge1xyXG5cdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJHByaW1hcnktY29sb3I7XHJcblx0fVxyXG59XHJcblxyXG4uc2lkZS1uYXYubWVudSAuYWN0aXZlID4gYTpob3ZlciB7XHJcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xyXG59XHJcblxyXG4vLyA1LjQgUXVpY2sgTGlua3NcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucXVpY2stbGluay1jYWxlbmRhcixcclxuLnF1aWNrLWxpbmstb24tZGVtYW5kLFxyXG4ucXVpY2stbGluay1ib29rIHtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIGJvcmRlcjogbm9uZTtcclxuICBmb250LXNpemU6IDAuOXJlbTtcclxuICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIHBhZGRpbmc6IDFyZW07XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsMCwwLC43KTs7XHJcbiAgXHJcbiAgLmljb24tY2FsZW5kYXIsXHJcbiAgLmljb24tb24tZGVtYW5kLXZpZGVvLFxyXG4gIC5pY29uLWJvb2sge1xyXG4gICAgZm9udC1zaXplOiAycmVtO1xyXG4gIH1cclxuICBcclxuICAubGlzdGluZy1jYXJkLXRpdGxlIHtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICB9XHJcbn1cclxuXHJcbi5mZWF0dXJlZCAuaWNvbi1pbi1wZXJzb24ge1xyXG4gIGZvbnQtc2l6ZTogM3JlbTtcclxufVxyXG5cclxuLnF1aWNrLWxpbmstY2FsZW5kYXIge1xyXG4gIGJhY2tncm91bmQ6IGRhcmtlbigkcHJpbWFyeS1jb2xvciwgMTUlKTtcclxuICBib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4gIFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJHdoaXRlO1xyXG4gIFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5xdWljay1saW5rLW9uLWRlbWFuZCB7XHJcbiAgYmFja2dyb3VuZDogZGFya2VuKCRwaW5rLCAxNSUpO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkd2hpdGU7XHJcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZTtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuICBcdGJvcmRlci1yaWdodDogMXB4IHNvbGlkICR3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5xdWljay1saW5rLWJvb2sge1xyXG4gIGJhY2tncm91bmQ6IGRhcmtlbigkZGFya3llbGxvdywgMiUpO1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGU7XHJcblxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcbiAgXHRib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4gIH1cclxufVxyXG5cclxuLnF1aWNrLWxpbmstY2FsZW5kYXI6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xyXG59XHJcblxyXG4ucXVpY2stbGluay1vbi1kZW1hbmQ6aG92ZXIge1xyXG4gIGJhY2tncm91bmQ6ICRwaW5rO1xyXG59XHJcblxyXG4ucXVpY2stbGluay1ib29rOmhvdmVyIHtcclxuICBiYWNrZ3JvdW5kOiBkYXJrZW4oJGRhcmt5ZWxsb3csIDYlKTtcclxufVxyXG5cclxuLnF1aWNrLWxpbmsge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgIHBhZGRpbmc6IDFyZW07XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgICBmb250LXNpemU6IDAuOXJlbTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDAsIDAsIDAsIDAuNyk7XHJcbiAgICBjb2xvcjogI2ZlZmVmZTtcclxufVxyXG4ucXVpY2stbGluayAudGl0bGUge1xyXG4gICAgbWFyZ2luOjAuNXJlbSAwIDAuMjVyZW0gMDtcclxuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbiAgICBmb250LXNpemU6IDEuNzc3cmVtO1xyXG4gICAgbGV0dGVyLXNwYWNpbmc6IC0xcHg7XHJcbiAgICBsaW5lLWhlaWdodDogMS4yO1xyXG59XHJcbi5xdWljay1saW5rLmJsdWUge2JhY2tncm91bmQ6IzEyNmVhYn1cclxuLnF1aWNrLWxpbmsucGluayB7YmFja2dyb3VuZDojZjMwMDUzO31cclxuLnF1aWNrLWxpbmsub3JhbmdlIHtiYWNrZ3JvdW5kOiNkMjk3MDQ7fVxyXG5cclxuYS5xdWljay1saW5rIHtkaXNwbGF5OiBibG9jazt9XHJcbmEucXVpY2stbGluazpob3ZlcixcclxuYS5xdWljay1saW5rOmZvY3VzIHt0ZXh0LWRlY29yYXRpb246IG5vbmU7IGNvbG9yOiNmZmY7fVxyXG5cclxuYS5xdWljay1saW5rLmJsdWU6aG92ZXIsXHJcbmEucXVpY2stbGluay5ibHVlOmZvY3VzIHtiYWNrZ3JvdW5kOiMyMTk5ZTg7fVxyXG5cclxuYS5xdWljay1saW5rLnBpbms6aG92ZXIsXHJcbmEucXVpY2stbGluay5waW5rOmZvY3VzIHtiYWNrZ3JvdW5kOiNmZjQwODE7fVxyXG5cclxuYS5xdWljay1saW5rLm9yYW5nZTpob3ZlcixcclxuYS5xdWljay1saW5rLm9yYW5nZTpmb2N1cyB7YmFja2dyb3VuZDojZDI5NzA0O31cclxuXHJcbi5xdWljay1saW5rLWxpc3RpbmcgLnF1aWNrLWxpbmsge2JvcmRlcjoxcHggc29saWQgI2ZmZjsgYm9yZGVyLXJpZ2h0OjA7fVxyXG4ucXVpY2stbGluay1saXN0aW5nID4gZGl2OmZpcnN0LWNoaWxkIC5xdWljay1saW5rIHtib3JkZXItbGVmdDowO31cclxuLnF1aWNrLWxpbmstbGlzdGluZyA+IGRpdjpudGgtY2hpbGQoM24pIC5xdWljay1saW5rIHtib3JkZXItcmlnaHQ6MDt9XHJcblxyXG4ub3RoZXItYnJvd3NlIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiAgY29sb3I6ICRpcmlkaXVtO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCBkYXJrZW4oJGRlc2VydHNhbmQsIDYlKTtcclxuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgZGFya2VuKCRkZXNlcnRzYW5kLCA2JSk7XHJcbn1cclxuXHJcbi5vdGhlci1icm93c2UgcCB7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHBhZGRpbmc6IDFyZW0gMDtcclxufVxyXG5cclxuLm90aGVyLWJyb3dzZSBhIHtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG5cclxuLm90aGVyLWJyb3dzZSBhOmhvdmVyIHtcclxuICBjb2xvcjogJHByaW1hcnktY29sb3I7XHJcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG59XHJcblxyXG4vLyA1LjUgU3RpY2t5IE5hdnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4vLyAjcHJvZHVjdC1zdGlja3ktbmF2LFxyXG4jbG9jYXRpb25zLXN0aWNreS1uYXYge1xyXG5ib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5ib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxubWFyZ2luLXRvcDogMnJlbTtcclxucGFkZGluZy10b3A6IDAuNzVyZW07XHJcbnBhZGRpbmctYm90dG9tOiAwLjc1cmVtO1xyXG5mb250LXNpemU6IDAuODVyZW07XHJcbi8vIHRleHQtYWxpZ246IGNlbnRlcjtcclxuLy8gdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0dWwge1xyXG5cdFx0bWFyZ2luLXRvcDogMC43NXJlbTtcclxuXHRcdG1hcmdpbi1sZWZ0OiAtMXJlbTtcclxuXHR9XHJcblxyXG5cdC5zdGlja3kge1xyXG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRcdGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG5cdH1cclxuXHJcblx0Ly8gdWwge1xyXG5cdC8vIFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdC8vIH1cclxuXHJcblx0bmF2IGEge1xyXG5cdFx0Y29sb3I6ICRjaGFyY29hbDtcclxuXHQvLyBcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMXB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMS4zNXJlbTtcclxuXHRcdHBhZGRpbmctbGVmdDogMS4zNXJlbTtcclxuXHRcdC8vIHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblx0Ly8gXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xyXG5cdFx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0XHQvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cdFx0fVxyXG5cclxuXHQvLyBcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblx0Ly8gXHRcdHBhZGRpbmc6IDEuMjVyZW0gMS4xNXJlbTtcclxuXHQvLyBcdH1cclxuXHJcblx0Ly8gXHRAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuXHQvLyBcdFx0cGFkZGluZzogMS4yNXJlbSAxLjVyZW07XHJcblx0Ly8gXHR9XHJcblx0fVxyXG5cclxuXHRhLmFjdGl2ZSB7XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0Ly8gYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHR9XHJcblxyXG5cdC8vIC5idXR0b24ge1xyXG5cdC8vIFx0bWFyZ2luOiAwO1xyXG5cdC8vIH1cclxuXHJcblx0Ly8gQGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcblx0Ly8gXHRiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuXHQvLyBcdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0Ly8gXHRwYWRkaW5nOiAwLjg1ZW0gMDtcclxuXHQvLyB9XHJcblxyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblx0Ly8gXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cdC8vIFx0Ly8gcGFkZGluZzogMC41cmVtIDAgMC42cmVtO1xyXG5cdC8vIFx0dGV4dC1hbGlnbjogbGVmdDtcclxuXHQvLyBcdHVsIHtcclxuXHQvLyBcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0Ly8gXHRcdC8vIG1hcmdpbi10b3A6IDAuNTVyZW07XHJcblx0Ly8gXHR9XHJcblx0Ly8gfVxyXG59XHJcblxyXG4jbG9jYXRpb25zLXN0aWNreS1uYXYge1xyXG5cdHBhZGRpbmc6IDA7XHJcblxyXG5cdG5hdiBhIHtcclxuXHRcdHBhZGRpbmc6IDFyZW0gMC41NnJlbTtcclxuXHR9XHJcblxyXG5cdHVsLmxvY2F0aW9ucy1zdWItbmF2IHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR9XHJcbn1cclxuXHJcbi8vIC5zdGlja3kuaXMtc3R1Y2sge1xyXG4vLyBcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vIH1cclxuXHJcbi5wcm9kdWN0LXN0aWNreS1uYXYtd3JhcHBlciB7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNkNmQ2ZDY7IFxyXG5cdHBhZGRpbmctdG9wOiAwLjVyZW07XHJcblxyXG5cdC5zdGlja3kge1xyXG5cdFx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LXN0aWNreS1uYXYge1xyXG5cdGEge1xyXG5cdFx0YmFja2dyb3VuZDogJHdoaXRlO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkbWVkaXVtLWdyYXk7XHJcblx0XHQvLyBjb2xvcjogJGRhcmstZ3JheTtcclxuXHRcdGNvbG9yOiAjNzY3Njc2O1xyXG5cdFx0cGFkZGluZzogMS4xNXJlbSAxcmVtICFpbXBvcnRhbnQ7XHJcblxyXG5cdFx0Jjpob3ZlciwgJjpmb2N1cyB7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHR9XHJcblx0fVxyXG5cdGEuYWN0aXZlIHtcclxuXHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0fVxyXG59XHJcblxyXG4uc3RpY2t5LnN0aWNreS10aXRsZS1iYXIge1xyXG5cdC8vIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuXHJcblx0cGFkZGluZy10b3A6IDEuNXJlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMS41cmVtO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cdFx0cGFkZGluZy10b3A6IDNyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogM3JlbTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogNC4ycmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDMuOHJlbTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblxyXG5cdC8vIC5jb2x1bW5zIHtcclxuXHQvLyBcdGhlaWdodDogMXB4O1xyXG5cdC8vIH1cclxuXHJcblx0LmNob29zZS1tZXNzYWdlIHtcclxuXHRcdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtMC41cmVtO1xyXG5cdH1cclxuXHJcblx0LmJ1dHRvbi1yZWdpc3RlciB7XHJcblx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi5zdGlja3kuaXMtc3R1Y2suc3RpY2t5LXRpdGxlLWJhciB7XHJcblx0YmFja2dyb3VuZDogJGdyYXk7XHJcblx0Ym94LXNoYWRvdzogMCAxcHggOXB4IHJnYmEoMCwwLDAsLjMpO1xyXG5cdHBhZGRpbmc6IDAuNXJlbSAwIDAuNzVyZW0gMDtcclxuXHQvLyB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG5cclxuXHQvLyAuY29sdW1ucyB7XHJcblx0Ly8gXHRoZWlnaHQ6IGF1dG87XHJcblx0Ly8gfVxyXG5cclxuXHQvLyAuYnV0dG9uIHtcclxuXHQvLyBcdG1hcmdpbjogMDtcclxuXHQvLyB9XHJcblxyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdC8vIFx0cGFkZGluZy10b3A6IDAuNzVyZW07XHJcblx0Ly8gfVxyXG5cclxuXHQuY2hvb3NlLW1lc3NhZ2Uge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcblxyXG5cdC5idXR0b24tcmVnaXN0ZXIge1xyXG5cdFx0bWFyZ2luLXRvcDogMC4zNXJlbTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHRcdFx0ZmxvYXQ6IHJpZ2h0O1xyXG5cdFx0XHQvLyBmb250LXNpemU6IDAuNzVyZW07XHJcblx0XHRcdHdpZHRoOiA2NSU7XHJcblx0XHR9XHJcblxyXG5cdH1cclxufVxyXG5cclxuLnN0aWNreS10aXRsZS1iYXIgaDEucHJvZHVjdC10aXRsZSB7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcblx0fVxyXG59XHJcblxyXG4vLyAuc3RpY2t5LXRpdGxlLXRhYmxlLXdyYXBwZXIge1xyXG4vLyBcdGRpc3BsYXk6IHRhYmxlO1xyXG4vLyBcdHdpZHRoOiAxMDAlO1xyXG4vLyB9XHJcblxyXG4uc3RpY2t5LmlzLXN0dWNrIGgxLnByb2R1Y3QtdGl0bGUge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0bGluZS1oZWlnaHQ6IDEuMjtcclxuXHRmb250LXNpemU6IDFyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRwYWRkaW5nLXRvcDogMC4yNXJlbTtcclxuXHRwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XHJcblx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLy8gLnN0aWNreS10aXRsZSB7XHJcbi8vIFx0Y29sb3I6ICR3aGl0ZTtcclxuLy8gXHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG4vLyBcdGxpbmUtaGVpZ2h0OiAxLjI7XHJcbi8vIFx0Zm9udC1zaXplOiAwLjg1cmVtO1xyXG4vLyBcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbi8vIFx0cGFkZGluZy1yaWdodDogMC41cmVtO1xyXG4vLyBcdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbi8vIFx0d2lkdGg6IDcwJTtcclxuXHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobWVkaXVtKSB7XHJcbi8vIFx0XHRmb250LXNpemU6IDFyZW07XHJcbi8vIFx0fVxyXG5cclxuLy8gXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4vLyBcdFx0cGFkZGluZy1sZWZ0OiAxcmVtO1xyXG4vLyBcdH1cclxuXHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcbi8vIFx0XHRmb250LXNpemU6IDEuMnJlbTtcclxuLy8gXHR9XHJcbi8vIH1cclxuXHJcbi8vIC5zdGlja3ktdGl0bGUtYmFyLWJ1dHRvbiB7XHJcbi8vIFx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuLy8gXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG4vLyBcdHdpZHRoOiAzMCU7XHJcbi8vIH1cclxuXHJcbi5zdGlja3kuaXMtYW5jaG9yZWQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZSAhaW1wb3J0YW50O1xyXG59XHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG42LiBDYXRhbG9nXHJcbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSovXHJcblxyXG5oMS5jYXRhbG9nLXBhZ2UtdGl0bGUge1xyXG5cdC8vY29sb3I6ICRkYXJrLWdyYXk7XHJcblx0Y29sb3I6ICM3MzczNzM7XHJcblx0Zm9udC1zaXplOiAxLjRyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuXHRtYXJnaW46IDAuNXJlbSAwIDEuMjVyZW0gMDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDJyZW07XHJcblx0XHR0ZXh0LWFsaWduOiBsZWZ0O1xyXG5cdH1cclxufVxyXG5cclxuLmNhdGFsb2ctZmlsdGVycy1oZWFkaW5nIHtcclxuXHRjb2xvcjogJGJsYWNrO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi8vIDYuMSBDYXRhbG9nIEZpbHRlcnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLmNhdGFsb2ctZmlsdGVycy1tb2JpbGUge1xyXG5cclxuXHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0fVxyXG5cdFxyXG5cdGxlZ2VuZCB7XHJcblx0XHRmb250LXNpemU6IDAuODVyZW07XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMC4yNXJlbTtcclxuXHR9XHJcblxyXG5cdGxhYmVsIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRsaW5lLWhlaWdodDogMS41O1xyXG5cdH1cclxuXHJcblx0Lmljb24td3JhcHBlci1zbWFsbCwgLmljb24td3JhcHBlci1zbWFsbCBpIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjIgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uY2F0YWxvZy1maWx0ZXJzLWRlc2t0b3Age1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcblx0Zm9udC1zaXplOiAwLjg1cmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjU7XHJcblx0bWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDFyZW07XHJcblxyXG5cdGZpZWxkc2V0IHtcclxuXHRcdG1hcmdpbjogMS4zMzNyZW0gMDtcclxuXHR9XHJcblxyXG5cdGxlZ2VuZCB7XHJcblx0XHRjb2xvcjogJGJsYWNrO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHR9XHJcblxyXG5cdGxhYmVsIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdC8vIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHQvLyBsaW5lLWhlaWdodDogMS41O1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdFx0Y29sb3I6ICRncmF5O1xyXG5cdH1cclxuXHRcclxuXHRsYWJlbDpob3ZlciB7XHJcblx0ICBjb2xvcjogYmxhY2s7XHJcblx0fVxyXG5cdFxyXG5cdGhyIHtcclxuXHRcdG1hcmdpbjogMC43NXJlbSAwO1xyXG5cdH1cclxuXHJcblx0Lmljb24td3JhcHBlci1zbWFsbCwgLmljb24td3JhcHBlci1zbWFsbCBpIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxLjUgIWltcG9ydGFudDtcclxuXHR9XHJcblxyXG59XHJcblxyXG4uY2F0YWxvZy1maWx0ZXJzLW1vYmlsZSB7XHJcbiAgYm9yZGVyOiBub25lO1xyXG4gIG1hcmdpbjogMDtcclxuICBwYWRkaW5nOiAwO1xyXG59XHJcblxyXG4uY2F0YWxvZy1maWx0ZXJzLW1vYmlsZSwgLmNhdGFsb2ctZmlsdGVycy1kZXNrdG9wIHtcclxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAwLjNyZW07XHJcblx0fVxyXG5cclxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIGxhYmVsLFxyXG5cdGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gbGFiZWwge1xyXG5cdCAgY29sb3I6ICRibGFjaztcclxuXHQgIGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0fVxyXG5cclxuXHRpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gfiBsYWJlbCB7XHJcblx0ICBtYXJnaW4tbGVmdDogMC4zcmVtO1xyXG5cdH1cclxuXHJcbn1cclxuXHJcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XHJcbiAgbWFyZ2luOiAwIDAuNTYzcmVtIDAgMDtcclxufVxyXG5cclxuLmNhdGFsb2ctdGV4dC1pbnB1dCB7XHJcblx0ZGlzcGxheTogaW5saW5lO1xyXG5cdGhlaWdodDogMS41cmVtO1xyXG5cdG1hcmdpbi1yaWdodDogMC41cmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNXJlbTtcclxuICAgIHBhZGRpbmc6IDAuMjVyZW07XHJcbn1cclxuXHJcbi55b3VyLXNlbGVjdGlvbnMge1xyXG5cdG1hcmdpbi1ib3R0b206IDAuNzVyZW07XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07ICAgIFxyXG5cclxuXHRsZWdlbmQge1xyXG5cdFx0Y29sb3I6ICRibGFjaztcclxuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDAuNzVyZW07XHJcblx0fVxyXG59XHJcblxyXG4uY2xlYXItc2VsZWN0aW9ucyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG59XHJcblxyXG4uY2F0YWxvZy1zZWxlY3Rpb24ge1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZTtcclxuXHRib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG4gICAgcGFkZGluZzogLjVyZW0gMC43NXJlbTtcclxufVxyXG5cclxuLm1vYmlsZS1mYWNldC1hY2NvcmRpb24ge1xyXG5cclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cclxuXHQuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHRcdGZvbnQtc2l6ZTogMXJlbTtcclxuXHRcdHBhZGRpbmc6IDFyZW0gMXJlbSAxcmVtIDA7XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcclxuICAgIFx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHQuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xyXG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdFx0bWFyZ2luLXRvcDogLTAuNnJlbTtcclxuXHR9XHJcblxyXG5cdC5hY2NvcmRpb24tY29udGVudCB7XHJcblx0XHRib3JkZXItYm90dG9tOiBub25lO1xyXG5cdFx0cGFkZGluZzogMDtcclxuXHR9XHJcblxyXG5cdC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcblx0fVxyXG5cclxufVxyXG5cclxuLy8gNi4yIFByb2R1Y3QgTGlzdGluZ1xyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ubGlzdGluZy1zaWduLWluLXByb21wdCB7XHJcblx0Ly8gYmFja2dyb3VuZDogbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgNDAlKTtcclxuXHQvLyBib3JkZXI6IDFweCBzb2xpZCBsaWdodGVuKCRwcmltYXJ5LWNvbG9yLCAyNSUpO1xyXG5cdGJhY2tncm91bmQ6IGxpZ2h0ZW4oJHByaW1hcnktY29sb3IsIDQ1JSk7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgbGlnaHRlbigkcHJpbWFyeS1jb2xvciwgMzAlKTtcclxuXHRmbG9hdDogbGVmdDtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRtYXJnaW4tYm90dG9tOiAxLjVyZW07XHJcblx0cGFkZGluZzogMC41cmVtO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHRjbGVhcjogYm90aDtcclxuXHR9XHJcbn1cclxuXHJcbi5saXN0aW5nLXNvcnQge1xyXG5cdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRmbG9hdDogbGVmdDtcclxuXHJcblx0bGFiZWwsIHNlbGVjdCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0XHRmb250LXNpemU6IDAuOHJlbTtcclxuXHR9XHJcblxyXG5cdGxhYmVsIHtcclxuXHRcdG1hcmdpbi1yaWdodDogMC4ycmVtO1xyXG5cdH1cclxuXHJcblx0c2VsZWN0IHtcclxuXHRcdGhlaWdodDogMS44cmVtO1xyXG5cdCAgICBtYXJnaW46IDAuNXJlbSAwIDAuNXJlbSAwO1xyXG5cdFx0cGFkZGluZzogMC4zcmVtO1xyXG5cclxuXHRcdCYuc29ydC1ieSB7XHJcblx0XHRcdHdpZHRoOiAxMXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHQmLnNob3ctcGVyLXBhZ2Uge1xyXG5cdFx0XHR3aWR0aDogNnJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDFyZW07XHJcblx0fVxyXG59XHJcblxyXG4ubGlzdGluZy1wYWdpbmF0aW9uIHtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdGZsb2F0OiByaWdodDtcclxuICAgIG1hcmdpbjogMC41cmVtIDAgMnJlbSAwO1xyXG59XHJcblxyXG5cclxuLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuNy4gUHJvZHVjdHNcclxuPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ki9cclxuXHJcbi8vIDcuMSBQcm9kdWN0IEhlYWRpbmdcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLnBhZ2UtaGVhZGluZy13cmFwcGVyIHtcclxuXHRwYWRkaW5nLXRvcDogMS41cmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxLjVyZW07XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLXRvcDogM3JlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzcmVtO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UpIHtcclxuXHRcdHBhZGRpbmctdG9wOiA0LjJyZW07XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMy44cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLnBhZ2UtaGVhZGluZy13cmFwcGVyLWJvcmRlcmVkIHtcclxuXHRAZXh0ZW5kIC5wYWdlLWhlYWRpbmctd3JhcHBlcjtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG59XHJcblxyXG4ucGFnZS1oZWFkaW5nLXdyYXBwZXItdGlnaHQge1xyXG5cdHBhZGRpbmctdG9wOiAxLjI1cmVtO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG59XHJcblxyXG4ucHJvZHVjdC10aXRsZSB7XHJcblx0Zm9udC1zaXplOiAycmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAtMXB4O1xyXG5cdG1hcmdpbi10b3A6IDFyZW07XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdFx0Zm9udC1zaXplOiAyLjVyZW07XHJcblx0XHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiAzLjE1N3JlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIDcuMiBQcm9kdWN0IFN1YmhlYWRcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLnByb2R1Y3Qtc3ViaGVhZCB7XHJcblx0QGV4dGVuZCBoNDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdC8vIGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdC8vIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblxyXG5cdC8vIEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcclxuXHQvLyBcdGZvbnQtc2l6ZTogMC44NXJlbTtcclxuXHQvLyB9XHJcbn1cclxuXHJcbi8vIDcuMyBQcm9kdWN0IEZvcm1hdCBXcmFwcGVyXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucHJvZHVjdC1mb3JtYXQtd3JhcHBlciB7XHJcblx0Zm9udC1zaXplOiAwLjg1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG5cdG1hcmdpbi1sZWZ0OiAwO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblx0XHRmb250LXdlaWdodDogNjAwO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMXJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1x0XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtZm9ybWF0LXdyYXBwZXIgbGkge1xyXG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxuICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cclxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xyXG5cdCAgZGlzcGxheTogaW5saW5lO1xyXG5cdCAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xyXG5cdCAgbWFyZ2luLWJvdHRvbTogMDtcclxuICB9XHJcblxyXG59XHJcblxyXG4vLyA3LjQgUHJvZHVjdCBDcmVkaXRzXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5wcm9kdWN0LWNyZWRpdHMge1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG5cdHBhZGRpbmctYm90dG9tOiAxLjJyZW07XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdCAgICBmb250LXdlaWdodDogNjAwO1xyXG5cdCAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiBpbmhlcml0O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoeGxhcmdlKSB7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMS4wNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIDcuNSBQcm9kdWN0IFByaWNlIEJ1dHRvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuLnByb2R1Y3QtcHJpY2Utd3JhcHBlciB7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG4ucHJvZHVjdC1wcmljZS13cmFwcGVyIGEuYnV0dG9uIHtcclxuICBib3JkZXI6IG5vbmU7XHJcbiAgYm94LXNoYWRvdzogMHB4IDJweCAzcHggcmdiYSgwLDAsMCwwLjQpO1xyXG4gIGNvbG9yOiAkd2hpdGU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIGZvbnQtc2l6ZTogMC45cmVtO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxufVxyXG5cclxuLy8gLnByb2R1Y3QtcHJpY2Utd3JhcHBlcixcclxuLy8gLnByb2R1Y3QtcHJpY2Utd3JhcHBlciAuYnV0dG9uLWdyb3VwIHtcclxuLy8gICBtYXJnaW46IDA7XHJcbi8vIH1cclxuXHJcbi5wcm9kdWN0LXByaWNlLWxpc3Qge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGxpc3Qtc3R5bGU6IG5vbmU7XHJcblx0bWFyZ2luOiAwO1xyXG5cdG1pbi13aWR0aDogMTRyZW07XHJcblxyXG5cdGxpIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHR9XHJcblxyXG59XHJcblxyXG4ucHJvZHVjdC11c2VyLXByaWNlIHtcclxuXHRmb250LXNpemU6IDEuMXJlbTtcclxuXHRmb250LXdlaWdodDogODAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjI7XHJcblx0bWFyZ2luLXRvcDogMC4ycmVtO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuXHRcdGZvbnQtc2l6ZTogMS4zcmVtO1xyXG5cdH1cclxuXHJcbiAgLnN0cmlrZSB7XHJcbiAgXHRjb2xvcjogJHdoaXRlO1xyXG4gIFx0Zm9udC1zaXplOiAwLjg1cmVtO1xyXG4gIFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICBcdG9wYWNpdHk6IDAuNTtcclxuXHJcbiAgXHRAaW5jbHVkZSBicmVha3BvaW50ICh4bGFyZ2UpIHtcclxuICBcdFx0Zm9udC1zaXplOiAxLjJyZW07XHJcbiAgXHR9XHJcbiAgfVxyXG59XHJcblxyXG4vLyA3LjYgUHJvZHVjdCBQYWdlIFNlY3Rpb25zXHJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5wcm9kdWN0LXBhZ2Utc2VjdGlvbnMge1xyXG5cclxuXHRzZWN0aW9uIHtcclxuXHRcdGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDZkNmQ2OyBcclxuXHRcdHBhZGRpbmctdG9wOiAxcmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDNyZW07XHJcblx0fVxyXG5cclxufVxyXG5cclxuLnByb2R1Y3Qtc2VjdGlvbi1oZWFkZXIge1xyXG5cdG1hcmdpbi10b3A6IDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMS44NXJlbTtcclxufVxyXG5cclxuLnByb2R1Y3Qtb3RoZXItb3B0aW9ucyB7XHJcblx0bGkge1xyXG5cdFx0cGFkZGluZzogMC4xNXJlbSAwO1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtbWV0YSB7XHJcblx0Ly8gbWFyZ2luOiAwLjVyZW0gMDtcclxufVxyXG5cclxuLnByb2R1Y3QtbW9yZS1mb3JtYXRzLWFjY29yZGlvbiB7XHJcblxyXG5cdC8vIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xyXG5cdGJvcmRlcjogbm9uZTtcclxuXHQvLyBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG5cdC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcblxyXG5cdC5hY2NvcmRpb24tdGl0bGUge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuXHRcdGNvbG9yOiAkYmxhY2s7XHJcblx0XHQvLyBmb250LXNpemU6IDAuNjVyZW07XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdFx0Ly8gbGV0dGVyLXNwYWNpbmc6IDAuNXB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDA7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxLjdyZW07XHJcblx0XHQvLyB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0XHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG5cclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XHJcblx0XHRcdGZvbnQtZmFtaWx5OiBwYmljb25zO1xyXG5cdFx0XHRsZWZ0OiAwLjVyZW07XHJcblx0XHRcdC8vIHJpZ2h0OiAwO1xyXG5cdFx0XHRtYXJnaW4tdG9wOiAtMC42cmVtO1xyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIsICY6Zm9jdXMge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC8vIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlIHtcclxuXHQvLyBcdGNvbG9yOiAkYmxhY2s7XHJcblx0Ly8gfVxyXG5cclxuXHQuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcclxuXHQgICAgY29udGVudDogJ1xcZjBkOSc7XHJcblx0ICAgIGZvbnQtZmFtaWx5OiBwYmljb25zO1xyXG5cdCAgICBtYXJnaW4tdG9wOiAtMC42cmVtO1xyXG5cdH1cclxuXHJcblx0LmFjY29yZGlvbi1jb250ZW50IHtcclxuXHRcdGJvcmRlci1ib3R0b206IG5vbmU7XHJcblx0XHRwYWRkaW5nOiAwIDAgMCAxLjY1cmVtO1xyXG5cdH1cclxufVxyXG5cclxuLnByb2R1Y3QtYWxzby1hdmFpbGFibGUge1xyXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcclxuXHQvLyBtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRtYXJnaW4tbGVmdDogMDtcclxuXHJcbiAgICBsaSB7XHJcbiAgICBcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICAgIFx0Ly8gcGFkZGluZzogMC4yNXJlbSAxLjI1cmVtO1xyXG4gICAgXHRwYWRkaW5nLXRvcDogMC4yNXJlbTtcclxuICAgIFx0cGFkZGluZy1ib3R0b206IDAuMjVyZW07XHJcbiAgICBcdHBhZGRpbmctcmlnaHQ6IDAuNjVyZW07XHJcblxyXG4gICAgXHQmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcclxuICAgIFx0XHRwYWRkaW5nLWxlZnQ6IDAuNjVyZW07XHJcbiAgICBcdH1cclxuXHJcbiAgICBcdC8vICY6bm90KDpsYXN0LWNoaWxkKSB7XHJcbiAgICBcdC8vIFx0Ym9yZGVyLXJpZ2h0OiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4gICAgXHQvLyB9XHJcbiAgICB9XHJcblxyXG4gICAgYSB7XHJcbiAgICBcdC8vIHBhZGRpbmc6IDAgMC41cmVtO1xyXG4gICAgfVxyXG5cclxuICAgIC5oYXMtdGlwIHtcclxuICAgIFx0Ym9yZGVyLWJvdHRvbTogbm9uZTtcclxuICAgIH1cclxufVxyXG5cclxuLnByb2R1Y3QtYWxzby1hdmFpbGFibGUtc3ViaGVhZCB7XHJcblx0Ly8gY29sb3I6ICRjaGFyY29hbDtcclxuXHRmb250LXNpemU6IDAuNzVyZW07XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHQvLyBsZXR0ZXItc3BhY2luZzogMC4zcHg7XHJcblx0bWFyZ2luLXRvcDogMnJlbTtcclxuXHQvLyB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4vLyA3LjcgUHJvZHVjdCBTdXBwbGVtZW50YWwgQmxvY2tcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4ucHJvZHVjdC1zdXBwbGVtZW50YWwtYmxvY2sge1xyXG5cdGJvcmRlci10b3A6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbiAgICBmb250LXNpemU6IDAuODVyZW07XHJcbiAgICBmb250LXdlaWdodDogNTAwO1xyXG5cdHBhZGRpbmctdG9wOiAwLjc1cmVtO1xyXG5cclxuXHRAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuXHQgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuXHQgICAgbWFyZ2luOiAxLjc1cmVtIDAgMDtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblx0XHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0fVxyXG5cclxufVxyXG5cclxuLy8gNy44IFByb2R1Y3QgRGF0ZXMgVGFibGVcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbnRhYmxlLnByb2R1Y3QtZGF0ZXMtdGFibGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHR0aGVhZCwgdGJvZHksIHRmb290IHtcclxuXHRcdGJvcmRlcjogbm9uZTtcclxuXHR9XHJcblxyXG5cdHRoZWFkIHRyIHsgXHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC05OTk5cHg7XHJcblx0XHRsZWZ0OiAtOTk5OXB4O1xyXG5cdH1cclxuXHJcblx0dGJvZHkge1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblx0fVxyXG5cclxuXHR0cjpub3QoOmxhc3QtY2hpbGQpIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJG1lZGl1bS1ncmF5O1xyXG5cdH1cclxuXHJcblx0dGQsIHRoIHtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblxyXG5cdFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAxNHJlbTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKHNtYWxsIG9ubHkpIHtcclxuXHJcblx0XHQucHJvZHVjdC1kYXRlcy10YWJsZS1sb2NhdGlvbiB7XHJcblx0XHRcdGJvcmRlci10b3A6IDFweCBkb3R0ZWQgJG1lZGl1bS1ncmF5O1xyXG5cdFx0XHRmbG9hdDogbGVmdDtcclxuXHRcdFx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdHRkIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdHBhZGRpbmc6IDA7XHJcblx0XHR9XHJcblx0XHRcclxuXHRcdHRoIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHQucHJvZHVjdC1kYXRlcy10YWJsZS1zdGFydCwgLnByb2R1Y3QtZGF0ZXMtdGFibGUtZW5kIHtcclxuXHRcdFx0ZmxvYXQ6IGxlZnQ7XHJcblx0XHRcdGZvbnQtc2l6ZTogLjlyZW07XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxcmVtO1xyXG5cdFx0XHR3aWR0aDogNTAlO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wcm9kdWN0LWRhdGVzLXRhYmxlLXN0YXJ0IHtcclxuXHRcdFx0cGFkZGluZy1yaWdodDogMXJlbTtcclxuXHRcdH1cclxuXHJcblx0XHQuYWRkcmVzcyB7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1kYXRlcy10YWJsZS1sYWJlbCB7XHJcblx0Zm9udC1zaXplOiAwLjY1cmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0bWFyZ2luLXRvcDogMC4xNXJlbTtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjVyZW07XHJcblx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xyXG5cdFx0bWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR9XHJcbn1cclxuXHJcbi5wcm9kdWN0LWRhdGVzLXRhYmxlLXR5cGUge1xyXG5cdGZvbnQtc2l6ZTogMC42NXJlbTsgXHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbi5wcm9kdWN0LWRhdGVzLXRhYmxlLWFkZHJlc3Mge1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxudHIuY2FuY2VsbGVkIHRkIHtcclxuICBjb2xvcjogJGRhcmstZ3JheTtcclxufVxyXG5cclxudHIuY2FuY2VsbGVkIC5pY29uLXdyYXBwZXIsIHRyLmNhbmNlbGxlZCAuaWNvbi13cmFwcGVyLXNtYWxsIHtcclxuICBiYWNrZ3JvdW5kOiAkZGFyay1ncmF5O1xyXG59XHJcblxyXG4vLyA3LjkgUHJvZHVjdCBQcmljZSBUYWJsZVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG50YWJsZS5wcm9kdWN0LXByaWNlLWJsb2NrIHtcclxuXHRtYXJnaW4tdG9wOiAwLjVyZW07XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHR0Ym9keSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlci13aWR0aDogMXB4IDAgMCAwO1xyXG5cdFx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRcdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdFx0XHRib3JkZXI6IG5vbmU7XHJcblx0XHR9XHJcblx0fVxyXG5cdHRyOm5vdCg6b25seS1jaGlsZCkge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAkbWVkaXVtLWdyYXk7XHJcblx0fVxyXG59XHJcblxyXG50ZC5wcm9kdWN0LXByaWNlLWJsb2NrLWRlc2Mge1xyXG5cdGZvbnQtc2l6ZTogMC43NXJlbTtcclxuXHRsaW5lLWhlaWdodDogMTtcclxuXHRwYWRkaW5nOiAwLjc1cmVtIDJyZW0gMC43NXJlbSAwO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcbnRkLnByb2R1Y3QtcHJpY2UtYmxvY2stcHJpY2Uge1xyXG5cdGZvbnQtc2l6ZTogMS43NzdyZW07XHJcblx0bGluZS1oZWlnaHQ6IDE7XHJcblx0cGFkZGluZzogMC43NXJlbSAwIDAuNzVyZW0gMDtcclxuXHR0ZXh0LWFsaWduOiByaWdodDtcclxuXHR0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG59XHJcblxyXG4ucHJpY2Utc3RyaWtlIHtcclxuXHRjb2xvcjogJGRhcmstZ3JheTtcclxuXHRmb250LXNpemU6IDAuNmVtO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0dGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XHJcbn1cclxuXHJcbi5zYWxlLXByaWNlIHtcclxuXHRjb2xvcjogcmVkO1xyXG59XHJcblxyXG5cclxudGQubGlzdGluZy1jYXJkLXByaWNlLWJsb2NrLXByaWNlIHtcclxuICBmb250LXNpemU6IDEuMzMzcmVtO1xyXG59XHJcblxyXG4ucHJvZHVjdC1wcmljZS1jaGFydC13cmFwcGVyIHtcclxuXHQvLyBib3JkZXItdG9wOiA0cHggc29saWQgJG1lZGl1bS1ncmF5O1xyXG4gICAgY29sb3I6ICRpcmlkaXVtO1xyXG4gICAgLy8gbWFyZ2luLXRvcDogMnJlbTtcclxuICAgIHBhZGRpbmctdG9wOiAwLjc1cmVtO1xyXG59XHJcblxyXG5cclxuLnByb2R1Y3QtcHJpY2UtY2hhcnQge1xyXG4gIC8vZGlzcGxheTogdGFibGU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgLy9wYWRkaW5nOiAxcmVtIDEuNzc3cmVtO1xyXG4gIG1hcmdpbjogYXV0bztcclxuICAvL2JhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gIFxyXG4gIGxpIHtcclxuICAgIC8vZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gICAgLy8gZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEuNXJlbTtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICBwYWRkaW5nOiAwLjI1cmVtIDA7XHJcbiAgICAvL2JhY2tncm91bmQtY29sb3I6ICRsaWdodC1ncmF5O1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG4gICAgLy9ib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRtZWRpdW0tZ3JheTtcclxuICAgIC8vIGJvcmRlci1ib3R0b20tc3R5bGU6IGRvdHRlZDtcclxuICAgIC8vY29sb3I6ICRjaGFyY29hbDtcclxuICAgIG1pbi13aWR0aDogMTAwJTtcclxuICAgIFxyXG4gICAgLnByb2R1Y3QtcHJpY2UtY2hhcnQtcHJpY2Uge1xyXG4gICAgICAvLyBmb250LXNpemU6IDEuNzc3cmVtO1xyXG4gICAgICAvLyBmb250LXdlaWdodDogNzAwO1xyXG4gICAgICAvLyBwYWRkaW5nLXRvcDogMC4zMTdyZW07XHJcbiAgICAgIC8vY29sb3I6ICRwYmlncmVlbjtcclxuICAgIH1cclxuICAgIFxyXG4gICAgLnByb2R1Y3QtcHJpY2UtY2hhcnQtZGVzYyB7XHJcbiAgICAgIC8vIGZvbnQtc2l6ZTogMC44NXJlbTtcclxuICAgICAgLy8gZm9udC13ZWlnaHQ6IDcwMDtcclxuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICAgICAgLy8gcGFkZGluZy10b3A6IDAuNzVyZW07XHJcbiAgICB9XHJcbiAgfVxyXG4gIFxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgbGkge1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgfVxyXG4gIH0gIFxyXG59XHJcblxyXG5saS5wcmljZS1saXN0LXRpdGxlIHtcclxuICBib3JkZXItdG9wOiBub25lO1xyXG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcbn1cclxuXHJcblxyXG50YWJsZS5wcm9kdWN0LXByaWNlLXRhYmxlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0dGhlYWQsIHRib2R5LCB0Zm9vdCB7XHJcblx0XHRib3JkZXI6IG5vbmU7XHJcblx0fVxyXG5cclxuXHR0Ym9keSB7XHJcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuXHR9XHJcblxyXG5cdHRyIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgJG1lZGl1bS1ncmF5O1xyXG5cdH1cclxuXHJcblx0dGQsIHRoIHtcclxuXHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XHJcblx0fVxyXG5cclxuXHR0aCB7XHJcblx0XHRib3JkZXItYm90dG9tOiAxcHggZG90dGVkICRtZWRpdW0tZ3JheTtcclxuXHRcdGNvbG9yOiAkZGFyay1ncmF5O1xyXG5cdFx0dGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuXHRcdGZvbnQtc2l6ZTogMC44cmVtO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHRcdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0fVxyXG59XHJcblxyXG4ucHJvZHVjdC1wcmljZS1hY3RpdmUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IGxpZ2h0ZW4oJHBiaXllbGxvdywgMTUlKSAhaW1wb3J0YW50O1xyXG5cdGZvbnQtd2VpZ2h0OiA2MDA7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRwYml5ZWxsb3c7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRwYml5ZWxsb3c7XHJcbn1cclxuXHJcbiNwcm9kdWN0LW51bWJlciB7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdG1hcmdpbi1ib3R0b206IDJyZW07XHJcbn1cclxuXHJcblxyXG4vKj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG44LiBQYWdlc1xyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLy8gOC4xIEJsb2dcclxuLy8gLS0tLS0tLS1cclxuXHJcbi5hYm91dC1hdXRob3Ige1xyXG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcclxufVxyXG5cclxuLmJsb2ctcHJldmlldy13cmFwcGVyLFxyXG4uc3Vic2NyaWJlLWZvcm0td3JhcHBlciB7IFxyXG4gIG1hcmdpbi1ib3R0b206IDMuMTU3cmVtO1xyXG59XHJcblxyXG4uYmxvZy1wYWdlci13cmFwcGVyIHtcclxuICBtYXJnaW4tYm90dG9tOiAxLjc3N3JlbTtcclxufVxyXG5cclxuLmJsb2ctaW1nLXdyYXBwZXIge1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5ibG9nLWxpc3RpbmcgLmJsb2ctcHJldmlldy13cmFwcGVyIGltZyB7bWF4LXdpZHRoOjE0NXB4O31cclxuXHJcbi8vIDguMiBGYWN1bHR5IExpc3RcclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxyXG4uZmFjdWx0eS1saXN0IHtcclxuXHRsaSB7XHJcblx0XHRkaXNwbGF5OiB0YWJsZTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDFyZW07XHJcblx0fVxyXG5cdGltZyB7XHJcblx0XHRkaXNwbGF5OiB0YWJsZS1jZWxsO1xyXG5cdFx0aGVpZ2h0OiA3NXB4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxcmVtO1xyXG5cdFx0d2lkdGg6IDc1cHg7XHJcblx0XHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG5cdH1cclxufVxyXG5cclxuLmZhY3VsdHktbmFtZSB7XHJcblx0ZGlzcGxheTogdGFibGUtY2VsbDtcclxuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xyXG59XHJcblxyXG4uZmFjdWx0eS1ibG9jayB7XHJcblx0cGFkZGluZy10b3A6IDFyZW07XHJcblx0cGFkZGluZy1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi8vIDguMyBGb290ZXJcclxuLy8gLS0tLS0tLS0tLVxyXG5cclxuLmZvb3Rlci1vbmUsIC5mb290ZXItdHdvIHtcclxuXHRoMSxoMixoMyxoNCxoNSxoNiB7XHJcblx0XHRtYXJnaW4tdG9wOiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlci1vbmUgaDYge1xyXG4gIGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XHJcbiAgZm9udC13ZWlnaHQ6IDYwMDtcclxufVxyXG5cclxuLmZvb3Rlci1vbmUge1xyXG5cdGJhY2tncm91bmQ6ICRwYmlibHVlO1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDJyZW0gMCAxcmVtO1xyXG5cdGxpbmUtaGVpZ2h0OiAxLjM7XHJcblx0Ly9tYXJnaW4tdG9wOiAxLjc3N3JlbTtcclxuXHJcblx0YSB7XHJcblx0XHRjb2xvcjogbGlnaHRlbigkcGJpYmx1ZSwgNTAlKTtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0XHRmb250LXNpemU6IDAuNzVyZW07XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGNvbG9yOiByZ2IoMjU1LCAyNTUsIDI1NSk7XHJcblx0XHRcdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHVsIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDA7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyLXR3byB7XHJcblx0Zm9udC1zaXplOiAwLjc1cmVtO1xyXG5cdHBhZGRpbmc6IDFyZW0gMCAzcmVtIDA7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRwYmlibHVlLCA1JSk7XHJcblx0Y29sb3I6ICRkYXJrLWdyYXk7XHJcblxyXG5cdGEge1xyXG5cdFx0Y29sb3I6ICRkYXJrLWdyYXk7XHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XHJcblx0fVxyXG5cclxufVxyXG5cclxuLmZvb3Rlci1zaGFyZS1pY29ucyB7XHJcblx0Ly8gbWFyZ2luLXRvcDogMC41cmVtO1xyXG5cdGEge3RleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O31cclxufVxyXG5cclxuLmZvb3Rlci1yZWxhdGVkLXNpdGVzIHtcclxuXHJcblx0aW1nIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XHJcblx0fVxyXG5cclxuXHRsaSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG5cdH1cclxufVxyXG5cclxuLy8gOC40IEhlcm8gU2VjdGlvbnNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cclxuXHJcbi5oZXJvIHtcclxuXHRiYWNrZ3JvdW5kOiAjMDAwO1xyXG5cdG1hcmdpbi1ib3R0b206IDNyZW07XHJcblx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRiYWNrZ3JvdW5kLXBvc2l0aW9uOjUwJSAwO1xyXG5cdGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG92ZXJmbG93OiBoaWRkZW47XHJcblxyXG4gICAgKiB7XHJcbiAgICBcdGNvbG9yOiAkd2hpdGU7XHJcbiAgICBcdHRleHQtc2hhZG93OiAxcHggMXB4IDFweCBibGFjaztcclxuICAgIFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgXHR6LWluZGV4OiAyO1xyXG4gICAgfVxyXG5cclxuICAgIC5idXR0b24uaG9sbG93IHtcclxuICAgIFx0Ym9yZGVyLWNvbG9yOiB3aGl0ZTtcclxuICAgIFx0Y29sb3I6IHdoaXRlO1xyXG5cclxuICAgIFx0Jjpob3ZlciB7XHJcbiAgICBcdFx0YmFja2dyb3VuZDogd2hpdGU7XHJcbiAgICBcdFx0Y29sb3I6ICRibGFjaztcclxuICAgIFx0XHR0ZXh0LXNoYWRvdzogbm9uZTtcclxuICAgIFx0fVxyXG4gICAgfVxyXG5cdCYuaW50ZXJpb3Ige21hcmdpbi1ib3R0b206M2VtO31cclxufVxyXG5cclxuLy8gLmhlcm86YmVmb3JlIHtcclxuLy8gICAgIGNvbnRlbnQ6ICcgJztcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4vLyAgICAgbGVmdDogMDtcclxuLy8gICAgIHRvcDogMDtcclxuLy8gICAgIHdpZHRoOiAxMDAlO1xyXG4vLyAgICAgaGVpZ2h0OiAxMDAlO1xyXG4vLyAgICAgei1pbmRleDogMTtcclxuLy8gICAgIG9wYWNpdHk6IDAuNDtcclxuLy8gICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnaHR0cDovL3BsYWNla2l0dGVuLmNvbS8xNTAwLzEwMDAnKTtcclxuLy8gICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbi8vICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1MCUgMDtcclxuLy8gICAgIC1tcy1iYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4vLyAgICAgLW8tYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuLy8gICAgIC1tb3otYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuLy8gICAgIC13ZWJraXQtYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuLy8gICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbi8vIH1cclxuXHJcbi5oZXJvOmFmdGVyIHtcclxuICAgIGNvbnRlbnQ6ICcgJztcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwOyBsZWZ0OiAwO1xyXG4gICAgd2lkdGg6IDEwMCU7IGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IDA7XHJcbiAgICBvcGFjaXR5OiAwLjY7XHJcbiAgICBiYWNrZ3JvdW5kOiMwMDA7XHJcbn1cclxuXHJcbi5oZXJvLXdyYXBwZXItbGFyZ2Uge1xyXG4gIHBhZGRpbmctdG9wOiA3LjQ3OHJlbTtcclxuICBwYWRkaW5nLWJvdHRvbTogNy40NzhyZW07XHJcbn1cclxuXHJcbi5xdWljay1ibG9nLWhlcm8ge1xyXG5cclxuICBoZWlnaHQ6IDIzLjYxMnJlbTtcclxuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBjb2xvcjogJHdoaXRlO1xyXG4gIG1hcmdpbi1ib3R0b206IDMuMTU3cmVtO1xyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcclxuICAgIGhlaWdodDogMjkuNDc1cmVtO1xyXG4gIH1cclxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbiAgICBoZWlnaHQ6IDMxLjQ3NXJlbTtcclxuICB9ICBcclxufVxyXG5cclxuLy8gLmluc3RpdHV0ZS1oZXJvIHtcclxuLy8gICBtYXJnaW4tYm90dG9tOiAwO1xyXG4vLyB9XHJcblxyXG4ucXVpY2stYmxvZy1oZXJvLFxyXG4uc21hbGwtZmVhdHVyZWQsXHJcbi5mZWF0dXJlZCB7XHJcbiAgaGVpZ2h0OiAxMy4yODhyZW07XHJcbiAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgY29sb3I6ICR3aGl0ZTtcclxufVxyXG5cclxuLmZlYXR1cmVkIHtcclxuICBoZWlnaHQ6IDE3LjcxM3JlbTtcclxufVxyXG5cclxuLnNtYWxsLWZlYXR1cmVkLFxyXG4ucXVpY2stYmxvZy1oZXJvLFxyXG4uZmVhdHVyZWQge1xyXG4gIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgYm9yZGVyOiAwLjVweCBzb2xpZCAkZGFyay1ncmF5O1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcclxufVxyXG5cclxuLy8gLmhlcm86YmVmb3JlLFxyXG4ucXVpY2stYmxvZy1oZXJvOmJlZm9yZSxcclxuLnNtYWxsLWZlYXR1cmVkOmJlZm9yZSxcclxuLmZlYXR1cmVkOmJlZm9yZSxcclxuLy8gLmluc3RpdHV0ZS1oZXJvOmJlZm9yZSxcclxuLy8gLmhvbWUtaW50cm86YmVmb3JlIHtcclxue1xyXG4gIGNvbnRlbnQ6IFwiXCI7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICBib3R0b206IDA7XHJcbiAgbGVmdDogMDtcclxuICByaWdodDogMDtcclxuICBiYWNrZ3JvdW5kOiByZ2JhKDAsMCwwLCAwLjYpO1xyXG4gIC1tb3otdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgbGluZWFyO1xyXG4gIC13ZWJraXQtdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgbGluZWFyO1xyXG4gIC1vLXRyYW5zaXRpb246IGJhY2tncm91bmQgLjNzIGxpbmVhcjtcclxuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBsaW5lYXI7XHJcbn1cclxuXHJcbi8vIC5oZXJvLXRleHQge1xyXG4vLyAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuLy8gICB0b3A6IDUwJTtcclxuLy8gICBsZWZ0OiA1MCU7XHJcbi8vICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwtNTAlKTtcclxuLy8gICB0ZXh0LXNoYWRvdzogMXB4IDFweCAwICRibGFjaztcclxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSB1cCkge1xyXG4vLyAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xyXG4vLyAgIH0gIFxyXG4vLyB9XHJcblxyXG4vLyAuaGVyby10ZXh0IGgxLCAuaGVyby10ZXh0IGgyLCAuaGVyby10ZXh0IC5zdWJoZWFkZXIge1xyXG4vLyBcdGNvbG9yOiAkd2hpdGU7XHJcbi8vIH1cclxuXHJcbi5oZXJvLXRleHQgc21hbGwge1xyXG5cdGNvbG9yOiAkd2hpdGU7XHJcbn1cclxuXHJcbi8vIC5oZXJvLXRleHQgLnByb2R1Y3QtY3JlZGl0cy13cmFwcGVyIHtcclxuLy8gICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuXHJcbi8vICAgXHQmOmJlZm9yZSB7XHJcbi8vIFx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlO1xyXG4vLyBcdH1cclxuXHJcbi8vIH1cclxuXHJcbi8vIC5oZXJvLXRleHQgLnByb2R1Y3QtY3JlZGl0cyB7XHJcbi8vICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gfVxyXG5cclxuLy8gLmhlcm8tdGV4dCAucHJvZHVjdC1mb3JtYXQtd3JhcHBlciB7XHJcbi8vIFx0Y29sb3I6ICR3aGl0ZTtcclxuLy8gfVxyXG5cclxuLy8gLmhlcm8tdGV4dCAuYnV0dG9uLmhvbGxvdyB7XHJcbi8vICAgICBib3JkZXI6IDJweCBzb2xpZCAkd2hpdGU7XHJcbi8vICAgICBjb2xvcjogJHdoaXRlO1xyXG4vLyB9XHJcblxyXG4vLyAuaGVyby10ZXh0IC5idXR0b24uaG9sbG93OmhvdmVyIHtcclxuLy8gICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XHJcbi8vICAgY29sb3I6ICRibGFjaztcclxuLy8gICB0ZXh0LXNoYWRvdzogbm9uZTtcclxuLy8gfVxyXG5cclxuLy8gOC41IEhvbWUgUGFnZVxyXG4vLyAtLS0tLS0tLS0tLS0tXHJcblxyXG4vLyAuaG9tZS1pbnRybyB7XHJcbi8vICAgaGVpZ2h0OiAyMy42MTJyZW07XHJcbi8vICAgYmFja2dyb3VuZDogJHBiaWJsdWU7XHJcbi8vICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuLy8gICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbi8vICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XHJcbi8vICAgICBoZWlnaHQ6IDI5LjQ3NXJlbTtcclxuLy8gICB9XHJcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgaGVpZ2h0OiAzMS40NzVyZW07XHJcbi8vICAgfSAgIFxyXG4vLyB9XHJcblxyXG4uaG9tZS10YWdsaW5lIHtcclxuXHRiYWNrZ3JvdW5kOiAkcGJpYmx1ZTtcclxuXHRiYWNrZ3JvdW5kOiByZ2JhKDM1LCAzNSwgMzUsIDAuNDApO1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdGZvbnQtc2l6ZTogMC42cmVtO1xyXG5cdGxldHRlci1zcGFjaW5nOiAycHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0cGFkZGluZzogMC4zcmVtIDA7XHJcblx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdHRleHQtc2hhZG93OiAxcHggMXB4IDAgJGJsYWNrO1xyXG5cdHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XHJcblx0dG9wOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSkge1xyXG5cdFx0Zm9udC1zaXplOiAuN3JlbTtcclxuXHRcdGxldHRlci1zcGFjaW5nOiAycHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIGJyZWFrcG9pbnQgKGxhcmdlKSB7XHJcblx0XHRsZXR0ZXItc3BhY2luZzogMnB4O1xyXG5cdFx0Zm9udC1zaXplOiAuNzVyZW07XHJcblx0XHRwYWRkaW5nLXRvcDogMC41cmVtO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDAuNXJlbTtcclxuXHR9XHJcbn1cclxuXHJcbi8vIC5ob21lLXRhZ2xpbmUge1xyXG4vLyAgIGNvbG9yOiAkd2hpdGU7XHJcbi8vICAgZm9udC1zaXplOiAwLjZyZW07XHJcbi8vICAgbGV0dGVyLXNwYWNpbmc6IDJweDtcclxuLy8gICAvLyBvcGFjaXR5OiAwLjc7XHJcbi8vICAgdGV4dC1zaGFkb3c6IDFweCAxcHggMCAkYmxhY2s7XHJcbi8vICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50IChtZWRpdW0pIHtcclxuLy8gXHRmb250LXNpemU6IC43cmVtO1xyXG4vLyBcdGxldHRlci1zcGFjaW5nOiAycHg7XHJcbi8vIFx0dG9wOiAycmVtO1xyXG4vLyBcdH1cclxuLy8gICBAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4vLyBcdGxldHRlci1zcGFjaW5nOiAycHg7XHJcbi8vIFx0Zm9udC1zaXplOiAuNzVyZW07XHJcbi8vIFx0fVxyXG4vLyB9XHJcblxyXG4ucHJvbW8taW1nIHtcclxuICBoZWlnaHQ6IDEzLjI4OHJlbTtcclxuICBtYXJnaW46IDFyZW0gMCAycmVtO1xyXG59XHJcblxyXG4ucGFnZS1pbnRybyB7XHJcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuXHRwYWRkaW5nLXRvcDogMnJlbTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMnJlbTtcclxuXHJcblx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG5cdFx0Zm9udC1zaXplOiAxLjI1cmVtO1xyXG5cdFx0cGFkZGluZy10b3A6IDQuMnJlbTtcclxuXHRcdHBhZGRpbmctYm90dG9tOiA0LjJyZW07XHJcblx0fVxyXG59XHJcblxyXG4vLyA4LjYgTG9jYXRpb25zIERpcmVjdG9yeVxyXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG5cclxuI2xvY2F0aW9ucyBsaSB7XHJcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxuICBwYWRkaW5nOiAxcmVtIDA7XHJcbn1cclxuXHJcbi5sb2NhdGlvbi1saXN0IHtcclxuICBtYXJnaW46IDA7XHJcbiAgcGFkZGluZzogMDtcclxuXHJcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcclxuICBcdG1hcmdpbi1sZWZ0OiAxLjgxMjVyZW07XHJcbiAgfVxyXG59XHJcblxyXG4ubG9jYXRpb24tbGlzdCBsaSB7XHJcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxufVxyXG5cclxuXHJcbi5wYWdlLXRpdGxlLXdyYXBwZXIge1xyXG5cdG1hcmdpbi10b3A6IDIuNXJlbTtcclxufVxyXG5cclxuXHJcbi8qPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbjkuIFVzZXIgQWNjb3VudFxyXG49PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xyXG5cclxuLm5ldy1tZXNzYWdlcyxcclxuLnByb3Bhc3MtY3JlZGl0cyB7XHJcbiAgLy9mb250LXNpemU6IDAuNzVyZW07XHJcbiAgY29sb3I6IGZpcmVicmljaztcclxuICBwYWRkaW5nOiAwLjIzOHJlbTtcclxuICBmb250LXdlaWdodDogYm9sZDtcclxufVxyXG5cclxuLnVzZXItbGlua3Mge1xyXG4gIGZvbnQtc2l6ZTogMXJlbTtcclxuICBcclxuICAuaWNvbi1lbWFpbCB7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMzE3cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLnVzZXItbGlua3MgbGkge1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBwYWRkaW5nLXJpZ2h0OiAwLjU2M3JlbTtcclxuICBtYXJnaW4tcmlnaHQ6IDAuNTYzcmVtO1xyXG4gIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuLnVzZXItbWFpbi1tZW51IHtcclxuICAvL21hcmdpbi10b3A6IDEuNzc3cmVtO1xyXG4gIFxyXG4gIGxpIGEge1xyXG4gICAgZm9udC1zaXplOiAxcmVtO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICAgIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gIH1cclxuICBcclxuICBsaSBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiB3aGl0ZTtcclxuICB9XHJcbn1cclxuXHJcbi5wcm9maWxlLWhlYWQtdGl0bGUge1xyXG4gIGNvbG9yOiAkbWVkaXVtLWdyYXk7XHJcbiAgcGFkZGluZy10b3A6IDEuMzMzcmVtO1xyXG59XHJcblxyXG4udXNlci1wYWdlLWhlYWRlciB7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGNoYXJjb2FsO1xyXG4gIFxyXG4gIGgxIHNtYWxsIHtcclxuICAgIGZvbnQtc2l6ZTogMS43NzdyZW07XHJcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xyXG4gIH1cclxuICBcclxuICAudG9wLWJhci1yaWdodCBsaSBhIHtcclxuICAgIGZvbnQtc2l6ZTogMXJlbTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBjb2xvcjogJG1lZGl1bS1ncmF5OyAgIFxyXG4gIH1cclxuICBcclxuICAudG9wLWJhci1yaWdodCBsaSBhOmhvdmVyIHtcclxuICAgIGNvbG9yOiAkd2hpdGU7XHJcbiAgfVxyXG4gIFxyXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xyXG4gICAgLm1lbnUgPiBsaSB7XHJcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcclxuICB9XHJcbn1cclxuXHJcbi51c2VyLW1lbnUtcnVsZSB7XHJcbiAgYm9yZGVyLWNvbG9yOiAkZGFyay1ncmF5O1xyXG59XHJcblxyXG4ucHJvZmlsZS1pbWcge1xyXG4gIG1hcmdpbi1ib3R0b206IDFyZW07XHJcbn1cclxuXHJcbi5kYXRlIHtcclxuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxuICBwYWRkaW5nOiAxcmVtIDA7XHJcbiAgY29sb3I6ICRkYXJrLWdyYXk7XHJcbiAgZm9udC13ZWlnaHQ6IDgwMDtcclxuICBcclxuICAubW9udGgge1xyXG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcclxuICB9XHJcbiAgXHJcbiAgLmRheSB7XHJcbiAgICBmb250LXNpemU6IDEuNzc3cmVtO1xyXG4gIH1cclxufVxyXG5cclxuLmZpZWxkc2V0IHtcclxuICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcclxufVxyXG5cclxuLmZpZWxkc2V0IGxlZ2VuZCB7XHJcbiAgZm9udC1zaXplOiAxLjMzM3JlbTtcclxuICBmb250LXdlaWdodDogNzAwO1xyXG4gIGNvbG9yOiAkZGFyay1ncmF5O1xyXG4gIGJhY2tncm91bmQ6IG5vbmU7XHJcbn1cclxuXHJcbi5hdHRvcm5leS1jaGVjayB7XHJcblxyXG5cdGxhYmVsIHtcclxuXHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdGZvbnQtc2l6ZTogMS4zMzNyZW07XHJcblx0XHRtYXJnaW4tYm90dG9tOiAtMC43NXJlbTtcclxuXHR9XHJcblxyXG5cdC5jdXN0b21lci10eXBlLWxhYmVsIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xyXG5cdH1cclxuXHJcblx0LnN3aXRjaCB7XHJcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcblx0fVxyXG59XHJcblxyXG4uZGVtb2dyYXBoaWMtbGlzdCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHJcblx0bGFiZWwge1xyXG5cdFx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuXHR9XHJcbn1cclxuXHJcbi5jb21tdW5pY2F0aW9uLXByZWZzIHtcclxuXHRsYWJlbCB7XHJcblx0XHRmb250LXdlaWdodDogbm9ybWFsO1xyXG5cdH1cclxufVxyXG5cclxuLmludGVyZXN0LWxpc3Qge1xyXG5cdGxhYmVsIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcblx0fVxyXG59XHJcbi8vIC5wcm9kdWN0LWhlYWRpbmctcm93IHtcclxuICBcclxuLy8gfVxyXG5cclxuLy8gLnByb2R1Y3QtdGl0bGUtaGVhZGluZyBociB7XHJcbi8vICAgbWFyZ2luLXRvcDogMS43NzdyZW07XHJcbi8vICAgbWFyZ2luLWJvdHRvbTogMS43NzdyZW07XHJcbi8vIH1cclxuXHJcbi8vIC5wcm9kdWN0LXNob3J0LWRlc2NyaXB0aW9uIHtcclxuLy8gXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4vLyBcdGgxLGgyLGgzLGg0LGg1LGg2IHtcclxuLy8gXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbi8vIFx0XHRtYXJnaW46IDAuNXJlbSAwIDAuNXJlbSAwO1xyXG4vLyBcdH1cclxuXHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludCAobGFyZ2UpIHtcclxuLy8gXHRcdHRleHQtYWxpZ246IGxlZnQ7XHJcbi8vIFx0fVxyXG4vLyB9XHJcblxyXG4vLyAucHJhY3RpY2UtYXJlYSB7XHJcbi8vICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcclxuLy8gICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbi8vICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xyXG4vLyAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuLy8gICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbi8vICAgfVxyXG4vLyB9XHJcblxyXG4vLyAucHJvZHVjdC11c2VyLXByaWNlLXR5cGUge1xyXG4vLyBcdGNvbG9yOiAkZGFyay1ncmF5O1xyXG4vLyBcdGRpc3BsYXk6IGJsb2NrO1xyXG4vLyBcdGZvbnQtc2l6ZTogMC45cmVtO1xyXG4vLyB9XHJcblxyXG4vLyAucHJvZHVjdC11c2VyLXByaWNlLXR5cGUtc2FsZSB7XHJcbi8vIFx0Y29sb3I6IHJlZDtcclxuLy8gXHRkaXNwbGF5OiBibG9jaztcclxuLy8gXHRmb250LXNpemU6IDAuOXJlbTtcclxuLy8gfVxyXG5cclxuLy8gLnByb2R1Y3Qtc2FsZS1wcmljZSxcclxuLy8gLnJlZC10ZXh0IHtcclxuLy8gXHRjb2xvcjogcmVkO1xyXG4vLyB9XHJcblxyXG4vLyAucHJvZHVjdC1kYXRlIHtcclxuLy8gXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbi8vIFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuLy8gXHRtYXJnaW4tYm90dG9tOiAxcmVtO1xyXG4vLyB9XHJcblxyXG4vLyAuYWRkLXRvLWNhcnQtYnV0dG9uIHtcclxuLy8gXHRtYXJnaW4tdG9wOiAwLjRyZW07XHJcbi8vIFx0bWFyZ2luLWJvdHRvbTogMC40cmVtO1xyXG4vLyB9XHJcblxyXG4vLyAucHJvZHVjdC1jYXRlZ29yaWVzLCAucHJvZHVjdC1yZWNvcmRlZC1kYXRlLCAucHJvZHVjdC1wdWJsaXNoZWQtZGF0ZSwgLnByb2R1Y3QtcGFnZS1jb3VudCwgLnByb2R1Y3QtbGVuZ3RoIHtcclxuLy8gXHRmb250LXNpemU6IDAuODVyZW07XHJcbi8vIFx0bWFyZ2luLXRvcDogMC4ycmVtO1xyXG4vLyBcdG1hcmdpbi1ib3R0b206IDAuMnJlbTtcclxuXHJcbi8vIFx0c3Ryb25nIHtcclxuLy8gXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbi8vIFx0fVx0XHJcbi8vIH1cclxuXHJcbi8qIFBST0RVQ1QgUFJJQ0UgQ09MICovXHJcbi8vIC5wcm9kdWN0LXByaWNlLWNvbCB7XHJcbi8vICBiYWNrZ3JvdW5kOiAkd2hpdGU7XHJcbi8vICBib3gtc2hhZG93OiAwcHggM3B4IDVweCByZ2JhKDAsMCwwLDAuMik7XHJcbi8vICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vICBmb250LXNpemU6IDAuODVyZW07XHJcbi8vICBwYWRkaW5nOiAxcmVtO1xyXG5cclxuXHJcbi8vIFx0c3Ryb25nLCBhIHtcclxuLy8gXHRcdGZvbnQtd2VpZ2h0OiA2MDA7XHJcbi8vIFx0fVxyXG5cclxuLy8gXHR1bCB7XHJcbi8vIFx0XHRtYXJnaW4tYm90dG9tOiAwO1xyXG4vLyBcdH1cclxuXHJcbi8vIFx0bGkge1xyXG4vLyBcdFx0cGFkZGluZzogMC4xcmVtIDA7XHJcbi8vIFx0fVxyXG5cclxuLy8gXHRAaW5jbHVkZSBicmVha3BvaW50IChsYXJnZSkge1xyXG4vLyBcdFx0bWFyZ2luLXRvcDogLTk1cHg7XHJcbi8vIFx0fVxyXG5cclxuLy8gXHRociB7XHJcbi8vIFx0XHRtYXJnaW46IDAuN3JlbSAwO1xyXG4vLyBcdH1cclxuXHJcbi8vIH1cclxuXHJcbi8vIC5pcy1zdHVjayB7XHJcbi8vIFx0LnByb2R1Y3QtcHJpY2UtY29sIHtcclxuLy8gXHRcdG1hcmdpbi10b3A6IDA7XHJcbi8vIFx0fVxyXG5cclxuLy8gXHQuc3RpY2t5LWhpZGUge1xyXG4vLyBcdFx0ZGlzcGxheTogbm9uZTtcclxuLy8gXHR9XHJcbi8vIH1cclxuXHJcbi8vIEBpbmNsdWRlIGJyZWFrcG9pbnQgKG1lZGl1bSBkb3duKSB7XHJcbi8vIFx0LnByb2R1Y3QtcHJpY2Utc3RpY2t5IHtcclxuLy8gXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbi8vIFx0fVxyXG4vLyBcdC5wcm9kdWN0LXByaWNlLXN0aWNreS5pcy1zdHVjayB7XHJcbi8vIFx0XHR0b3A6IDYwcHggIWltcG9ydGFudDtcclxuLy8gXHR9XHJcbi8vIH1cclxuXHJcbi8vIC5wcm9kdWN0LXByb2R1Y3Qtb3RoZXItZm9ybWF0cyB7XHJcblxyXG4vLyBcdHAsIGxpIHtcclxuLy8gXHRcdG1hcmdpbi1ib3R0b206IDAuMjVyZW07XHJcbi8vIFx0fVxyXG5cclxuLy8gfVxyXG5cclxuLy8gLnByb2R1Y3QtcHJpY2Utd3JhcHBlciBsaSB7XHJcbi8vICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4vLyAgIGZvbnQtc2l6ZTogMS4ycmVtO1xyXG4vLyAgIGZvbnQtd2VpZ2h0OiA4MDA7XHJcbi8vIH1cclxuXHJcbi8vIC5idXR0b24tcmVnaXN0ZXIge1xyXG4vLyAgIGZvbnQtc2l6ZTogMC43NXJlbTtcclxuLy8gfVxyXG5cclxuLy8gLnByb2R1Y3Qtd3JhcHBlciB7XHJcbi8vICAgcGFkZGluZzogMDtcclxuLy8gfVxyXG5cclxuLy8gLmNyZWRpdC1iYXIge1xyXG4vLyAgIHBhZGRpbmctdG9wOiAwLjU2M2VtO1xyXG4vLyAgIHBhZGRpbmctYm90dG9tOiAwLjU2M2VtO1xyXG4vLyAgIGJhY2tncm91bmQ6ICM1NjVhNWM7XHJcbi8vIH1cclxuXHJcbi8vIC5jcmVkaXQtd3JhcHBlciB7XHJcbi8vICAgcGFkZGluZzogMCAwLjVyZW07XHJcbi8vICAgYmFja2dyb3VuZDogJGRhcmstZ3JheTtcclxuLy8gICBtYXJnaW4tcmlnaHQ6IDAuNDIycmVtO1xyXG4vLyB9XHJcblxyXG4vLyBoMS5jcmVkaXQtbnVtYmVyLFxyXG4vLyBoMi5jcmVkaXQtbnVtYmVyLFxyXG4vLyBoMy5jcmVkaXQtbnVtYmVyLFxyXG4vLyBoNC5jcmVkaXQtdHlwZSBzbWFsbCB7XHJcbi8vICAgY29sb3I6ICR3aGl0ZTtcclxuLy8gfVxyXG5cclxuLy8gaDEuY3JlZGl0LW51bWJlcixcclxuLy8gaDIuY3JlZGl0LW51bWJlcixcclxuLy8gaDMuY3JlZGl0LW51bWJlciB7XHJcbi8vICAgbWFyZ2luOiAwIDAgLTAuNTYzcmVtIDA7XHJcbi8vIH1cclxuXHJcbi8vIGg0LmNyZWRpdC10eXBlIHtcclxuLy8gICBtYXJnaW4tYm90dG9tOiAwOyBcclxuLy8gfVxyXG5cclxuLy8gLmNyZWRpdC1kZXRhaWxzIHtcclxuLy8gICBjb2xvcjogJGRhcmstZ3JheTtcclxuLy8gICBsaW5lLWhlaWdodDogMC43NXJlbTtcclxuLy8gfVxyXG5cclxuLy8gLnByb2R1Y3QtbGlzdC13cmFwcGVyIHtcclxuLy8gXHRmbG9hdDogbGVmdDtcclxuLy8gfVxyXG5cclxuLy8gLnByaW1hcnktbmF2LXdyYXBwZXIge1xyXG4vLyBcdC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XHJcbi8vIH1cclxuXHJcblx0XHQvLyAubGlzdGluZy1wcmljZSB7XHJcblx0XHQvLyBcdGJvcmRlci10b3A6IG5vbmU7XHJcblx0XHQvLyBcdHBhZGRpbmctdG9wOiAwO1xyXG5cdFx0Ly8gfVxyXG5cclxuLy8gLmxpc3RpbmctcHJpY2Uge1xyXG4vLyBcdGNvbG9yOiAkd2hpdGU7XHJcbi8vIFx0Zm9udC1zaXplOiAxLjVyZW07XHJcbi8vIFx0Zm9udC13ZWlnaHQ6IDgwMDtcclxuLy8gXHRsaW5lLWhlaWdodDogMTtcclxuLy8gXHRtYXJnaW4tdG9wOiAwLjJyZW07XHJcblxyXG4vLyBcdHN0cmlrZSB7XHJcbi8vIFx0XHRmb250LXdlaWdodDogNjAwO1xyXG4vLyBcdFx0b3BhY2l0eTogMC41O1xyXG4vLyBcdH1cclxuLy8gfVxyXG5cclxuLy8gLmxpc3RpbmctcHJpY2Utc3BsaXQge1xyXG4vLyBcdGZvbnQtc2l6ZTogMS4yNXJlbTtcclxuLy8gXHRwYWRkaW5nLXRvcDogMDtcclxuLy8gfVxyXG5cclxuLy8gLmxpc3RpbmctcHJpY2UtdHlwZSB7XHJcbi8vICAgICBjb2xvcjogJGRhcmstZ3JheTtcclxuLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4vLyAgICAgZm9udC1zaXplOiAwLjY1cmVtO1xyXG4vLyAgICAgZm9udC13ZWlnaHQ6IDYwMDtcclxuLy8gICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XHJcbi8vICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xyXG4vLyB9XHJcblxyXG5cclxuLy8gLmxpc3RpbmctZGVzY3JpcHRpb24ge1xyXG4vLyBcdGRpc3BsYXk6IG5vbmU7XHJcbi8vIFx0bWFyZ2luOiAwLjVyZW0gMDtcclxuXHJcbi8vIFx0QGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xyXG4vLyBcdFx0ZGlzcGxheTogYmxvY2s7XHJcbi8vIFx0fVxyXG4vLyB9XHJcblxyXG4vLyAucHJvZHVjdC1jb250ZW50LXdyYXBwZXIgLmxpc3RpbmctdmFyaWFudCB7XHJcbi8vICAgbWFyZ2luLWJvdHRvbTogMDtcclxuLy8gICBwYWRkaW5nOiAxcmVtIDA7XHJcbi8vIH1cclxuXHJcbiNyZWNvbW1lbmRlZCB7XHJcblx0YmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcclxufVxyXG5cclxuLy8gUFJJTlQgU1RZTEVTSEVFVFxyXG4vLyAtLSBUaGlzIGNhbiBzdGF5IGhlcmUgb3Igd2UgY2FuIG1vdmUgaXQgaW50byBhIHNlcGFyYXRlIHN0eWxlc2hlZXRcclxuXHJcbkBtZWRpYSBwcmludCB7XHJcbiAgICAqIHtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xyXG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyAvKiBCbGFjayBwcmludHMgZmFzdGVyICovXHJcbiAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcclxuICAgIH1cclxuICBoZWFkZXIsXHJcbiAgLnByb2R1Y3QtZm9ybWF0LXdyYXBwZXIsXHJcbiAgLnByb2R1Y3QtY3JlZGl0cyxcclxuICAucHJvZHVjdC1zdGlja3ktbmF2LXdyYXBwZXIsXHJcbiAgLmJ1dHRvbi5leHBhbmRlZCxcclxuICAuc2lnbi1pbi1tZXNzYWdlLFxyXG4gIC5yZWNvbW1lbmRlZC1wcm9kdWN0cy13cmFwcGVyLFxyXG4gIC5wcm9kdWN0LW90aGVyLWZvcm1hdHMtd3JhcHBlcixcclxuICAuZG93bmxvYWRzLXdyYXBwZXIsXHJcbiAgLmJsb2ctY2F0ZWdvcnktd3JhcHBlcixcclxuICAuYmxvZy1zZWFyY2gtd3JhcHBlcixcclxuICAuYmxvZy1jYXRlZ29yeS1saW5rLXdyYXBwZXIsXHJcbiAgLmJsb2ctY29tbWVudC13cmFwcGVyLFxyXG4gIC5jYXRhbG9nLWZpbHRlcnMtZGVza3RvcCxcclxuICAubGlzdGluZy1zaWduLWluLXByb21wdCxcclxuICAucXVpY2stbGlua3MsXHJcbiAgLnF1aWNrLWxpbmtzLXdyYXBwZXIsXHJcbiAgLnBhZ2luYXRpb24sXHJcbiAgLmxpc3Rpbmctc29ydCxcclxuICAuZm9vdGVyLW9uZSxcclxuICAuZm9vdGVyLXR3byxcclxuICBpbWcge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgLmxpc3RpbmctY2FyZC10aXRsZSBhIHtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB9XHJcbiAgLnBhZ2UtaGVhZGluZy13cmFwcGVyIHtcclxuICAgIHBhZGRpbmctYm90dG9tOiAwLjVwdDtcclxuICAgIHBhZGRpbmctdG9wOiAwLjVwdDtcclxuICB9XHJcbiAgYVtocmVmXj1cImh0dHA6XCJdOmFmdGVyIHsgXHJcbiAgICBjb250ZW50OiBcIiBbXCIgYXR0cihocmVmKSBcIl1cIjtcclxuICAgIGNvbG9yOiBibHVlO1xyXG4gIH1cclxuICBAcGFnZSB7IFxyXG4gICAgbWFyZ2luOiAuNWluOyBcclxuICB9XHJcbiAgQHBhZ2UgOmZpcnN0IHsgXHJcbiAgICBtYXJnaW4tdG9wOiAyY207XHJcbiAgfVxyXG4gIGgyLCB1bCB7XHJcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcclxuICB9XHJcbiAgICBwLCB1bCB7XHJcbiAgICAgICAgb3JwaGFuczogMztcclxuICAgICAgICB3aWRvd3M6IDM7XHJcbiAgICAgICAgZm9udC1zaXplOiA5cHQ7XHJcbiAgICB9XHJcbn0iLCIvLyBDb2xvciBWYXJpYWJsZXNcclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXHJcblxyXG4kcGJpYmx1ZTogIzAwM2M2OTtcclxuJHBiaXllbGxvdzogI2ZmZDQ1MTtcclxuJHdoaXRlc21va2U6ICNGNUY1RjU7XHJcbiRhbGljZWJsdWU6ICNGMEY4RkY7XHJcbiRnaG9zdHdoaXRlOiAjRjhGOEZGO1xyXG4kZ3JheTogIzYxNjE2MTtcclxuJGNoYXJjb2FsOiAjNjg2ODY4O1xyXG4kZ2FpbnNib3JvOiAjRENEQ0RDO1xyXG4kbGlnaHRzbGF0ZWdyYXk6ICM3Nzg4OTk7XHJcbiRzdGVlbGJsdWU6ICM0NjgyQjQ7XHJcbiRsaWdodHN0ZWVsYmx1ZTogI0IwQzRERTtcclxuJGd1bm1ldGFsOiAjMkMzNTM5O1xyXG4kaXJpZGl1bTogIzNEM0MzQTtcclxuJGRhcmtzbGF0ZWJsdWU6ICMyQjM4NTY7XHJcbiRtZXRhbGxpY3NpbHZlcjogI0JDQzZDQztcclxuJGdyYXlnb29zZTogI0QxRDBDRTtcclxuJHBsYXRpbnVtOiAjRTVFNEUyO1xyXG4kZGVzZXJ0c2FuZDogI0QyQ0ZDNDtcclxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xyXG4kcmVkOiAjZDUwMDAwOyAvLyBXZWJjYXN0c1xyXG4kcGluazogI2ZmNDA4MTsgLy8gT24tRGVtYW5kIFZpZGVvXHJcbiRwdXJwbGU6ICM4ZTI0YWE7IC8vIExpdmVcclxuJGRlZXBwdXJwbGU6ICM2NzNhYjc7IC8vZURvY3NcclxuJGluZGlnbzogIzM5NDlhYjsgLy8gUEJJIFByZXNzXHJcbiRibHVlOiAjMTk3NmQyOyAvLyBXZWJpbmFyc1xyXG4kbGlnaHRibHVlOiAjN0U5NkQ2OyAvLyBlQm9va3NcclxuJGN5YW46ICMwMDgzOGY7IC8vIFNpbXVsY2FzdHNcclxuJHRlYWw6ICMwMDc5NmI7XHJcbiRncmVlbjogIzJlN2QzMjsgLy8gQm9va3Mgb24gQ0RcclxuJGxpZ2h0Z3JlZW46ICMwMGM4NTM7IC8vIFZpZGVvIFJlcGxheXNcclxuJHllbGxvdzogI2ZmZDYwMDtcclxuJGxpZ2h0eWVsbG93OiAjZmZmM2Q5O1xyXG4kZGFya3llbGxvdzogI2YwYWQwNTsgLy8gWWVsbG93IEJvb2tzXHJcbiRvcmFuZ2U6ICNmZjZkMDA7IC8vIFBvZGNhc3RcclxuJGRlZXBvcmFuZ2U6ICNiZjM2MGM7IC8vIEF1ZGlvIENEXHJcbiRicm93bjogIzhkNmU2MzsgLy8gRFZEXHJcbiRibHVlZ3JleTogIzU0NmU3YTsgLy8gRG93bmxvYWRhYmxlIEJvb2tcclxuJGxpbWU6ICM5RUE1MUU7IC8vIEJvb2sgb24gVVNCIiwiLy8gQ3VzdG9tIGZvbnQgZnJvbSBJY29Nb29uXHJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cclxuXHJcbkBmb250LWZhY2Uge1xyXG4gICAgZm9udC1mYW1pbHk6ICdwYmljb25zJztcclxuICAgIHNyYzogIHVybCgnLi4vZm9udHMvcGJpY29ucy5lb3Q/aWo4ZmJnJyk7XHJcbiAgICBzcmM6ICB1cmwoJy4uL2ZvbnRzL3BiaWNvbnMuZW90P2lqOGZiZyNpZWZpeCcpIGZvcm1hdCgnZW1iZWRkZWQtb3BlbnR5cGUnKSxcclxuICAgICAgdXJsKCcuLi9mb250cy9wYmljb25zLnR0Zj9pajhmYmcnKSBmb3JtYXQoJ3RydWV0eXBlJyksXHJcbiAgICAgIHVybCgnLi4vZm9udHMvcGJpY29ucy53b2ZmP2lqOGZiZycpIGZvcm1hdCgnd29mZicpLFxyXG4gICAgICB1cmwoJy4uL2ZvbnRzL3BiaWNvbnMuc3ZnP2lqOGZiZyNwYmljb25zJykgZm9ybWF0KCdzdmcnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgfVxyXG5cclxuKltjbGFzcyo9XCJpY29uLVwiXSB7XHJcbiAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xyXG4gICAgZm9udC1mYW1pbHk6ICdwYmljb25zJyAhaW1wb3J0YW50O1xyXG4gICAgc3BlYWs6IG5vbmU7XHJcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XHJcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XHJcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICAgIGxpbmUtaGVpZ2h0OiAxO1xyXG5cclxuICAgIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xyXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XHJcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xyXG59XHJcblxyXG4uaWNvbi1zY2FsZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5MDBcIjtcclxuICB9XHJcbiAgLmljb24tcGxheTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwNGJcIjtcclxuICB9XHJcbiAgLmljb24tdmlkZW8tcmVwbGF5OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAwOFwiO1xyXG4gIH1cclxuICAuaWNvbi1jYWxlbmRhcjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwNzNcIjtcclxuICB9XHJcbiAgLmljb24tY29tbWVudHM6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMDg2XCI7XHJcbiAgfVxyXG4gIC5pY29uLWNhcmV0LWRvd246YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMGQ3XCI7XHJcbiAgfVxyXG4gIC5pY29uLWNhcmV0LXVwOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBkOVwiO1xyXG4gIH1cclxuICAuaWNvbi1vdmVydmlldzpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwNWFcIjtcclxuICB9XHJcbiAgLmljb24tcGJpLXByZXNzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAyZFwiO1xyXG4gIH1cclxuICAuaWNvbi1jcmVkaXRzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBhM1wiO1xyXG4gIH1cclxuICAuaWNvbi1mb3JtOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBmNlwiO1xyXG4gIH1cclxuICAuaWNvbi1lLWRvYzpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYxNWNcIjtcclxuICB9XHJcbiAgLmljb24tZmFjdWx0eTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYxOWRcIjtcclxuICB9XHJcbiAgLmljb24tZW1haWw6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMDAzXCI7XHJcbiAgfVxyXG4gIC5pY29uLWNsb2NrOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAxN1wiO1xyXG4gIH1cclxuICAuaWNvbi10YWdzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAyY1wiO1xyXG4gIH1cclxuICAuaWNvbi1jYXRlZ29yaWVzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjAyZVwiO1xyXG4gIH1cclxuICAuaWNvbi1zaWduLW91dDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwOGJcIjtcclxuICB9XHJcbiAgLmljb24tc2lnbi1pbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwOTBcIjtcclxuICB9XHJcbiAgLmljb24tdHdpdHRlcjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwOTlcIjtcclxuICB9XHJcbiAgLmljb24tZmFjZWJvb2s6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMDlhXCI7XHJcbiAgfVxyXG4gIC5pY29uLWxpbmtlZGluOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBlMVwiO1xyXG4gIH1cclxuICAuaWNvbi1xdWVzdGlvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYxMjhcIjtcclxuICB9XHJcbiAgLmljb24tY2F0YWxvZzpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYxOWNcIjtcclxuICB9XHJcbiAgLmljb24tc2hhcmU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxmMWUwXCI7XHJcbiAgfVxyXG4gIC5pY29uLWdvb2dsZS1wbHVzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBkNVwiO1xyXG4gIH1cclxuICAuaWNvbi15b3V0dWJlOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjE2YVwiO1xyXG4gIH1cclxuICAuaWNvbi1zZXR0aW5nczpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwMTNcIjtcclxuICB9XHJcbiAgLmljb24tY2hldnJvbi1yaWdodDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwNTRcIjtcclxuICB9XHJcbiAgLmljb24tY2hldnJvbi11cDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGYwNzdcIjtcclxuICB9XHJcbiAgLmljb24tY2hldnJvbi1kb3duOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjA3OFwiO1xyXG4gIH1cclxuICAuaWNvbi1wb2RjYXN0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYxOFwiO1xyXG4gIH1cclxuICAuaWNvbi1zaW11bGNhc3Q6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjAyXCI7XHJcbiAgfVxyXG4gIC5pY29uLXVzYjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MDhcIjtcclxuICB9XHJcbiAgLmljb24tY2Q6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjA5XCI7XHJcbiAgfVxyXG4gIC5pY29uLWN1c3RvbWVyLXNlcnZpY2U6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjEzXCI7XHJcbiAgfVxyXG4gIC5pY29uLXJlY2VpcHQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjBjXCI7XHJcbiAgfVxyXG4gIC5pY29uLXNlYXJjaDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MGVcIjtcclxuICB9XHJcbiAgLmljb24tY2FydDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MGZcIjtcclxuICB9XHJcbiAgLmljb24tbWVzc2FnZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MTRcIjtcclxuICB9XHJcbiAgLmljb24tZmlsdGVyOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwZFwiO1xyXG4gIH1cclxuICAuaWNvbi1wcmljZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MTFcIjtcclxuICB9XHJcbiAgLmljb24td2ViaW5hcjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MTdcIjtcclxuICB9XHJcbiAgLmljb24td2ViY2FzdDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MTZcIjtcclxuICB9XHJcbiAgLmljb24tbW9yZS1ob3JpejpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MTVcIjtcclxuICB9XHJcbiAgLmljb24tbW9yZS12ZXJ0OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYxMFwiO1xyXG4gIH1cclxuICAuaWNvbi1zdWJzY3JpcHRpb25zOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYxYVwiO1xyXG4gIH1cclxuICAuaWNvbi1zdGFyLW91dGxpbmU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjAzXCI7XHJcbiAgfVxyXG4gIC5pY29uLXN0YXItaGFsZjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MDRcIjtcclxuICB9XHJcbiAgLmljb24tc3RhcjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MDZcIjtcclxuICB9XHJcbiAgLmljb24tYm9vazpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU2MTJcIjtcclxuICB9XHJcbiAgLmljb24tbWF0ZXJpYWxzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwYlwiO1xyXG4gIH1cclxuICAuaWNvbi1kaXJlY3Rpb25zOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZTYwNVwiO1xyXG4gIH1cclxuICAuaWNvbi1lLWJvb2s6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjBhXCI7XHJcbiAgfVxyXG4gIC5pY29uLW9uLWRlbWFuZC12aWRlbzpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5MTRcIjtcclxuICB9XHJcbiAgLmljb24tbGlicmFyeTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5MjBcIjtcclxuICB9XHJcbiAgLmljb24tcHJvZmlsZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5MjNcIjtcclxuICB9XHJcbiAgLmljb24tcGhvbmU6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlOTQyXCI7XHJcbiAgfVxyXG4gIC5pY29uLWFkZHJlc3MtYm9vazpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5NDRcIjtcclxuICB9XHJcbiAgLmljb24tdXNlcjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5NzFcIjtcclxuICB9XHJcbiAgLmljb24tdXNlci1hZGQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlOTczXCI7XHJcbiAgfVxyXG4gIC5pY29uLWRhc2hib2FyZDpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5YTZcIjtcclxuICB9XHJcbiAgLmljb24tY29udGVudHM6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlOWJhXCI7XHJcbiAgfVxyXG4gIC5pY29uLW9wZW4tbW9kYWw6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlYTdlXCI7XHJcbiAgfVxyXG4gIC5pY29uLWJvb2stb24tY2Q6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjAxXCI7XHJcbiAgfVxyXG4gIC5pY29uLXN1YmplY3RzOmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiBcIlxcZjBkOFwiO1xyXG4gIH1cclxuICAuaWNvbi1kdmQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjA3XCI7XHJcbiAgfVxyXG4gIC5pY29uLWluLXBlcnNvbjpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5NzJcIjtcclxuICB9XHJcbiAgLmljb24tZG93bmxvYWQ6YmVmb3JlIHtcclxuICAgIGNvbnRlbnQ6IFwiXFxlNjAwXCI7XHJcbiAgfVxyXG4gIC5pY29uLWJ1bmRsZTpiZWZvcmUge1xyXG4gICAgY29udGVudDogXCJcXGU5MmVcIjtcclxuICB9IiwiLy8gSGFtYnVyZ2VyXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbi5oYW1idXJnZXIge1xyXG4gIHBhZGRpbmc6ICRoYW1idXJnZXItcGFkZGluZy15ICRoYW1idXJnZXItcGFkZGluZy14O1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHksIGZpbHRlcjtcclxuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb247XHJcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICRoYW1idXJnZXItaG92ZXItdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb247XHJcblxyXG4gIC8vIE5vcm1hbGl6ZSAoPGJ1dHRvbj4pXHJcbiAgZm9udDogaW5oZXJpdDtcclxuICBjb2xvcjogaW5oZXJpdDtcclxuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG5cclxuICAmOmhvdmVyIHtcclxuICAgIEBpZiAkaGFtYnVyZ2VyLWhvdmVyLXVzZS1maWx0ZXIgPT0gdHJ1ZSB7XHJcbiAgICAgIGZpbHRlcjogJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXI7XHJcbiAgICB9XHJcbiAgICBAZWxzZSB7XHJcbiAgICAgIG9wYWNpdHk6ICRoYW1idXJnZXItaG92ZXItb3BhY2l0eTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5oYW1idXJnZXItYm94IHtcclxuICB3aWR0aDogJGhhbWJ1cmdlci1sYXllci13aWR0aDtcclxuICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0ICogMyArICRoYW1idXJnZXItbGF5ZXItc3BhY2luZyAqIDI7XHJcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxufVxyXG5cclxuLmhhbWJ1cmdlci1pbm5lciB7XHJcbiAgZGlzcGxheTogYmxvY2s7XHJcbiAgdG9wOiA1MCU7XHJcbiAgbWFyZ2luLXRvcDogJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgLyAtMjtcclxuXHJcbiAgJixcclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgd2lkdGg6ICRoYW1idXJnZXItbGF5ZXItd2lkdGg7XHJcbiAgICBoZWlnaHQ6ICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGhhbWJ1cmdlci1sYXllci1jb2xvcjtcclxuICAgIGJvcmRlci1yYWRpdXM6ICRoYW1idXJnZXItbGF5ZXItYm9yZGVyLXJhZGl1cztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybTtcclxuICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuMTVzO1xyXG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2U7XHJcbiAgfVxyXG5cclxuICAmOjpiZWZvcmUsXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgY29udGVudDogXCJcIjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuXHJcbiAgJjo6YmVmb3JlIHtcclxuICAgIHRvcDogKCRoYW1idXJnZXItbGF5ZXItc3BhY2luZyArICRoYW1idXJnZXItbGF5ZXItaGVpZ2h0KSAqIC0xO1xyXG4gIH1cclxuXHJcbiAgJjo6YWZ0ZXIge1xyXG4gICAgYm90dG9tOiAoJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICsgJGhhbWJ1cmdlci1sYXllci1oZWlnaHQpICogLTE7XHJcbiAgfVxyXG59XHJcbiIsIkBjaGFyc2V0IFwiVVRGLThcIjtcclxuLyohXHJcbiAqIEhhbWJ1cmdlcnNcclxuICogQGRlc2NyaXB0aW9uIFRhc3R5IENTUy1hbmltYXRlZCBoYW1idXJnZXJzXHJcbiAqIEBhdXRob3IgSm9uYXRoYW4gU3VoIEBqb25zdWhcclxuICogQHNpdGUgaHR0cHM6Ly9qb25zdWguY29tL2hhbWJ1cmdlcnNcclxuICogQGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL2pvbnN1aC9oYW1idXJnZXJzXHJcbiAqL1xyXG5cclxuLy8gU2V0dGluZ3NcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMC43NXJlbSAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgICAgICAgICAgICAgIDogMXJlbSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgICAgICAgICAgICAgIDogMHJlbSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogMnJlbSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogMC4yNXJlbSAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1zcGFjaW5nICAgICAgICAgICAgICAgICAgIDogMC4zNzVyZW0gIWRlZmF1bHQ7XHJcbi8vJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzICAgICAgICAgICAgIDogMC4yNXJlbSAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1wYWRkaW5nLXggICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1wYWRkaW5nLXkgICAgICAgICAgICAgICAgICAgICAgIDogMTVweCAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1sYXllci13aWR0aCAgICAgICAgICAgICAgICAgICAgIDogNDBweCAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1sYXllci1oZWlnaHQgICAgICAgICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xyXG4vLyAkaGFtYnVyZ2VyLWxheWVyLXNwYWNpbmcgICAgICAgICAgICAgICAgICAgOiA2cHggIWRlZmF1bHQ7XHJcbi8vJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogIzAwMCAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1sYXllci1jb2xvciAgICAgICAgICAgICAgICAgICAgIDogI2ZmZiAhZGVmYXVsdDtcclxuLy8gJGhhbWJ1cmdlci1sYXllci1ib3JkZXItcmFkaXVzICAgICAgICAgICAgIDogNHB4ICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWhvdmVyLW9wYWNpdHkgICAgICAgICAgICAgICAgICAgOiAxICFkZWZhdWx0O1xyXG4kaGFtYnVyZ2VyLWhvdmVyLXRyYW5zaXRpb24tZHVyYXRpb24gICAgICAgOiAwLjE1cyAhZGVmYXVsdDtcclxuJGhhbWJ1cmdlci1ob3Zlci10cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFkZWZhdWx0O1xyXG5cclxuLy8gVG8gdXNlIENTUyBmaWx0ZXJzIGFzIHRoZSBob3ZlciBlZmZlY3QgaW5zdGVhZCBvZiBvcGFjaXR5LFxyXG4vLyBzZXQgJGhhbWJ1cmdlci1ob3Zlci11c2UtZmlsdGVyIGFzIHRydWUgYW5kXHJcbi8vIGNoYW5nZSB0aGUgdmFsdWUgb2YgJGhhbWJ1cmdlci1ob3Zlci1maWx0ZXIgYWNjb3JkaW5nbHkuXHJcbiRoYW1idXJnZXItaG92ZXItdXNlLWZpbHRlcjogZmFsc2UgIWRlZmF1bHQ7XHJcbiRoYW1idXJnZXItaG92ZXItZmlsdGVyICAgIDogb3BhY2l0eSg1MCUpICFkZWZhdWx0O1xyXG5cclxuLy8gVHlwZXMgKFJlbW92ZSBvciBjb21tZW50IG91dCB3aGF0IHlvdSBkb27igJl0IG5lZWQpXHJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XHJcbiRoYW1idXJnZXItdHlwZXM6IChcclxuICAzZHgsXHJcbiAgM2R4LXIsXHJcbiAgM2R5LFxyXG4gIDNkeS1yLFxyXG4gIGFycm93LFxyXG4gIGFycm93LXIsXHJcbiAgYXJyb3dhbHQsXHJcbiAgYXJyb3dhbHQtcixcclxuICBib3JpbmcsXHJcbiAgY29sbGFwc2UsXHJcbiAgY29sbGFwc2UtcixcclxuICBlbGFzdGljLFxyXG4gIGVsYXN0aWMtcixcclxuICBlbXBoYXRpYyxcclxuICBlbXBoYXRpYy1yLFxyXG4gIHNsaWRlcixcclxuICBzbGlkZXItcixcclxuICBzcHJpbmcsXHJcbiAgc3ByaW5nLXIsXHJcbiAgc3RhbmQsXHJcbiAgc3RhbmQtcixcclxuICBzcGluLFxyXG4gIHNwaW4tcixcclxuICBzcXVlZXplLFxyXG4gIHZvcnRleCxcclxuICB2b3J0ZXgtclxyXG4pICFkZWZhdWx0O1xyXG5cclxuLy8gQmFzZSBIYW1idXJnZXIgKFdlIG5lZWQgdGhpcylcclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cclxuQGltcG9ydCBcImJhc2VcIjtcclxuXHJcbi8vIEhhbWJ1cmdlciB0eXBlc1xyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBAaW1wb3J0IFwidHlwZXMvM2R4XCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHgtclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvM2R5XCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy8zZHktclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvYXJyb3dcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93LXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2Fycm93YWx0XCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9hcnJvd2FsdC1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9ib3JpbmdcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2NvbGxhcHNlXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9jb2xsYXBzZS1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9lbGFzdGljLXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL2VtcGhhdGljXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9lbXBoYXRpYy1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zbGlkZXJcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3NsaWRlci1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zcHJpbmdcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3NwcmluZy1yXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy9zdGFuZFwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvc3RhbmQtclwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvc3BpblwiO1xyXG4vLyBAaW1wb3J0IFwidHlwZXMvc3Bpbi1yXCI7XHJcbkBpbXBvcnQgXCJ0eXBlcy9zcXVlZXplXCI7XHJcbi8vIEBpbXBvcnQgXCJ0eXBlcy92b3J0ZXhcIjtcclxuLy8gQGltcG9ydCBcInR5cGVzL3ZvcnRleC1yXCI7XHJcblxyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxyXG4vLyBDb29raW5nIHVwIGFkZGl0aW9uYWwgdHlwZXM6XHJcbi8vXHJcbi8vIFRoZSBTYXNzIGZvciBlYWNoIGhhbWJ1cmdlciB0eXBlIHNob3VsZCBiZSBuZXN0ZWRcclxuLy8gaW5zaWRlIGFuIEBpZiBkaXJlY3RpdmUgdG8gY2hlY2sgd2hldGhlciBvciBub3RcclxuLy8gaXQgZXhpc3RzIGluICRoYW1idXJnZXItdHlwZXMgc28gb25seSB0aGUgQ1NTIGZvclxyXG4vLyBpbmNsdWRlZCB0eXBlcyBhcmUgZ2VuZXJhdGVkLlxyXG4vL1xyXG4vLyBlLmcuIGhhbWJ1cmdlcnMvdHlwZXMvX25ldy10eXBlLnNjc3NcclxuLy9cclxuLy8gQGlmIGluZGV4KCRoYW1idXJnZXItdHlwZXMsIG5ldy10eXBlKSB7XHJcbi8vICAgLmhhbWJ1cmdlci0tbmV3LXR5cGUge1xyXG4vLyAgICAgLi4uXHJcbi8vICAgfVxyXG4vLyB9XHJcbiIsIkBpZiBpbmRleCgkaGFtYnVyZ2VyLXR5cGVzLCBzcXVlZXplKSB7XHJcbiAgLypcclxuICAgKiBTcXVlZXplXHJcbiAgICovXHJcbiAgLmhhbWJ1cmdlci0tc3F1ZWV6ZSB7XHJcbiAgICAuaGFtYnVyZ2VyLWlubmVyIHtcclxuICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4xcztcclxuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjU1LCAwLjA1NSwgMC42NzUsIDAuMTkpO1xyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyAwLjE0cyBlYXNlLFxyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHkgMC4xcyBlYXNlO1xyXG4gICAgICB9XHJcblxyXG4gICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgMC4xNHMgZWFzZSxcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm0gMC4xcyBjdWJpYy1iZXppZXIoMC41NSwgMC4wNTUsIDAuNjc1LCAwLjE5KTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtYWN0aXZlIHtcclxuICAgICAgLmhhbWJ1cmdlci1pbm5lciB7XHJcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xyXG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMTRzO1xyXG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yMTUsIDAuNjEsIDAuMzU1LCAxKTtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIG9wYWNpdHk6IDA7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB0b3AgMC4xcyBlYXNlLFxyXG4gICAgICAgICAgICAgICAgICAgICAgb3BhY2l0eSAwLjFzIDAuMTRzIGVhc2U7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmOjphZnRlciB7XHJcbiAgICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogYm90dG9tIDAuMXMgZWFzZSxcclxuICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybSAwLjFzIDAuMTRzIGN1YmljLWJlemllcigwLjIxNSwgMC42MSwgMC4zNTUsIDEpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIuZm9vdGFibGUgLmJ0biwuZm9vdGFibGUgLmNhcmV0e2Rpc3BsYXk6aW5saW5lLWJsb2NrO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9vdGFibGUtZGV0YWlscy50YWJsZSwuZm9vdGFibGUtZGV0YWlscy50YWJsZSAqLC5mb290YWJsZS50YWJsZSwuZm9vdGFibGUudGFibGUgKnstd2Via2l0LWJveC1zaXppbmc6Ym9yZGVyLWJveDstbW96LWJveC1zaXppbmc6Ym9yZGVyLWJveDtib3gtc2l6aW5nOmJvcmRlci1ib3h9LmZvb3RhYmxlLWRldGFpbHMudGFibGUgdGgsLmZvb3RhYmxlLnRhYmxlIHRoe3RleHQtYWxpZ246bGVmdH0uZm9vdGFibGUtZGV0YWlscy50YWJsZSwuZm9vdGFibGUudGFibGV7d2lkdGg6MTAwJTttYXgtd2lkdGg6MTAwJTttYXJnaW4tYm90dG9tOjIwcHh9LmZvb3RhYmxlLWRldGFpbHMudGFibGU+Y2FwdGlvbit0aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwuZm9vdGFibGUtZGV0YWlscy50YWJsZT5jYXB0aW9uK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlPmNvbGdyb3VwK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlPmNvbGdyb3VwK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkPnRkLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkPnRoLC5mb290YWJsZS50YWJsZT5jYXB0aW9uK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRkLC5mb290YWJsZS50YWJsZT5jYXB0aW9uK3RoZWFkPnRyOmZpcnN0LWNoaWxkPnRoLC5mb290YWJsZS50YWJsZT5jb2xncm91cCt0aGVhZD50cjpmaXJzdC1jaGlsZD50ZCwuZm9vdGFibGUudGFibGU+Y29sZ3JvdXArdGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGgsLmZvb3RhYmxlLnRhYmxlPnRoZWFkOmZpcnN0LWNoaWxkPnRyOmZpcnN0LWNoaWxkPnRkLC5mb290YWJsZS50YWJsZT50aGVhZDpmaXJzdC1jaGlsZD50cjpmaXJzdC1jaGlsZD50aHtib3JkZXItdG9wOjB9LmZvb3RhYmxlLWRldGFpbHMudGFibGU+dGJvZHk+dHI+dGQsLmZvb3RhYmxlLWRldGFpbHMudGFibGU+dGJvZHk+dHI+dGgsLmZvb3RhYmxlLWRldGFpbHMudGFibGU+dGZvb3Q+dHI+dGQsLmZvb3RhYmxlLWRldGFpbHMudGFibGU+dGZvb3Q+dHI+dGgsLmZvb3RhYmxlLWRldGFpbHMudGFibGU+dGhlYWQ+dHI+dGQsLmZvb3RhYmxlLWRldGFpbHMudGFibGU+dGhlYWQ+dHI+dGgsLmZvb3RhYmxlLnRhYmxlPnRib2R5PnRyPnRkLC5mb290YWJsZS50YWJsZT50Ym9keT50cj50aCwuZm9vdGFibGUudGFibGU+dGZvb3Q+dHI+dGQsLmZvb3RhYmxlLnRhYmxlPnRmb290PnRyPnRoLC5mb290YWJsZS50YWJsZT50aGVhZD50cj50ZCwuZm9vdGFibGUudGFibGU+dGhlYWQ+dHI+dGh7cGFkZGluZzo4cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mzt2ZXJ0aWNhbC1hbGlnbjp0b3A7Ym9yZGVyLXRvcDoxcHggc29saWQgI2RkZH0uZm9vdGFibGUtZGV0YWlscy50YWJsZT50aGVhZD50cj50ZCwuZm9vdGFibGUtZGV0YWlscy50YWJsZT50aGVhZD50cj50aCwuZm9vdGFibGUudGFibGU+dGhlYWQ+dHI+dGQsLmZvb3RhYmxlLnRhYmxlPnRoZWFkPnRyPnRoe3ZlcnRpY2FsLWFsaWduOmJvdHRvbTtib3JkZXItYm90dG9tOjJweCBzb2xpZCAjZGRkfS5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWNvbmRlbnNlZD50Ym9keT50cj50ZCwuZm9vdGFibGUtZGV0YWlscy50YWJsZS1jb25kZW5zZWQ+dGJvZHk+dHI+dGgsLmZvb3RhYmxlLWRldGFpbHMudGFibGUtY29uZGVuc2VkPnRmb290PnRyPnRkLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWNvbmRlbnNlZD50Zm9vdD50cj50aCwuZm9vdGFibGUtZGV0YWlscy50YWJsZS1jb25kZW5zZWQ+dGhlYWQ+dHI+dGQsLmZvb3RhYmxlLWRldGFpbHMudGFibGUtY29uZGVuc2VkPnRoZWFkPnRyPnRoLC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQ+dGJvZHk+dHI+dGQsLmZvb3RhYmxlLnRhYmxlLWNvbmRlbnNlZD50Ym9keT50cj50aCwuZm9vdGFibGUudGFibGUtY29uZGVuc2VkPnRmb290PnRyPnRkLC5mb290YWJsZS50YWJsZS1jb25kZW5zZWQ+dGZvb3Q+dHI+dGgsLmZvb3RhYmxlLnRhYmxlLWNvbmRlbnNlZD50aGVhZD50cj50ZCwuZm9vdGFibGUudGFibGUtY29uZGVuc2VkPnRoZWFkPnRyPnRoe3BhZGRpbmc6NXB4fS5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRkLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRkLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyPnRoLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLC5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRoLC5mb290YWJsZS50YWJsZS1ib3JkZXJlZCwuZm9vdGFibGUudGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI+dGQsLmZvb3RhYmxlLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyPnRoLC5mb290YWJsZS50YWJsZS1ib3JkZXJlZD50Zm9vdD50cj50ZCwuZm9vdGFibGUudGFibGUtYm9yZGVyZWQ+dGZvb3Q+dHI+dGgsLmZvb3RhYmxlLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLC5mb290YWJsZS50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aHtib3JkZXI6MXB4IHNvbGlkICNkZGR9LmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGQsLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI+dGgsLmZvb3RhYmxlLnRhYmxlLWJvcmRlcmVkPnRoZWFkPnRyPnRkLC5mb290YWJsZS50YWJsZS1ib3JkZXJlZD50aGVhZD50cj50aHtib3JkZXItYm90dG9tLXdpZHRoOjJweH0uZm9vdGFibGUtZGV0YWlscy50YWJsZS1zdHJpcGVkPnRib2R5PnRyOm50aC1jaGlsZChvZGQpLC5mb290YWJsZS50YWJsZS1zdHJpcGVkPnRib2R5PnRyOm50aC1jaGlsZChvZGQpe2JhY2tncm91bmQtY29sb3I6I2Y5ZjlmOX0uZm9vdGFibGUtZGV0YWlscy50YWJsZS1ob3Zlcj50Ym9keT50cjpob3ZlciwuZm9vdGFibGUudGFibGUtaG92ZXI+dGJvZHk+dHI6aG92ZXJ7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fS5mb290YWJsZSAuYnRue3BhZGRpbmc6NnB4IDEycHg7bWFyZ2luLWJvdHRvbTowO2ZvbnQtc2l6ZToxNHB4O2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO3RleHQtYWxpZ246Y2VudGVyO3doaXRlLXNwYWNlOm5vd3JhcDstbXMtdG91Y2gtYWN0aW9uOm1hbmlwdWxhdGlvbjt0b3VjaC1hY3Rpb246bWFuaXB1bGF0aW9uO2N1cnNvcjpwb2ludGVyOy13ZWJraXQtYXBwZWFyYW5jZTpidXR0b247LXdlYmtpdC11c2VyLXNlbGVjdDpub25lOy1tb3otdXNlci1zZWxlY3Q6bm9uZTstbXMtdXNlci1zZWxlY3Q6bm9uZTt1c2VyLXNlbGVjdDpub25lO2JhY2tncm91bmQtaW1hZ2U6bm9uZTtib3JkZXI6MXB4IHNvbGlkIHRyYW5zcGFyZW50O2JvcmRlci1yYWRpdXM6NHB4O292ZXJmbG93OnZpc2libGU7dGV4dC10cmFuc2Zvcm06bm9uZX0uZm9vdGFibGUgLmJ0bi5mb2N1cywuZm9vdGFibGUgLmJ0bjpmb2N1cywuZm9vdGFibGUgLmJ0bjpob3Zlcntjb2xvcjojMzMzO3RleHQtZGVjb3JhdGlvbjpub25lfS5mb290YWJsZSAuYnRuLWRlZmF1bHR7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNjY2N9LmZvb3RhYmxlIC5idG4tZGVmYXVsdC5hY3RpdmUsLmZvb3RhYmxlIC5idG4tZGVmYXVsdC5mb2N1cywuZm9vdGFibGUgLmJ0bi1kZWZhdWx0OmFjdGl2ZSwuZm9vdGFibGUgLmJ0bi1kZWZhdWx0OmZvY3VzLC5mb290YWJsZSAuYnRuLWRlZmF1bHQ6aG92ZXIsLmZvb3RhYmxlIC5vcGVuPi5kcm9wZG93bi10b2dnbGUuYnRuLWRlZmF1bHR7Y29sb3I6IzMzMztiYWNrZ3JvdW5kLWNvbG9yOiNlNmU2ZTY7Ym9yZGVyLWNvbG9yOiNhZGFkYWR9LmZvb3RhYmxlIC5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzJlNmRhNH0uZm9vdGFibGUgLmJ0bi1wcmltYXJ5LmFjdGl2ZSwuZm9vdGFibGUgLmJ0bi1wcmltYXJ5LmZvY3VzLC5mb290YWJsZSAuYnRuLXByaW1hcnk6YWN0aXZlLC5mb290YWJsZSAuYnRuLXByaW1hcnk6Zm9jdXMsLmZvb3RhYmxlIC5idG4tcHJpbWFyeTpob3ZlciwuZm9vdGFibGUgLm9wZW4+LmRyb3Bkb3duLXRvZ2dsZS5idG4tcHJpbWFyeXtjb2xvcjojZmZmO2JhY2tncm91bmQtY29sb3I6IzI4NjA5MDtib3JkZXItY29sb3I6IzIwNGQ3NH0uZm9vdGFibGUgLmJ0bi1ncm91cCwuZm9vdGFibGUgLmJ0bi1ncm91cC12ZXJ0aWNhbHtwb3NpdGlvbjpyZWxhdGl2ZTtkaXNwbGF5OmlubGluZS1ibG9jazt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvb3RhYmxlIC5idG4tZ3JvdXA+LmJ0bjpmaXJzdC1jaGlsZDpub3QoOmxhc3QtY2hpbGQpOm5vdCguZHJvcGRvd24tdG9nZ2xlKXtib3JkZXItdG9wLXJpZ2h0LXJhZGl1czowO2JvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOjB9LmZvb3RhYmxlIC5idG4tZ3JvdXA+LmJ0bjpmaXJzdC1jaGlsZHttYXJnaW4tbGVmdDowfS5mb290YWJsZSAuYnRuLWdyb3VwLXZlcnRpY2FsPi5idG4sLmZvb3RhYmxlIC5idG4tZ3JvdXA+LmJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtmbG9hdDpsZWZ0fS5mb290YWJsZSAuYnRuLWdyb3VwLXhzPi5idG4sLmZvb3RhYmxlIC5idG4teHN7cGFkZGluZzoxcHggNXB4O2ZvbnQtc2l6ZToxMnB4O2xpbmUtaGVpZ2h0OjEuNTtib3JkZXItcmFkaXVzOjNweH0uZm9vdGFibGUgLmJ0bi1ncm91cC1zbT4uYnRuLC5mb290YWJsZSAuYnRuLXNte3BhZGRpbmc6NXB4IDEwcHg7Zm9udC1zaXplOjEycHg7bGluZS1oZWlnaHQ6MS41O2JvcmRlci1yYWRpdXM6M3B4fS5mb290YWJsZSAuYnRuLWdyb3VwLWxnPi5idG4sLmZvb3RhYmxlIC5idG4tbGd7cGFkZGluZzoxMHB4IDE2cHg7Zm9udC1zaXplOjE4cHg7bGluZS1oZWlnaHQ6MS4zMzMzMzMzO2JvcmRlci1yYWRpdXM6NnB4fS5mb290YWJsZSAuY2FyZXR7d2lkdGg6MDtoZWlnaHQ6MDttYXJnaW4tbGVmdDoycHg7Ym9yZGVyLXRvcDo0cHggc29saWQ7Ym9yZGVyLXJpZ2h0OjRweCBzb2xpZCB0cmFuc3BhcmVudDtib3JkZXItbGVmdDo0cHggc29saWQgdHJhbnNwYXJlbnR9LmZvb3RhYmxlIC5idG4gLmNhcmV0e21hcmdpbi1sZWZ0OjB9LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbToxNXB4fS5mb290YWJsZSAuZm9ybS1jb250cm9se2Rpc3BsYXk6YmxvY2s7d2lkdGg6MTAwJTtoZWlnaHQ6MzRweDtwYWRkaW5nOjZweCAxMnB4O21hcmdpbjowO2ZvbnQtZmFtaWx5OmluaGVyaXQ7Zm9udC1zaXplOjE0cHg7bGluZS1oZWlnaHQ6MS40Mjg1NzE0Mztjb2xvcjojNTU1O2JhY2tncm91bmQtY29sb3I6I2ZmZjtiYWNrZ3JvdW5kLWltYWdlOm5vbmU7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDc1KTtib3gtc2hhZG93Omluc2V0IDAgMXB4IDFweCByZ2JhKDAsMCwwLC4wNzUpOy13ZWJraXQtdHJhbnNpdGlvbjpib3JkZXItY29sb3IgZWFzZS1pbi1vdXQgLjE1cywtd2Via2l0LWJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1czstby10cmFuc2l0aW9uOmJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1czt0cmFuc2l0aW9uOmJvcmRlci1jb2xvciBlYXNlLWluLW91dCAuMTVzLGJveC1zaGFkb3cgZWFzZS1pbi1vdXQgLjE1c30uZm9vdGFibGUgLmlucHV0LWdyb3Vwe3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6dGFibGU7Ym9yZGVyLWNvbGxhcHNlOnNlcGFyYXRlfS5mb290YWJsZSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbHtwb3NpdGlvbjpyZWxhdGl2ZTt6LWluZGV4OjI7ZmxvYXQ6bGVmdDt3aWR0aDoxMDAlO21hcmdpbi1ib3R0b206MH0uZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bntwb3NpdGlvbjpyZWxhdGl2ZTtmb250LXNpemU6MH0uZm9vdGFibGUgLmlucHV0LWdyb3VwLWFkZG9uLC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOjElO3doaXRlLXNwYWNlOm5vd3JhcDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvb3RhYmxlIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYWRkb24sLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG57ZGlzcGxheTp0YWJsZS1jZWxsfS5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuOmxhc3QtY2hpbGQ+LmJ0biwuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4tZ3JvdXAsLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG4+LmJ0bisuYnRue21hcmdpbi1sZWZ0Oi0xcHh9LmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG4+LmJ0bntwb3NpdGlvbjpyZWxhdGl2ZX0uZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bj4uYnRuOmFjdGl2ZSwuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bj4uYnRuOmZvY3VzLC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuPi5idG46aG92ZXJ7ei1pbmRleDoyfS5mb290YWJsZSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpmaXJzdC1jaGlsZCwuZm9vdGFibGUgLmlucHV0LWdyb3VwLWFkZG9uOmZpcnN0LWNoaWxkLC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5idG4sLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bi1ncm91cD4uYnRuLC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYnRuOmZpcnN0LWNoaWxkPi5kcm9wZG93bi10b2dnbGUsLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLWdyb3VwOm5vdCg6bGFzdC1jaGlsZCk+LmJ0biwuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG46bm90KDpsYXN0LWNoaWxkKTpub3QoLmRyb3Bkb3duLXRvZ2dsZSl7Ym9yZGVyLXRvcC1yaWdodC1yYWRpdXM6MDtib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czowfS5mb290YWJsZSAuaW5wdXQtZ3JvdXAgLmZvcm0tY29udHJvbDpsYXN0LWNoaWxkLC5mb290YWJsZSAuaW5wdXQtZ3JvdXAtYWRkb246bGFzdC1jaGlsZCwuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpmaXJzdC1jaGlsZD4uYnRuLWdyb3VwOm5vdCg6Zmlyc3QtY2hpbGQpPi5idG4sLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG46Zmlyc3QtY2hpbGQ+LmJ0bjpub3QoOmZpcnN0LWNoaWxkKSwuZm9vdGFibGUgLmlucHV0LWdyb3VwLWJ0bjpsYXN0LWNoaWxkPi5idG4sLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uYnRuLWdyb3VwPi5idG4sLmZvb3RhYmxlIC5pbnB1dC1ncm91cC1idG46bGFzdC1jaGlsZD4uZHJvcGRvd24tdG9nZ2xle2JvcmRlci10b3AtbGVmdC1yYWRpdXM6MDtib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOjB9LmZvb3RhYmxlIC5jaGVja2JveCwuZm9vdGFibGUgLnJhZGlve3Bvc2l0aW9uOnJlbGF0aXZlO2Rpc3BsYXk6YmxvY2s7bWFyZ2luLXRvcDoxMHB4O21hcmdpbi1ib3R0b206MTBweH0uZm9vdGFibGUgLmNoZWNrYm94IGxhYmVsLC5mb290YWJsZSAucmFkaW8gbGFiZWx7bWF4LXdpZHRoOjEwMCU7bWluLWhlaWdodDoyMHB4O3BhZGRpbmctbGVmdDoyMHB4O21hcmdpbi1ib3R0b206MDtmb250LXdlaWdodDo0MDA7Y3Vyc29yOnBvaW50ZXJ9LmZvb3RhYmxlIC5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XSwuZm9vdGFibGUgLmNoZWNrYm94LWlubGluZSBpbnB1dFt0eXBlPWNoZWNrYm94XSwuZm9vdGFibGUgLnJhZGlvIGlucHV0W3R5cGU9cmFkaW9dLC5mb290YWJsZSAucmFkaW8taW5saW5lIGlucHV0W3R5cGU9cmFkaW9de3Bvc2l0aW9uOmFic29sdXRlO21hcmdpbjo0cHggMCAwIC0yMHB4O2xpbmUtaGVpZ2h0Om5vcm1hbH0uZm9vdGFibGUgLmRyb3Bkb3duLW1lbnV7cG9zaXRpb246YWJzb2x1dGU7dG9wOjEwMCU7bGVmdDowO3otaW5kZXg6MTAwMDtkaXNwbGF5Om5vbmU7ZmxvYXQ6bGVmdDttaW4td2lkdGg6MTYwcHg7cGFkZGluZzo1cHggMDttYXJnaW46MnB4IDAgMDtmb250LXNpemU6MTRweDt0ZXh0LWFsaWduOmxlZnQ7bGlzdC1zdHlsZTpub25lO2JhY2tncm91bmQtY29sb3I6I2ZmZjstd2Via2l0LWJhY2tncm91bmQtY2xpcDpwYWRkaW5nLWJveDtiYWNrZ3JvdW5kLWNsaXA6cGFkZGluZy1ib3g7Ym9yZGVyOjFweCBzb2xpZCAjY2NjO2JvcmRlcjoxcHggc29saWQgcmdiYSgwLDAsMCwuMTUpO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzowIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSk7Ym94LXNoYWRvdzowIDZweCAxMnB4IHJnYmEoMCwwLDAsLjE3NSl9LmZvb3RhYmxlIC5vcGVuPi5kcm9wZG93bi1tZW51e2Rpc3BsYXk6YmxvY2t9LmZvb3RhYmxlIC5kcm9wZG93bi1tZW51LXJpZ2h0e3JpZ2h0OjA7bGVmdDphdXRvfS5mb290YWJsZSAuZHJvcGRvd24tbWVudT5saT5he2Rpc3BsYXk6YmxvY2s7cGFkZGluZzozcHggMjBweDtjbGVhcjpib3RoO2ZvbnQtd2VpZ2h0OjQwMDtsaW5lLWhlaWdodDoxLjQyODU3MTQzO2NvbG9yOiMzMzM7d2hpdGUtc3BhY2U6bm93cmFwfS5mb290YWJsZSAuZHJvcGRvd24tbWVudT5saT5hOmZvY3VzLC5mb290YWJsZSAuZHJvcGRvd24tbWVudT5saT5hOmhvdmVye2NvbG9yOiMyNjI2MjY7dGV4dC1kZWNvcmF0aW9uOm5vbmU7YmFja2dyb3VuZC1jb2xvcjojZjVmNWY1fS5mb290YWJsZSAucGFnaW5hdGlvbntkaXNwbGF5OmlubGluZS1ibG9jaztwYWRkaW5nLWxlZnQ6MDttYXJnaW46MjBweCAwO2JvcmRlci1yYWRpdXM6NHB4fS5mb290YWJsZSAucGFnaW5hdGlvbj5saXtkaXNwbGF5OmlubGluZX0uZm9vdGFibGUgLnBhZ2luYXRpb24+bGk6Zmlyc3QtY2hpbGQ+YSwuZm9vdGFibGUgLnBhZ2luYXRpb24+bGk6Zmlyc3QtY2hpbGQ+c3BhbnttYXJnaW4tbGVmdDowO2JvcmRlci10b3AtbGVmdC1yYWRpdXM6NHB4O2JvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6NHB4fS5mb290YWJsZSAucGFnaW5hdGlvbj5saT5hLC5mb290YWJsZSAucGFnaW5hdGlvbj5saT5zcGFue3Bvc2l0aW9uOnJlbGF0aXZlO2Zsb2F0OmxlZnQ7cGFkZGluZzo2cHggMTJweDttYXJnaW4tbGVmdDotMXB4O2xpbmUtaGVpZ2h0OjEuNDI4NTcxNDM7Y29sb3I6IzMzN2FiNzt0ZXh0LWRlY29yYXRpb246bm9uZTtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyOjFweCBzb2xpZCAjZGRkfS5mb290YWJsZSAucGFnaW5hdGlvbj5saT5hOmZvY3VzLC5mb290YWJsZSAucGFnaW5hdGlvbj5saT5hOmhvdmVyLC5mb290YWJsZSAucGFnaW5hdGlvbj5saT5zcGFuOmZvY3VzLC5mb290YWJsZSAucGFnaW5hdGlvbj5saT5zcGFuOmhvdmVye2NvbG9yOiMyMzUyN2M7YmFja2dyb3VuZC1jb2xvcjojZWVlO2JvcmRlci1jb2xvcjojZGRkfS5mb290YWJsZSAucGFnaW5hdGlvbj4uYWN0aXZlPmEsLmZvb3RhYmxlIC5wYWdpbmF0aW9uPi5hY3RpdmU+YTpmb2N1cywuZm9vdGFibGUgLnBhZ2luYXRpb24+LmFjdGl2ZT5hOmhvdmVyLC5mb290YWJsZSAucGFnaW5hdGlvbj4uYWN0aXZlPnNwYW4sLmZvb3RhYmxlIC5wYWdpbmF0aW9uPi5hY3RpdmU+c3Bhbjpmb2N1cywuZm9vdGFibGUgLnBhZ2luYXRpb24+LmFjdGl2ZT5zcGFuOmhvdmVye3otaW5kZXg6Mjtjb2xvcjojZmZmO2N1cnNvcjpkZWZhdWx0O2JhY2tncm91bmQtY29sb3I6IzMzN2FiNztib3JkZXItY29sb3I6IzMzN2FiN30uZm9vdGFibGUgLnBhZ2luYXRpb24+LmRpc2FibGVkPmEsLmZvb3RhYmxlIC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5hOmZvY3VzLC5mb290YWJsZSAucGFnaW5hdGlvbj4uZGlzYWJsZWQ+YTpob3ZlciwuZm9vdGFibGUgLnBhZ2luYXRpb24+LmRpc2FibGVkPnNwYW4sLmZvb3RhYmxlIC5wYWdpbmF0aW9uPi5kaXNhYmxlZD5zcGFuOmZvY3VzLC5mb290YWJsZSAucGFnaW5hdGlvbj4uZGlzYWJsZWQ+c3Bhbjpob3Zlcntjb2xvcjojNzc3O2N1cnNvcjpub3QtYWxsb3dlZDtiYWNrZ3JvdW5kLWNvbG9yOiNmZmY7Ym9yZGVyLWNvbG9yOiNkZGR9LmZvb3RhYmxlIC5sYWJlbHtkaXNwbGF5OmlubGluZTtwYWRkaW5nOi4yZW0gLjZlbSAuM2VtO2ZvbnQtc2l6ZTo3NSU7Zm9udC13ZWlnaHQ6NzAwO2xpbmUtaGVpZ2h0OjE7Y29sb3I6I2ZmZjt0ZXh0LWFsaWduOmNlbnRlcjt3aGl0ZS1zcGFjZTpub3dyYXA7dmVydGljYWwtYWxpZ246YmFzZWxpbmU7Ym9yZGVyLXJhZGl1czouMjVlbX0uZm9vdGFibGUgLmxhYmVsLWRlZmF1bHR7YmFja2dyb3VuZC1jb2xvcjojNzc3fS5mb290YWJsZS1sb2FkZXIud2VsbHttaW4taGVpZ2h0OjIwcHg7cGFkZGluZzoxOXB4O21hcmdpbi1ib3R0b206MjBweDtiYWNrZ3JvdW5kLWNvbG9yOiNmNWY1ZjU7Ym9yZGVyOjFweCBzb2xpZCAjZTNlM2UzO2JvcmRlci1yYWRpdXM6NHB4Oy13ZWJraXQtYm94LXNoYWRvdzppbnNldCAwIDFweCAxcHggcmdiYSgwLDAsMCwuMDUpO2JveC1zaGFkb3c6aW5zZXQgMCAxcHggMXB4IHJnYmEoMCwwLDAsLjA1KX0uZm9vdGFibGUgLnNyLW9ubHl7cG9zaXRpb246YWJzb2x1dGU7d2lkdGg6MXB4O2hlaWdodDoxcHg7cGFkZGluZzowO21hcmdpbjotMXB4O292ZXJmbG93OmhpZGRlbjtjbGlwOnJlY3QoMCwwLDAsMCk7Ym9yZGVyOjB9dGFibGUuZm9vdGFibGUtZGV0YWlscyx0YWJsZS5mb290YWJsZT50aGVhZD50ci5mb290YWJsZS1maWx0ZXJpbmc+dGggZGl2LmZvcm0tZ3JvdXB7bWFyZ2luLWJvdHRvbTowfUBtZWRpYSAobWluLXdpZHRoOjc2OHB4KXsuZm9vdGFibGUgLmZvcm0taW5saW5lIC5mb3JtLWdyb3Vwe2Rpc3BsYXk6aW5saW5lLWJsb2NrO21hcmdpbi1ib3R0b206MDt2ZXJ0aWNhbC1hbGlnbjptaWRkbGV9LmZvb3RhYmxlIC5mb3JtLWlubGluZSAuZm9ybS1jb250cm9se2Rpc3BsYXk6aW5saW5lLWJsb2NrO3dpZHRoOmF1dG87dmVydGljYWwtYWxpZ246bWlkZGxlfS5mb290YWJsZSAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3Vwe2Rpc3BsYXk6aW5saW5lLXRhYmxlO3ZlcnRpY2FsLWFsaWduOm1pZGRsZX0uZm9vdGFibGUgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuZm9ybS1jb250cm9sLC5mb290YWJsZSAuZm9ybS1pbmxpbmUgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1hZGRvbiwuZm9vdGFibGUgLmZvcm0taW5saW5lIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnRue3dpZHRoOmF1dG99LmZvb3RhYmxlIC5mb3JtLWlubGluZSAuaW5wdXQtZ3JvdXA+LmZvcm0tY29udHJvbHt3aWR0aDoxMDAlfX10YWJsZS5mb290YWJsZSx0YWJsZS5mb290YWJsZS1kZXRhaWxze3Bvc2l0aW9uOnJlbGF0aXZlO3dpZHRoOjEwMCU7Ym9yZGVyLXNwYWNpbmc6MDtib3JkZXItY29sbGFwc2U6Y29sbGFwc2V9dGFibGUuZm9vdGFibGUtaGlkZS1mb3Vje2Rpc3BsYXk6bm9uZX10YWJsZT50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZXttYXJnaW4tcmlnaHQ6OHB4O29wYWNpdHk6LjN9dGFibGU+dGJvZHk+dHI+dGQ+c3Bhbi5mb290YWJsZS10b2dnbGUubGFzdC1jb2x1bW57bWFyZ2luLWxlZnQ6OHB4O2Zsb2F0OnJpZ2h0fXRhYmxlLnRhYmxlLWNvbmRlbnNlZD50Ym9keT50cj50ZD5zcGFuLmZvb3RhYmxlLXRvZ2dsZXttYXJnaW4tcmlnaHQ6NXB4fXRhYmxlLmZvb3RhYmxlLWRldGFpbHM+dGJvZHk+dHI+dGg6bnRoLWNoaWxkKDEpe21pbi13aWR0aDo0MHB4O3dpZHRoOjEyMHB4fXRhYmxlLmZvb3RhYmxlLWRldGFpbHM+dGJvZHk+dHI+dGQ6bnRoLWNoaWxkKDIpe3dvcmQtYnJlYWs6YnJlYWstYWxsfXRhYmxlLmZvb3RhYmxlLWRldGFpbHM+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGQsdGFibGUuZm9vdGFibGUtZGV0YWlscz50Ym9keT50cjpmaXJzdC1jaGlsZD50aCx0YWJsZS5mb290YWJsZS1kZXRhaWxzPnRmb290PnRyOmZpcnN0LWNoaWxkPnRkLHRhYmxlLmZvb3RhYmxlLWRldGFpbHM+dGZvb3Q+dHI6Zmlyc3QtY2hpbGQ+dGgsdGFibGUuZm9vdGFibGUtZGV0YWlscz50aGVhZD50cjpmaXJzdC1jaGlsZD50ZCx0YWJsZS5mb290YWJsZS1kZXRhaWxzPnRoZWFkPnRyOmZpcnN0LWNoaWxkPnRoe2JvcmRlci10b3Atd2lkdGg6MH10YWJsZS5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRib2R5PnRyOmZpcnN0LWNoaWxkPnRkLHRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQ+dGJvZHk+dHI6Zmlyc3QtY2hpbGQ+dGgsdGFibGUuZm9vdGFibGUtZGV0YWlscy50YWJsZS1ib3JkZXJlZD50Zm9vdD50cjpmaXJzdC1jaGlsZD50ZCx0YWJsZS5mb290YWJsZS1kZXRhaWxzLnRhYmxlLWJvcmRlcmVkPnRmb290PnRyOmZpcnN0LWNoaWxkPnRoLHRhYmxlLmZvb3RhYmxlLWRldGFpbHMudGFibGUtYm9yZGVyZWQ+dGhlYWQ+dHI6Zmlyc3QtY2hpbGQ+dGQsdGFibGUuZm9vdGFibGUtZGV0YWlscy50YWJsZS1ib3JkZXJlZD50aGVhZD50cjpmaXJzdC1jaGlsZD50aHtib3JkZXItdG9wLXdpZHRoOjFweH1kaXYuZm9vdGFibGUtbG9hZGVye3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0ZXh0LWFsaWduOmNlbnRlcjtoZWlnaHQ6MzAwcHg7cG9zaXRpb246cmVsYXRpdmV9ZGl2LmZvb3RhYmxlLWxvYWRlcj5zcGFuLmZvb2ljb257ZGlzcGxheTppbmxpbmUtYmxvY2s7b3BhY2l0eTouMztmb250LXNpemU6MzBweDtsaW5lLWhlaWdodDozMnB4O3dpZHRoOjMycHg7aGVpZ2h0OjMycHg7bWFyZ2luLXRvcDotMTZweDttYXJnaW4tbGVmdDotMTZweDtwb3NpdGlvbjphYnNvbHV0ZTt0b3A6NTAlO2xlZnQ6NTAlOy13ZWJraXQtYW5pbWF0aW9uOmZvb2ljb24tc3Bpbi1yIDJzIGluZmluaXRlIGxpbmVhcjthbmltYXRpb246Zm9vaWNvbi1zcGluLXIgMnMgaW5maW5pdGUgbGluZWFyfXRhYmxlLmZvb3RhYmxlPnRib2R5PnRyLmZvb3RhYmxlLWVtcHR5PnRke3ZlcnRpY2FsLWFsaWduOm1pZGRsZTt0ZXh0LWFsaWduOmNlbnRlcjtmb250LXNpemU6MzBweH10YWJsZS5mb290YWJsZT50Ym9keT50cj50ZCx0YWJsZS5mb290YWJsZT50Ym9keT50cj50aHtkaXNwbGF5Om5vbmV9dGFibGUuZm9vdGFibGU+dGJvZHk+dHIuZm9vdGFibGUtZGV0YWlsLXJvdz50ZCx0YWJsZS5mb290YWJsZT50Ym9keT50ci5mb290YWJsZS1kZXRhaWwtcm93PnRoLHRhYmxlLmZvb3RhYmxlPnRib2R5PnRyLmZvb3RhYmxlLWVtcHR5PnRkLHRhYmxlLmZvb3RhYmxlPnRib2R5PnRyLmZvb3RhYmxlLWVtcHR5PnRoe2Rpc3BsYXk6dGFibGUtY2VsbH1ALXdlYmtpdC1rZXlmcmFtZXMgZm9vaWNvbi1zcGluLXJ7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fUBrZXlmcmFtZXMgZm9vaWNvbi1zcGluLXJ7MCV7LXdlYmtpdC10cmFuc2Zvcm06cm90YXRlKDApO3RyYW5zZm9ybTpyb3RhdGUoMCl9MTAwJXstd2Via2l0LXRyYW5zZm9ybTpyb3RhdGUoMzU5ZGVnKTt0cmFuc2Zvcm06cm90YXRlKDM1OWRlZyl9fS5mb29pY29ue2Rpc3BsYXk6aW5saW5lLWJsb2NrO2ZvbnQtc2l6ZTppbmhlcml0O2ZvbnQtZmFtaWx5OkZvbnRBd2Vzb21lIWltcG9ydGFudDtmb250LXN0eWxlOm5vcm1hbDtmb250LXdlaWdodDo0MDA7bGluZS1oZWlnaHQ6MTt0ZXh0LXJlbmRlcmluZzphdXRvOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWQ7LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6Z3JheXNjYWxlO3RyYW5zZm9ybTp0cmFuc2xhdGUoMCwwKX0uZm9vaWNvbjphZnRlciwuZm9vaWNvbjpiZWZvcmV7LXdlYmtpdC1ib3gtc2l6aW5nOmJvcmRlci1ib3g7LW1vei1ib3gtc2l6aW5nOmJvcmRlci1ib3g7Ym94LXNpemluZzpib3JkZXItYm94fS5mb29pY29uLWxvYWRlcjpiZWZvcmV7Y29udGVudDpcIlxcZjAxZVwifS5mb29pY29uLXBsdXM6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwNjdcIn0uZm9vaWNvbi1taW51czpiZWZvcmV7Y29udGVudDpcIlxcZjA2OFwifS5mb29pY29uLXNlYXJjaDpiZWZvcmV7Y29udGVudDpcIlxcZjAwMlwifS5mb29pY29uLXJlbW92ZTpiZWZvcmV7Y29udGVudDpcIlxcZjAwZFwifS5mb29pY29uLXNvcnQ6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZGNcIn0uZm9vaWNvbi1zb3J0LWFzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE2MFwifS5mb29pY29uLXNvcnQtZGVzYzpiZWZvcmV7Y29udGVudDpcIlxcZjE2MVwifS5mb29pY29uLXBlbmNpbDpiZWZvcmV7Y29udGVudDpcIlxcZjA0MFwifS5mb29pY29uLXRyYXNoOmJlZm9yZXtjb250ZW50OlwiXFxmMWY4XCJ9LmZvb2ljb24tZXllLWNsb3NlOmJlZm9yZXtjb250ZW50OlwiXFxmMDcwXCJ9LmZvb2ljb24tZmxhc2g6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwZTdcIn0uZm9vaWNvbi1jb2c6YmVmb3Jle2NvbnRlbnQ6XCJcXGYwMTNcIn0uZm9vaWNvbi1zdGF0czpiZWZvcmV7Y29udGVudDpcIlxcZjA4MFwifXRhYmxlLmZvb3RhYmxlPnRoZWFkPnRyLmZvb3RhYmxlLWZpbHRlcmluZz50aHtib3JkZXItYm90dG9tLXdpZHRoOjFweDtmb250LXdlaWdodDo0MDB9dGFibGUuZm9vdGFibGUuZm9vdGFibGUtZmlsdGVyaW5nLXJpZ2h0PnRoZWFkPnRyLmZvb3RhYmxlLWZpbHRlcmluZz50aCx0YWJsZS5mb290YWJsZT50aGVhZD50ci5mb290YWJsZS1maWx0ZXJpbmc+dGh7dGV4dC1hbGlnbjpyaWdodH10YWJsZS5mb290YWJsZS5mb290YWJsZS1maWx0ZXJpbmctbGVmdD50aGVhZD50ci5mb290YWJsZS1maWx0ZXJpbmc+dGh7dGV4dC1hbGlnbjpsZWZ0fXRhYmxlLmZvb3RhYmxlLXBhZ2luZy1jZW50ZXI+dGZvb3Q+dHIuZm9vdGFibGUtcGFnaW5nPnRkLHRhYmxlLmZvb3RhYmxlLmZvb3RhYmxlLWZpbHRlcmluZy1jZW50ZXI+dGhlYWQ+dHIuZm9vdGFibGUtZmlsdGVyaW5nPnRoLHRhYmxlLmZvb3RhYmxlPnRmb290PnRyLmZvb3RhYmxlLXBhZ2luZz50ZHt0ZXh0LWFsaWduOmNlbnRlcn10YWJsZS5mb290YWJsZT50aGVhZD50ci5mb290YWJsZS1maWx0ZXJpbmc+dGggZGl2LmZvcm0tZ3JvdXArZGl2LmZvcm0tZ3JvdXB7bWFyZ2luLXRvcDo1cHh9dGFibGUuZm9vdGFibGU+dGhlYWQ+dHIuZm9vdGFibGUtZmlsdGVyaW5nPnRoIGRpdi5pbnB1dC1ncm91cHt3aWR0aDoxMDAlfXRhYmxlLmZvb3RhYmxlPnRoZWFkPnRyLmZvb3RhYmxlLWZpbHRlcmluZz50aCB1bC5kcm9wZG93bi1tZW51PmxpPmEuY2hlY2tib3h7bWFyZ2luOjA7ZGlzcGxheTpibG9jaztwb3NpdGlvbjpyZWxhdGl2ZX10YWJsZS5mb290YWJsZT50aGVhZD50ci5mb290YWJsZS1maWx0ZXJpbmc+dGggdWwuZHJvcGRvd24tbWVudT5saT5hLmNoZWNrYm94PmxhYmVse2Rpc3BsYXk6YmxvY2s7cGFkZGluZy1sZWZ0OjIwcHh9dGFibGUuZm9vdGFibGU+dGhlYWQ+dHIuZm9vdGFibGUtZmlsdGVyaW5nPnRoIHVsLmRyb3Bkb3duLW1lbnU+bGk+YS5jaGVja2JveCBpbnB1dFt0eXBlPWNoZWNrYm94XXtwb3NpdGlvbjphYnNvbHV0ZTttYXJnaW4tbGVmdDotMjBweH1AbWVkaWEgKG1pbi13aWR0aDo3NjhweCl7dGFibGUuZm9vdGFibGU+dGhlYWQ+dHIuZm9vdGFibGUtZmlsdGVyaW5nPnRoIGRpdi5pbnB1dC1ncm91cHt3aWR0aDphdXRvfXRhYmxlLmZvb3RhYmxlPnRoZWFkPnRyLmZvb3RhYmxlLWZpbHRlcmluZz50aCBkaXYuZm9ybS1ncm91cHttYXJnaW4tbGVmdDoycHg7bWFyZ2luLXJpZ2h0OjJweH10YWJsZS5mb290YWJsZT50aGVhZD50ci5mb290YWJsZS1maWx0ZXJpbmc+dGggZGl2LmZvcm0tZ3JvdXArZGl2LmZvcm0tZ3JvdXB7bWFyZ2luLXRvcDowfX10YWJsZS5mb290YWJsZT50Ym9keT50cj50ZC5mb290YWJsZS1zb3J0YWJsZSx0YWJsZS5mb290YWJsZT50Ym9keT50cj50aC5mb290YWJsZS1zb3J0YWJsZSx0YWJsZS5mb290YWJsZT50Zm9vdD50cj50ZC5mb290YWJsZS1zb3J0YWJsZSx0YWJsZS5mb290YWJsZT50Zm9vdD50cj50aC5mb290YWJsZS1zb3J0YWJsZSx0YWJsZS5mb290YWJsZT50aGVhZD50cj50ZC5mb290YWJsZS1zb3J0YWJsZSx0YWJsZS5mb290YWJsZT50aGVhZD50cj50aC5mb290YWJsZS1zb3J0YWJsZXtwb3NpdGlvbjpyZWxhdGl2ZTtwYWRkaW5nLXJpZ2h0OjMwcHg7Y3Vyc29yOnBvaW50ZXJ9dGQuZm9vdGFibGUtc29ydGFibGU+c3Bhbi5mb29pY29uLHRoLmZvb3RhYmxlLXNvcnRhYmxlPnNwYW4uZm9vaWNvbntwb3NpdGlvbjphYnNvbHV0ZTtyaWdodDo2cHg7dG9wOjUwJTttYXJnaW4tdG9wOi03cHg7b3BhY2l0eTowO3RyYW5zaXRpb246b3BhY2l0eSAuM3MgZWFzZS1pbn10ZC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1hc2M+c3Bhbi5mb29pY29uLHRkLmZvb3RhYmxlLXNvcnRhYmxlLmZvb3RhYmxlLWRlc2M+c3Bhbi5mb29pY29uLHRkLmZvb3RhYmxlLXNvcnRhYmxlOmhvdmVyPnNwYW4uZm9vaWNvbix0aC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1hc2M+c3Bhbi5mb29pY29uLHRoLmZvb3RhYmxlLXNvcnRhYmxlLmZvb3RhYmxlLWRlc2M+c3Bhbi5mb29pY29uLHRoLmZvb3RhYmxlLXNvcnRhYmxlOmhvdmVyPnNwYW4uZm9vaWNvbntvcGFjaXR5OjF9dGFibGUuZm9vdGFibGUtc29ydGluZy1kaXNhYmxlZCB0ZC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1hc2M+c3Bhbi5mb29pY29uLHRhYmxlLmZvb3RhYmxlLXNvcnRpbmctZGlzYWJsZWQgdGQuZm9vdGFibGUtc29ydGFibGUuZm9vdGFibGUtZGVzYz5zcGFuLmZvb2ljb24sdGFibGUuZm9vdGFibGUtc29ydGluZy1kaXNhYmxlZCB0ZC5mb290YWJsZS1zb3J0YWJsZTpob3Zlcj5zcGFuLmZvb2ljb24sdGFibGUuZm9vdGFibGUtc29ydGluZy1kaXNhYmxlZCB0aC5mb290YWJsZS1zb3J0YWJsZS5mb290YWJsZS1hc2M+c3Bhbi5mb29pY29uLHRhYmxlLmZvb3RhYmxlLXNvcnRpbmctZGlzYWJsZWQgdGguZm9vdGFibGUtc29ydGFibGUuZm9vdGFibGUtZGVzYz5zcGFuLmZvb2ljb24sdGFibGUuZm9vdGFibGUtc29ydGluZy1kaXNhYmxlZCB0aC5mb290YWJsZS1zb3J0YWJsZTpob3Zlcj5zcGFuLmZvb2ljb257b3BhY2l0eTowO3Zpc2liaWxpdHk6aGlkZGVufXRhYmxlLmZvb3RhYmxlPnRmb290PnRyLmZvb3RhYmxlLXBhZ2luZz50ZD51bC5wYWdpbmF0aW9ue21hcmdpbjoxMHB4IDAgMH10YWJsZS5mb290YWJsZT50Zm9vdD50ci5mb290YWJsZS1wYWdpbmc+dGQ+c3Bhbi5sYWJlbHtkaXNwbGF5OmlubGluZS1ibG9jazttYXJnaW46MCAwIDEwcHg7cGFkZGluZzo0cHggMTBweH10YWJsZS5mb290YWJsZS1wYWdpbmctbGVmdD50Zm9vdD50ci5mb290YWJsZS1wYWdpbmc+dGR7dGV4dC1hbGlnbjpsZWZ0fXRhYmxlLmZvb3RhYmxlLWVkaXRpbmctcmlnaHQgdGQuZm9vdGFibGUtZWRpdGluZyx0YWJsZS5mb290YWJsZS1lZGl0aW5nLXJpZ2h0IHRyLmZvb3RhYmxlLWVkaXRpbmcsdGFibGUuZm9vdGFibGUtcGFnaW5nLXJpZ2h0PnRmb290PnRyLmZvb3RhYmxlLXBhZ2luZz50ZHt0ZXh0LWFsaWduOnJpZ2h0fXVsLnBhZ2luYXRpb24+bGkuZm9vdGFibGUtcGFnZXtkaXNwbGF5Om5vbmV9dWwucGFnaW5hdGlvbj5saS5mb290YWJsZS1wYWdlLnZpc2libGV7ZGlzcGxheTppbmxpbmV9dGQuZm9vdGFibGUtZWRpdGluZ3t3aWR0aDo5MHB4O21heC13aWR0aDo5MHB4fXRhYmxlLmZvb3RhYmxlLWVkaXRpbmctbm8tZGVsZXRlIHRkLmZvb3RhYmxlLWVkaXRpbmcsdGFibGUuZm9vdGFibGUtZWRpdGluZy1uby1lZGl0IHRkLmZvb3RhYmxlLWVkaXRpbmcsdGFibGUuZm9vdGFibGUtZWRpdGluZy1uby12aWV3IHRkLmZvb3RhYmxlLWVkaXRpbmd7d2lkdGg6NzBweDttYXgtd2lkdGg6NzBweH10YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWRlbGV0ZS5mb290YWJsZS1lZGl0aW5nLW5vLXZpZXcgdGQuZm9vdGFibGUtZWRpdGluZyx0YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWVkaXQuZm9vdGFibGUtZWRpdGluZy1uby1kZWxldGUgdGQuZm9vdGFibGUtZWRpdGluZyx0YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWVkaXQuZm9vdGFibGUtZWRpdGluZy1uby12aWV3IHRkLmZvb3RhYmxlLWVkaXRpbmd7d2lkdGg6NTBweDttYXgtd2lkdGg6NTBweH10YWJsZS5mb290YWJsZS1lZGl0aW5nLW5vLWVkaXQuZm9vdGFibGUtZWRpdGluZy1uby1kZWxldGUuZm9vdGFibGUtZWRpdGluZy1uby12aWV3IHRkLmZvb3RhYmxlLWVkaXRpbmcsdGFibGUuZm9vdGFibGUtZWRpdGluZy1uby1lZGl0LmZvb3RhYmxlLWVkaXRpbmctbm8tZGVsZXRlLmZvb3RhYmxlLWVkaXRpbmctbm8tdmlldyB0aC5mb290YWJsZS1lZGl0aW5ne3dpZHRoOjA7bWF4LXdpZHRoOjA7ZGlzcGxheTpub25lIWltcG9ydGFudH10YWJsZS5mb290YWJsZS1lZGl0aW5nLWxlZnQgdGQuZm9vdGFibGUtZWRpdGluZyx0YWJsZS5mb290YWJsZS1lZGl0aW5nLWxlZnQgdHIuZm9vdGFibGUtZWRpdGluZ3t0ZXh0LWFsaWduOmxlZnR9dGFibGUuZm9vdGFibGUtZWRpdGluZyBidXR0b24uZm9vdGFibGUtYWRkLHRhYmxlLmZvb3RhYmxlLWVkaXRpbmcgYnV0dG9uLmZvb3RhYmxlLWhpZGUsdGFibGUuZm9vdGFibGUtZWRpdGluZy1zaG93IGJ1dHRvbi5mb290YWJsZS1zaG93LHRhYmxlLmZvb3RhYmxlLWVkaXRpbmcuZm9vdGFibGUtZWRpdGluZy1hbHdheXMtc2hvdyBidXR0b24uZm9vdGFibGUtaGlkZSx0YWJsZS5mb290YWJsZS1lZGl0aW5nLmZvb3RhYmxlLWVkaXRpbmctYWx3YXlzLXNob3cgYnV0dG9uLmZvb3RhYmxlLXNob3csdGFibGUuZm9vdGFibGUtZWRpdGluZy5mb290YWJsZS1lZGl0aW5nLWFsd2F5cy1zaG93LmZvb3RhYmxlLWVkaXRpbmctbm8tYWRkIHRyLmZvb3RhYmxlLWVkaXRpbmd7ZGlzcGxheTpub25lfXRhYmxlLmZvb3RhYmxlLWVkaXRpbmcuZm9vdGFibGUtZWRpdGluZy1hbHdheXMtc2hvdyBidXR0b24uZm9vdGFibGUtYWRkLHRhYmxlLmZvb3RhYmxlLWVkaXRpbmcuZm9vdGFibGUtZWRpdGluZy1zaG93IGJ1dHRvbi5mb290YWJsZS1hZGQsdGFibGUuZm9vdGFibGUtZWRpdGluZy5mb290YWJsZS1lZGl0aW5nLXNob3cgYnV0dG9uLmZvb3RhYmxlLWhpZGV7ZGlzcGxheTppbmxpbmUtYmxvY2t9Il19 */
