/*! 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.
 */
/* line 9, app/scss/foundation/normalize.scss */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
 * Remove default margin.
 */
/* line 19, app/scss/foundation/normalize.scss */
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.
 */
/* line 33, app/scss/foundation/normalize.scss */
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.
 */
/* line 54, app/scss/foundation/normalize.scss */
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.
 */
/* line 67, app/scss/foundation/normalize.scss */
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.
 */
/* line 77, app/scss/foundation/normalize.scss */
[hidden],
template {
  display: none; }

/* Links
   ========================================================================== */
/**
 * Remove the gray background color from active links in IE 10.
 */
/* line 89, app/scss/foundation/normalize.scss */
a {
  background-color: transparent; }

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

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

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

/**
 * Address styling not present in Safari and Chrome.
 */
/* line 127, app/scss/foundation/normalize.scss */
dfn {
  font-style: italic; }

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

/**
 * Address styling not present in IE 8/9.
 */
/* line 145, app/scss/foundation/normalize.scss */
mark {
  background: #ff0;
  color: #000; }

/**
 * Address inconsistent and variable font size in all browsers.
 */
/* line 154, app/scss/foundation/normalize.scss */
small {
  font-size: 80%; }

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

/* line 170, app/scss/foundation/normalize.scss */
sup {
  top: -0.5em; }

/* line 174, app/scss/foundation/normalize.scss */
sub {
  bottom: -0.25em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove border when inside `a` element in IE 8/9/10.
 */
/* line 185, app/scss/foundation/normalize.scss */
img {
  border: 0; }

/**
 * Correct overflow not hidden in IE 9/10/11.
 */
/* line 193, app/scss/foundation/normalize.scss */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
   ========================================================================== */
/**
 * Address margin not present in IE 8/9 and Safari.
 */
/* line 204, app/scss/foundation/normalize.scss */
figure {
  margin: 1em 40px; }

/**
 * Address differences between Firefox and other browsers.
 */
/* line 212, app/scss/foundation/normalize.scss */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0; }

/**
 * Contain overflow in all browsers.
 */
/* line 221, app/scss/foundation/normalize.scss */
pre {
  overflow: auto; }

/**
 * Address odd `em`-unit font size rendering in all browsers.
 */
/* line 229, app/scss/foundation/normalize.scss */
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.
 */
/* line 252, app/scss/foundation/normalize.scss */
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.
 */
/* line 266, app/scss/foundation/normalize.scss */
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.
 */
/* line 277, app/scss/foundation/normalize.scss */
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.
 */
/* line 290, app/scss/foundation/normalize.scss */
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.
 */
/* line 302, app/scss/foundation/normalize.scss */
button[disabled],
html input[disabled] {
  cursor: default; }

/**
 * Remove inner padding and border in Firefox 4+.
 */
/* line 311, app/scss/foundation/normalize.scss */
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.
 */
/* line 322, app/scss/foundation/normalize.scss */
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.
 */
/* line 334, app/scss/foundation/normalize.scss */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Fix the cursor style for Chrome's increment/decrement buttons. For certain
 * `font-size` values of the `input`, it causes the cursor style of the
 * decrement button to change from `default` to `text`.
 */
/* line 346, app/scss/foundation/normalize.scss */
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.
 */
/* line 356, app/scss/foundation/normalize.scss */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 2 */ }

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

/**
 * Define consistent border, margin, and padding.
 */
/* line 376, app/scss/foundation/normalize.scss */
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.
 */
/* line 387, app/scss/foundation/normalize.scss */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Remove default vertical scrollbar in IE 8/9/10/11.
 */
/* line 396, app/scss/foundation/normalize.scss */
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.
 */
/* line 405, app/scss/foundation/normalize.scss */
optgroup {
  font-weight: bold; }

/* Tables
   ========================================================================== */
/**
 * Remove most spacing between table cells.
 */
/* line 416, app/scss/foundation/normalize.scss */
table {
  border-collapse: collapse;
  border-spacing: 0; }

/* line 421, app/scss/foundation/normalize.scss */
td,
th {
  padding: 0; }

/* line 431, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-version {
  font-family: "/5.5.3/"; }

/* line 435, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-small {
  font-family: "/only screen/";
  width: 0; }

/* line 440, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-small-only {
  font-family: "/only screen and (max-width: 40em)/";
  width: 0; }

/* line 445, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-medium {
  font-family: "/only screen and (min-width:768px)/";
  width: 768px; }

/* line 450, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-medium-only {
  font-family: "/only screen and (min-width:768px) and (max-width:1024px)/";
  width: 768px; }

/* line 455, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-large {
  font-family: "/only screen and (min-width:64.0625em)/";
  width: 64.0625em; }

/* line 460, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-large-only {
  font-family: "/only screen and (min-width:64.0625em) and (max-width:90em)/";
  width: 64.0625em; }

/* line 465, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-xlarge {
  font-family: "/only screen and (min-width:90.0625em)/";
  width: 90.0625em; }

/* line 470, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-xlarge-only {
  font-family: "/only screen and (min-width:90.0625em) and (max-width:120em)/";
  width: 90.0625em; }

/* line 475, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-mq-xxlarge {
  font-family: "/only screen and (min-width:120.0625em)/";
  width: 120.0625em; }

/* line 480, app/scss/foundation/foundation/components/_global.scss */
meta.foundation-data-attribute-namespace {
  font-family: false; }

/* line 489, app/scss/foundation/foundation/components/_global.scss */
html, body {
  height: 100%; }

/* line 492, app/scss/foundation/foundation/components/_global.scss */
*,
*:before,
*:after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }

/* line 498, app/scss/foundation/foundation/components/_global.scss */
html, body {
  font-size: 100%; }

/* line 502, app/scss/foundation/foundation/components/_global.scss */
body {
  background: #fff;
  color: #222;
  cursor: auto;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.5;
  margin: 0;
  padding: 0;
  position: relative; }

/* line 515, app/scss/foundation/foundation/components/_global.scss */
a:hover {
  cursor: pointer; }

/* line 518, app/scss/foundation/foundation/components/_global.scss */
img {
  max-width: 100%;
  height: auto; }

/* line 520, app/scss/foundation/foundation/components/_global.scss */
img {
  -ms-interpolation-mode: bicubic; }

/* line 525, app/scss/foundation/foundation/components/_global.scss */
#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; }

/* line 532, app/scss/foundation/foundation/components/_global.scss */
.left {
  float: left !important; }

/* line 533, app/scss/foundation/foundation/components/_global.scss */
.right {
  float: right !important; }

/* line 239, app/scss/foundation/foundation/components/_global.scss */
.clearfix:before, .clearfix:after {
  content: " ";
  display: table; }

/* line 240, app/scss/foundation/foundation/components/_global.scss */
.clearfix:after {
  clear: both; }

/* line 537, app/scss/foundation/foundation/components/_global.scss */
.hide {
  display: none; }

/* line 542, app/scss/foundation/foundation/components/_global.scss */
.invisible {
  visibility: hidden; }

/* line 548, app/scss/foundation/foundation/components/_global.scss */
.antialiased {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

/* line 551, app/scss/foundation/foundation/components/_global.scss */
img {
  display: inline-block;
  vertical-align: middle; }

/* line 561, app/scss/foundation/foundation/components/_global.scss */
textarea {
  height: auto;
  min-height: 50px; }

/* line 564, app/scss/foundation/foundation/components/_global.scss */
select {
  width: 100%; }

/* line 228, app/scss/foundation/foundation/components/_grid.scss */
.row, .breadcrumb-container {
  margin: 0 auto;
  max-width: 72.125rem;
  width: 100%; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  .row:before, .breadcrumb-container:before, .row:after, .breadcrumb-container:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  .row:after, .breadcrumb-container:after {
    clear: both; }
  /* line 232, app/scss/foundation/foundation/components/_grid.scss */
  .row.collapse > .column, .collapse.breadcrumb-container > .column,
  .row.collapse > .columns,
  .collapse.breadcrumb-container > .columns {
    padding-left: 0;
    padding-right: 0; }
  /* line 235, app/scss/foundation/foundation/components/_grid.scss */
  .row.collapse .row, .collapse.breadcrumb-container .row, .row.collapse .breadcrumb-container, .collapse.breadcrumb-container .breadcrumb-container {
    margin-left: 0;
    margin-right: 0; }
  /* line 238, app/scss/foundation/foundation/components/_grid.scss */
  .row .row, .breadcrumb-container .row, .row .breadcrumb-container, .breadcrumb-container .breadcrumb-container {
    margin: 0 -0.9375rem;
    max-width: none;
    width: auto; }
    /* line 239, app/scss/foundation/foundation/components/_global.scss */
    .row .row:before, .breadcrumb-container .row:before, .row .breadcrumb-container:before, .breadcrumb-container .breadcrumb-container:before, .row .row:after, .breadcrumb-container .row:after, .row .breadcrumb-container:after, .breadcrumb-container .breadcrumb-container:after {
      content: " ";
      display: table; }
    /* line 240, app/scss/foundation/foundation/components/_global.scss */
    .row .row:after, .breadcrumb-container .row:after, .row .breadcrumb-container:after, .breadcrumb-container .breadcrumb-container:after {
      clear: both; }
    /* line 239, app/scss/foundation/foundation/components/_grid.scss */
    .row .row.collapse, .breadcrumb-container .row.collapse, .row .collapse.breadcrumb-container, .breadcrumb-container .collapse.breadcrumb-container {
      margin: 0;
      max-width: none;
      width: auto; }
      /* line 239, app/scss/foundation/foundation/components/_global.scss */
      .row .row.collapse:before, .breadcrumb-container .row.collapse:before, .row .collapse.breadcrumb-container:before, .breadcrumb-container .collapse.breadcrumb-container:before, .row .row.collapse:after, .breadcrumb-container .row.collapse:after, .row .collapse.breadcrumb-container:after, .breadcrumb-container .collapse.breadcrumb-container:after {
        content: " ";
        display: table; }
      /* line 240, app/scss/foundation/foundation/components/_global.scss */
      .row .row.collapse:after, .breadcrumb-container .row.collapse:after, .row .collapse.breadcrumb-container:after, .breadcrumb-container .collapse.breadcrumb-container:after {
        clear: both; }

/* line 243, app/scss/foundation/foundation/components/_grid.scss */
.column,
.columns {
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  width: 100%;
  float: left; }

/* line 248, app/scss/foundation/foundation/components/_grid.scss */
.column + .column:last-child,
.columns + .column:last-child, .column +
.columns:last-child,
.columns +
.columns:last-child {
  float: right; }

/* line 251, app/scss/foundation/foundation/components/_grid.scss */
.column + .column.end,
.columns + .column.end, .column +
.columns.end,
.columns +
.columns.end {
  float: left; }

@media only screen {
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-1 {
    position: relative;
    left: 6.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-1 {
    position: relative;
    right: 6.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-2 {
    position: relative;
    left: 12.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-2 {
    position: relative;
    right: 12.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-3 {
    position: relative;
    left: 18.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-3 {
    position: relative;
    right: 18.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-4 {
    position: relative;
    left: 25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-4 {
    position: relative;
    right: 25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-5 {
    position: relative;
    left: 31.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-5 {
    position: relative;
    right: 31.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-6 {
    position: relative;
    left: 37.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-6 {
    position: relative;
    right: 37.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-7 {
    position: relative;
    left: 43.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-7 {
    position: relative;
    right: 43.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-8 {
    position: relative;
    left: 50%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-8 {
    position: relative;
    right: 50%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-9 {
    position: relative;
    left: 56.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-9 {
    position: relative;
    right: 56.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-10 {
    position: relative;
    left: 62.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-10 {
    position: relative;
    right: 62.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-11 {
    position: relative;
    left: 68.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-11 {
    position: relative;
    right: 68.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-12 {
    position: relative;
    left: 75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-12 {
    position: relative;
    right: 75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-13 {
    position: relative;
    left: 81.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-13 {
    position: relative;
    right: 81.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-14 {
    position: relative;
    left: 87.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-14 {
    position: relative;
    right: 87.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .small-push-15 {
    position: relative;
    left: 93.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .small-pull-15 {
    position: relative;
    right: 93.75%;
    left: auto; }
  /* line 163, app/scss/foundation/foundation/components/_grid.scss */
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-1 {
    width: 6.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-2 {
    width: 12.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-3 {
    width: 18.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-4 {
    width: 25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-5 {
    width: 31.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-6 {
    width: 37.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-7 {
    width: 43.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-8 {
    width: 50%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-9 {
    width: 56.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-10 {
    width: 62.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-11 {
    width: 68.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-12 {
    width: 75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-13 {
    width: 81.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-14 {
    width: 87.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-15 {
    width: 93.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .small-16 {
    width: 100%; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-0 {
    margin-left: 0 !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-1 {
    margin-left: 6.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-2 {
    margin-left: 12.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-3 {
    margin-left: 18.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-4 {
    margin-left: 25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-5 {
    margin-left: 31.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-6 {
    margin-left: 37.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-7 {
    margin-left: 43.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-8 {
    margin-left: 50% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-9 {
    margin-left: 56.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-10 {
    margin-left: 62.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-11 {
    margin-left: 68.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-12 {
    margin-left: 75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-13 {
    margin-left: 81.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-14 {
    margin-left: 87.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .small-offset-15 {
    margin-left: 93.75% !important; }
  /* line 175, app/scss/foundation/foundation/components/_grid.scss */
  .small-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  /* line 183, app/scss/foundation/foundation/components/_grid.scss */
  .column.small-centered,
  .columns.small-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  /* line 186, app/scss/foundation/foundation/components/_grid.scss */
  .column.small-uncentered,
  .columns.small-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  /* line 194, app/scss/foundation/foundation/components/_grid.scss */
  .column.small-centered:last-child,
  .columns.small-centered:last-child {
    float: none; }
  /* line 200, app/scss/foundation/foundation/components/_grid.scss */
  .column.small-uncentered:last-child,
  .columns.small-uncentered:last-child {
    float: left; }
  /* line 205, app/scss/foundation/foundation/components/_grid.scss */
  .column.small-uncentered.opposite,
  .columns.small-uncentered.opposite {
    float: right; }
  /* line 212, app/scss/foundation/foundation/components/_grid.scss */
  .row.small-collapse > .column, .small-collapse.breadcrumb-container > .column,
  .row.small-collapse > .columns,
  .small-collapse.breadcrumb-container > .columns {
    padding-left: 0;
    padding-right: 0; }
  /* line 215, app/scss/foundation/foundation/components/_grid.scss */
  .row.small-collapse .row, .small-collapse.breadcrumb-container .row, .row.small-collapse .breadcrumb-container, .small-collapse.breadcrumb-container .breadcrumb-container {
    margin-left: 0;
    margin-right: 0; }
  /* line 218, app/scss/foundation/foundation/components/_grid.scss */
  .row.small-uncollapse > .column, .small-uncollapse.breadcrumb-container > .column,
  .row.small-uncollapse > .columns,
  .small-uncollapse.breadcrumb-container > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; } }

@media only screen and (min-width: 768px) {
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-1 {
    position: relative;
    left: 6.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-1 {
    position: relative;
    right: 6.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-2 {
    position: relative;
    left: 12.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-2 {
    position: relative;
    right: 12.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-3 {
    position: relative;
    left: 18.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-3 {
    position: relative;
    right: 18.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-4 {
    position: relative;
    left: 25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-4 {
    position: relative;
    right: 25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-5 {
    position: relative;
    left: 31.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-5 {
    position: relative;
    right: 31.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-6 {
    position: relative;
    left: 37.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-6 {
    position: relative;
    right: 37.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-7 {
    position: relative;
    left: 43.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-7 {
    position: relative;
    right: 43.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-8 {
    position: relative;
    left: 50%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-8 {
    position: relative;
    right: 50%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-9 {
    position: relative;
    left: 56.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-9 {
    position: relative;
    right: 56.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-10 {
    position: relative;
    left: 62.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-10 {
    position: relative;
    right: 62.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-11 {
    position: relative;
    left: 68.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-11 {
    position: relative;
    right: 68.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-12 {
    position: relative;
    left: 75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-12 {
    position: relative;
    right: 75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-13 {
    position: relative;
    left: 81.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-13 {
    position: relative;
    right: 81.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-14 {
    position: relative;
    left: 87.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-14 {
    position: relative;
    right: 87.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .medium-push-15 {
    position: relative;
    left: 93.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .medium-pull-15 {
    position: relative;
    right: 93.75%;
    left: auto; }
  /* line 163, app/scss/foundation/foundation/components/_grid.scss */
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-1 {
    width: 6.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-2 {
    width: 12.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-3 {
    width: 18.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-4 {
    width: 25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-5 {
    width: 31.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-6 {
    width: 37.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-7 {
    width: 43.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-8 {
    width: 50%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-9 {
    width: 56.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-10 {
    width: 62.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-11 {
    width: 68.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-12 {
    width: 75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-13 {
    width: 81.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-14 {
    width: 87.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-15 {
    width: 93.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .medium-16 {
    width: 100%; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-0 {
    margin-left: 0 !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-1 {
    margin-left: 6.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-2 {
    margin-left: 12.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-3 {
    margin-left: 18.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-4 {
    margin-left: 25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-5 {
    margin-left: 31.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-6 {
    margin-left: 37.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-7 {
    margin-left: 43.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-8 {
    margin-left: 50% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-9 {
    margin-left: 56.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-10 {
    margin-left: 62.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-11 {
    margin-left: 68.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-12 {
    margin-left: 75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-13 {
    margin-left: 81.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-14 {
    margin-left: 87.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .medium-offset-15 {
    margin-left: 93.75% !important; }
  /* line 175, app/scss/foundation/foundation/components/_grid.scss */
  .medium-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  /* line 183, app/scss/foundation/foundation/components/_grid.scss */
  .column.medium-centered,
  .columns.medium-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  /* line 186, app/scss/foundation/foundation/components/_grid.scss */
  .column.medium-uncentered,
  .columns.medium-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  /* line 194, app/scss/foundation/foundation/components/_grid.scss */
  .column.medium-centered:last-child,
  .columns.medium-centered:last-child {
    float: none; }
  /* line 200, app/scss/foundation/foundation/components/_grid.scss */
  .column.medium-uncentered:last-child,
  .columns.medium-uncentered:last-child {
    float: left; }
  /* line 205, app/scss/foundation/foundation/components/_grid.scss */
  .column.medium-uncentered.opposite,
  .columns.medium-uncentered.opposite {
    float: right; }
  /* line 212, app/scss/foundation/foundation/components/_grid.scss */
  .row.medium-collapse > .column, .medium-collapse.breadcrumb-container > .column,
  .row.medium-collapse > .columns,
  .medium-collapse.breadcrumb-container > .columns {
    padding-left: 0;
    padding-right: 0; }
  /* line 215, app/scss/foundation/foundation/components/_grid.scss */
  .row.medium-collapse .row, .medium-collapse.breadcrumb-container .row, .row.medium-collapse .breadcrumb-container, .medium-collapse.breadcrumb-container .breadcrumb-container {
    margin-left: 0;
    margin-right: 0; }
  /* line 218, app/scss/foundation/foundation/components/_grid.scss */
  .row.medium-uncollapse > .column, .medium-uncollapse.breadcrumb-container > .column,
  .row.medium-uncollapse > .columns,
  .medium-uncollapse.breadcrumb-container > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-1 {
    position: relative;
    left: 6.25%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-1 {
    position: relative;
    right: 6.25%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-2 {
    position: relative;
    left: 12.5%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-2 {
    position: relative;
    right: 12.5%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-3 {
    position: relative;
    left: 18.75%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-3 {
    position: relative;
    right: 18.75%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-4 {
    position: relative;
    left: 25%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-4 {
    position: relative;
    right: 25%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-5 {
    position: relative;
    left: 31.25%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-5 {
    position: relative;
    right: 31.25%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-6 {
    position: relative;
    left: 37.5%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-6 {
    position: relative;
    right: 37.5%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-7 {
    position: relative;
    left: 43.75%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-7 {
    position: relative;
    right: 43.75%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-8 {
    position: relative;
    left: 50%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-8 {
    position: relative;
    right: 50%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-9 {
    position: relative;
    left: 56.25%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-9 {
    position: relative;
    right: 56.25%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-10 {
    position: relative;
    left: 62.5%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-10 {
    position: relative;
    right: 62.5%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-11 {
    position: relative;
    left: 68.75%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-11 {
    position: relative;
    right: 68.75%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-12 {
    position: relative;
    left: 75%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-12 {
    position: relative;
    right: 75%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-13 {
    position: relative;
    left: 81.25%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-13 {
    position: relative;
    right: 81.25%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-14 {
    position: relative;
    left: 87.5%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-14 {
    position: relative;
    right: 87.5%;
    left: auto; }
  /* line 264, app/scss/foundation/foundation/components/_grid.scss */
  .push-15 {
    position: relative;
    left: 93.75%;
    right: auto; }
  /* line 267, app/scss/foundation/foundation/components/_grid.scss */
  .pull-15 {
    position: relative;
    right: 93.75%;
    left: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-0 {
    position: relative;
    left: 0;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-1 {
    position: relative;
    left: 6.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-1 {
    position: relative;
    right: 6.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-2 {
    position: relative;
    left: 12.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-2 {
    position: relative;
    right: 12.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-3 {
    position: relative;
    left: 18.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-3 {
    position: relative;
    right: 18.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-4 {
    position: relative;
    left: 25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-4 {
    position: relative;
    right: 25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-5 {
    position: relative;
    left: 31.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-5 {
    position: relative;
    right: 31.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-6 {
    position: relative;
    left: 37.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-6 {
    position: relative;
    right: 37.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-7 {
    position: relative;
    left: 43.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-7 {
    position: relative;
    right: 43.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-8 {
    position: relative;
    left: 50%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-8 {
    position: relative;
    right: 50%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-9 {
    position: relative;
    left: 56.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-9 {
    position: relative;
    right: 56.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-10 {
    position: relative;
    left: 62.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-10 {
    position: relative;
    right: 62.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-11 {
    position: relative;
    left: 68.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-11 {
    position: relative;
    right: 68.75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-12 {
    position: relative;
    left: 75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-12 {
    position: relative;
    right: 75%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-13 {
    position: relative;
    left: 81.25%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-13 {
    position: relative;
    right: 81.25%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-14 {
    position: relative;
    left: 87.5%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-14 {
    position: relative;
    right: 87.5%;
    left: auto; }
  /* line 155, app/scss/foundation/foundation/components/_grid.scss */
  .large-push-15 {
    position: relative;
    left: 93.75%;
    right: auto; }
  /* line 158, app/scss/foundation/foundation/components/_grid.scss */
  .large-pull-15 {
    position: relative;
    right: 93.75%;
    left: auto; }
  /* line 163, app/scss/foundation/foundation/components/_grid.scss */
  .column,
  .columns {
    position: relative;
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-1 {
    width: 6.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-2 {
    width: 12.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-3 {
    width: 18.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-4 {
    width: 25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-5 {
    width: 31.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-6 {
    width: 37.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-7 {
    width: 43.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-8 {
    width: 50%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-9 {
    width: 56.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-10 {
    width: 62.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-11 {
    width: 68.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-12 {
    width: 75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-13 {
    width: 81.25%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-14 {
    width: 87.5%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-15 {
    width: 93.75%; }
  /* line 168, app/scss/foundation/foundation/components/_grid.scss */
  .large-16 {
    width: 100%; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-0 {
    margin-left: 0 !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-1 {
    margin-left: 6.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-2 {
    margin-left: 12.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-3 {
    margin-left: 18.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-4 {
    margin-left: 25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-5 {
    margin-left: 31.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-6 {
    margin-left: 37.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-7 {
    margin-left: 43.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-8 {
    margin-left: 50% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-9 {
    margin-left: 56.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-10 {
    margin-left: 62.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-11 {
    margin-left: 68.75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-12 {
    margin-left: 75% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-13 {
    margin-left: 81.25% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-14 {
    margin-left: 87.5% !important; }
  /* line 172, app/scss/foundation/foundation/components/_grid.scss */
  .large-offset-15 {
    margin-left: 93.75% !important; }
  /* line 175, app/scss/foundation/foundation/components/_grid.scss */
  .large-reset-order {
    float: left;
    left: auto;
    margin-left: 0;
    margin-right: 0;
    right: auto; }
  /* line 183, app/scss/foundation/foundation/components/_grid.scss */
  .column.large-centered,
  .columns.large-centered {
    margin-left: auto;
    margin-right: auto;
    float: none; }
  /* line 186, app/scss/foundation/foundation/components/_grid.scss */
  .column.large-uncentered,
  .columns.large-uncentered {
    float: left;
    margin-left: 0;
    margin-right: 0; }
  /* line 194, app/scss/foundation/foundation/components/_grid.scss */
  .column.large-centered:last-child,
  .columns.large-centered:last-child {
    float: none; }
  /* line 200, app/scss/foundation/foundation/components/_grid.scss */
  .column.large-uncentered:last-child,
  .columns.large-uncentered:last-child {
    float: left; }
  /* line 205, app/scss/foundation/foundation/components/_grid.scss */
  .column.large-uncentered.opposite,
  .columns.large-uncentered.opposite {
    float: right; }
  /* line 212, app/scss/foundation/foundation/components/_grid.scss */
  .row.large-collapse > .column, .large-collapse.breadcrumb-container > .column,
  .row.large-collapse > .columns,
  .large-collapse.breadcrumb-container > .columns {
    padding-left: 0;
    padding-right: 0; }
  /* line 215, app/scss/foundation/foundation/components/_grid.scss */
  .row.large-collapse .row, .large-collapse.breadcrumb-container .row, .row.large-collapse .breadcrumb-container, .large-collapse.breadcrumb-container .breadcrumb-container {
    margin-left: 0;
    margin-right: 0; }
  /* line 218, app/scss/foundation/foundation/components/_grid.scss */
  .row.large-uncollapse > .column, .large-uncollapse.breadcrumb-container > .column,
  .row.large-uncollapse > .columns,
  .large-uncollapse.breadcrumb-container > .columns {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    float: left; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-0 {
    position: relative;
    left: 0;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-0 {
    position: relative;
    right: 0;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-1 {
    position: relative;
    left: 6.25%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-1 {
    position: relative;
    right: 6.25%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-2 {
    position: relative;
    left: 12.5%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-2 {
    position: relative;
    right: 12.5%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-3 {
    position: relative;
    left: 18.75%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-3 {
    position: relative;
    right: 18.75%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-4 {
    position: relative;
    left: 25%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-4 {
    position: relative;
    right: 25%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-5 {
    position: relative;
    left: 31.25%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-5 {
    position: relative;
    right: 31.25%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-6 {
    position: relative;
    left: 37.5%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-6 {
    position: relative;
    right: 37.5%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-7 {
    position: relative;
    left: 43.75%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-7 {
    position: relative;
    right: 43.75%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-8 {
    position: relative;
    left: 50%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-8 {
    position: relative;
    right: 50%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-9 {
    position: relative;
    left: 56.25%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-9 {
    position: relative;
    right: 56.25%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-10 {
    position: relative;
    left: 62.5%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-10 {
    position: relative;
    right: 62.5%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-11 {
    position: relative;
    left: 68.75%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-11 {
    position: relative;
    right: 68.75%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-12 {
    position: relative;
    left: 75%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-12 {
    position: relative;
    right: 75%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-13 {
    position: relative;
    left: 81.25%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-13 {
    position: relative;
    right: 81.25%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-14 {
    position: relative;
    left: 87.5%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-14 {
    position: relative;
    right: 87.5%;
    left: auto; }
  /* line 275, app/scss/foundation/foundation/components/_grid.scss */
  .push-15 {
    position: relative;
    left: 93.75%;
    right: auto; }
  /* line 278, app/scss/foundation/foundation/components/_grid.scss */
  .pull-15 {
    position: relative;
    right: 93.75%;
    left: auto; } }

@media only screen and (min-width: 768px) {
  /* line 30, app/scss/partials/foundation_components/_grid.scss */
  .page-content {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    width: 68.75%;
    float: left; } }

@media only screen and (min-width: 768px) {
  /* line 36, app/scss/partials/foundation_components/_grid.scss */
  .page-sidebar {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
    width: 31.25%;
    float: left;
    padding-left: 2.8125rem; } }

/* line 132, app/scss/foundation/foundation/components/_accordion.scss */
.accordion {
  margin-bottom: 0;
  margin-left: 0; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  .accordion:before, .accordion:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  .accordion:after {
    clear: both; }
  /* line 136, app/scss/foundation/foundation/components/_accordion.scss */
  .accordion .accordion-navigation, .accordion dd {
    display: block;
    margin-bottom: 0 !important; }
    /* line 139, app/scss/foundation/foundation/components/_accordion.scss */
    .accordion .accordion-navigation.active > a, .accordion dd.active > a {
      background: #c6c6c6;
      color: #222222; }
    /* line 140, app/scss/foundation/foundation/components/_accordion.scss */
    .accordion .accordion-navigation > a, .accordion dd > a {
      background: #CCCCCC;
      color: #222222;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem; }
      /* line 147, app/scss/foundation/foundation/components/_accordion.scss */
      .accordion .accordion-navigation > a:hover, .accordion dd > a:hover {
        background: #c2c2c2; }
    /* line 150, app/scss/foundation/foundation/components/_accordion.scss */
    .accordion .accordion-navigation > .content, .accordion dd > .content {
      display: none;
      padding: 0.9375rem; }
      /* line 153, app/scss/foundation/foundation/components/_accordion.scss */
      .accordion .accordion-navigation > .content.active, .accordion dd > .content.active {
        background: #FFFFFF;
        display: block; }

/* line 112, app/scss/foundation/foundation/components/_alert-boxes.scss */
.alert-box {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.8125rem;
  font-weight: normal;
  margin-bottom: 1.25rem;
  padding: 0.875rem 1.5rem 0.875rem 0.875rem;
  position: relative;
  -webkit-transition: opacity 300ms ease-out;
  transition: opacity 300ms ease-out;
  background-color: #008CBA;
  border-color: #0078a0;
  color: #FFFFFF; }
  /* line 115, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box .close {
    right: 0.25rem;
    background: inherit;
    color: #222222;
    font-size: 1.375rem;
    line-height: .9;
    margin-top: -0.6875rem;
    opacity: 0.3;
    padding: 0 6px 4px;
    position: absolute;
    top: 50%; }
    /* line 96, app/scss/foundation/foundation/components/_alert-boxes.scss */
    .alert-box .close:hover, .alert-box .close:focus {
      opacity: 0.5; }
  /* line 117, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.radius {
    border-radius: 3px; }
  /* line 118, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.round {
    border-radius: 1000px; }
  /* line 120, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.success {
    background-color: #43AC6A;
    border-color: #3a945b;
    color: #FFFFFF; }
  /* line 121, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.alert {
    background-color: #f04124;
    border-color: #de2d0f;
    color: #FFFFFF; }
  /* line 122, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.secondary {
    background-color: #e7e7e7;
    border-color: #c7c7c7;
    color: #4f4f4f; }
  /* line 123, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.warning {
    background-color: #f08a24;
    border-color: #de770f;
    color: #FFFFFF; }
  /* line 124, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.info {
    background-color: #a0d3e8;
    border-color: #74bfdd;
    color: #4f4f4f; }
  /* line 125, app/scss/foundation/foundation/components/_alert-boxes.scss */
  .alert-box.alert-close {
    opacity: 0; }

/* line 107, app/scss/foundation/foundation/components/_block-grid.scss */
[class*="block-grid-"] {
  display: block;
  padding: 0;
  margin: 0 -0.625rem; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  [class*="block-grid-"]:before, [class*="block-grid-"]:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  [class*="block-grid-"]:after {
    clear: both; }
  /* line 51, app/scss/foundation/foundation/components/_block-grid.scss */
  [class*="block-grid-"] > li {
    display: block;
    float: left;
    height: auto;
    padding: 0 0.625rem 1.25rem; }

@media only screen {
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .small-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .small-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 768px) {
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .medium-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .medium-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

@media only screen and (min-width: 64.0625em) {
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-1 > li {
    list-style: none;
    width: 100%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-1 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-1 > li:nth-of-type(1n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-2 > li {
    list-style: none;
    width: 50%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-2 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-2 > li:nth-of-type(2n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-3 > li {
    list-style: none;
    width: 33.33333%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-3 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-3 > li:nth-of-type(3n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-4 > li {
    list-style: none;
    width: 25%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-4 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-4 > li:nth-of-type(4n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-5 > li {
    list-style: none;
    width: 20%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-5 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-5 > li:nth-of-type(5n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-6 > li {
    list-style: none;
    width: 16.66667%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-6 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-6 > li:nth-of-type(6n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-7 > li {
    list-style: none;
    width: 14.28571%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-7 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-7 > li:nth-of-type(7n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-8 > li {
    list-style: none;
    width: 12.5%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-8 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-8 > li:nth-of-type(8n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-9 > li {
    list-style: none;
    width: 11.11111%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-9 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-9 > li:nth-of-type(9n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-10 > li {
    list-style: none;
    width: 10%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-10 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-10 > li:nth-of-type(10n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-11 > li {
    list-style: none;
    width: 9.09091%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-11 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-11 > li:nth-of-type(11n+1) {
      clear: both; }
  /* line 62, app/scss/foundation/foundation/components/_block-grid.scss */
  .large-block-grid-12 > li {
    list-style: none;
    width: 8.33333%; }
    /* line 69, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-12 > li:nth-of-type(1n) {
      clear: none; }
    /* line 70, app/scss/foundation/foundation/components/_block-grid.scss */
    .large-block-grid-12 > li:nth-of-type(12n+1) {
      clear: both; } }

/* line 119, app/scss/foundation/foundation/components/_breadcrumbs.scss */
.breadcrumbs, .Breadcrumbs {
  border-style: solid;
  border-width: 0;
  display: block;
  list-style: none;
  margin-left: 0;
  overflow: hidden;
  padding: 0.5625rem 0.875rem 0.5625rem;
  background-color: transparent;
  border-color: rgba(0, 0, 0, 0);
  border-radius: 0; }
  /* line 123, app/scss/foundation/foundation/components/_breadcrumbs.scss */
  .breadcrumbs > *, .Breadcrumbs > * {
    color: #222222;
    float: left;
    font-size: 0.75rem;
    line-height: 0.75rem;
    margin: 0;
    text-transform: capitalize; }
    /* line 69, app/scss/foundation/foundation/components/_breadcrumbs.scss */
    .breadcrumbs > *:hover a, .Breadcrumbs > *:hover a, .breadcrumbs > *:focus a, .Breadcrumbs > *:focus a {
      text-decoration: underline; }
    /* line 71, app/scss/foundation/foundation/components/_breadcrumbs.scss */
    .breadcrumbs > * a, .Breadcrumbs > * a {
      color: #222222; }
    /* line 76, app/scss/foundation/foundation/components/_breadcrumbs.scss */
    .breadcrumbs > *.current, .Breadcrumbs > *.current {
      color: #000000;
      cursor: default; }
      /* line 79, app/scss/foundation/foundation/components/_breadcrumbs.scss */
      .breadcrumbs > *.current a, .Breadcrumbs > *.current a {
        color: #000000;
        cursor: default; }
      /* line 84, app/scss/foundation/foundation/components/_breadcrumbs.scss */
      .breadcrumbs > *.current:hover, .Breadcrumbs > *.current:hover, .breadcrumbs > *.current:hover a, .Breadcrumbs > *.current:hover a, .breadcrumbs > *.current:focus, .Breadcrumbs > *.current:focus, .breadcrumbs > *.current:focus a, .Breadcrumbs > *.current:focus a {
        text-decoration: none; }
    /* line 89, app/scss/foundation/foundation/components/_breadcrumbs.scss */
    .breadcrumbs > *.unavailable, .Breadcrumbs > *.unavailable {
      color: #999999; }
      /* line 91, app/scss/foundation/foundation/components/_breadcrumbs.scss */
      .breadcrumbs > *.unavailable a, .Breadcrumbs > *.unavailable a {
        color: #999999; }
      /* line 93, app/scss/foundation/foundation/components/_breadcrumbs.scss */
      .breadcrumbs > *.unavailable:hover, .Breadcrumbs > *.unavailable:hover,
      .breadcrumbs > *.unavailable:hover a,
      .Breadcrumbs > *.unavailable:hover a, .breadcrumbs > *.unavailable:focus, .Breadcrumbs > *.unavailable:focus,
      .breadcrumbs > *.unavailable a:focus,
      .Breadcrumbs > *.unavailable a:focus {
        color: #999999;
        cursor: not-allowed;
        text-decoration: none; }
    /* line 103, app/scss/foundation/foundation/components/_breadcrumbs.scss */
    .breadcrumbs > *:before, .Breadcrumbs > *:before {
      color: #AAAAAA;
      content: ">";
      margin: 0 0.75rem;
      position: relative;
      top: 1px; }
    /* line 111, app/scss/foundation/foundation/components/_breadcrumbs.scss */
    .breadcrumbs > *:first-child:before, .Breadcrumbs > *:first-child:before {
      content: " ";
      margin: 0; }

/* Accessibility - hides the forward slash */
/* line 128, app/scss/foundation/foundation/components/_breadcrumbs.scss */
[aria-label="breadcrumbs"] [aria-hidden="true"]:after {
  content: "/"; }

/* line 43, app/scss/partials/foundation_components/_breadcrumbs.scss */
.Breadcrumbs .Crumb {
  display: none; }

/* line 50, app/scss/partials/foundation_components/_breadcrumbs.scss */
.breadcrumb-container {
  padding: 1.875rem 0; }
  @media only screen and (min-width: 768px) {
    /* line 50, app/scss/partials/foundation_components/_breadcrumbs.scss */
    .breadcrumb-container {
      padding: 1.875rem 1.25rem; } }
  /* line 56, app/scss/partials/foundation_components/_breadcrumbs.scss */
  .breadcrumb-container .breadcrumbs li a, .breadcrumb-container .Breadcrumbs li a,
  .breadcrumb-container .breadcrumbs > *:before,
  .breadcrumb-container .Breadcrumbs > *:before,
  .breadcrumb-container .Breadcrumbs > *:before {
    font-size: 0.9375rem;
    line-height: 1.375rem; }
  /* line 63, app/scss/partials/foundation_components/_breadcrumbs.scss */
  .breadcrumb-container .breadcrumbs li a, .breadcrumb-container .Breadcrumbs li a {
    padding-bottom: 0.3125rem;
    border-bottom: 1px solid transparent;
    cursor: pointer; }
  /* line 68, app/scss/partials/foundation_components/_breadcrumbs.scss */
  .breadcrumb-container .breadcrumbs li:hover a, .breadcrumb-container .Breadcrumbs li:hover a {
    text-decoration: none; }

/* line 218, app/scss/foundation/foundation/components/_buttons.scss */
button, .button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out; }
  /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
  button:hover, button:focus, .button:hover, .button:focus {
    background-color: #007095; }
  /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
  button:hover, button:focus, .button:hover, .button:focus {
    color: #FFFFFF; }
  /* line 225, app/scss/foundation/foundation/components/_buttons.scss */
  button.secondary, .button.secondary {
    background-color: #e7e7e7;
    border-color: #b9b9b9;
    color: #222222; }
    /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      background-color: #b9b9b9; }
    /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
    button.secondary:hover, button.secondary:focus, .button.secondary:hover, .button.secondary:focus {
      color: #222222; }
  /* line 226, app/scss/foundation/foundation/components/_buttons.scss */
  button.success, .button.success {
    background-color: #43AC6A;
    border-color: #368a55;
    color: #FFFFFF; }
    /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      background-color: #368a55; }
    /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
    button.success:hover, button.success:focus, .button.success:hover, .button.success:focus {
      color: #FFFFFF; }
  /* line 227, app/scss/foundation/foundation/components/_buttons.scss */
  button.alert, .button.alert {
    background-color: #f04124;
    border-color: #cf2a0e;
    color: #FFFFFF; }
    /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      background-color: #cf2a0e; }
    /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
    button.alert:hover, button.alert:focus, .button.alert:hover, .button.alert:focus {
      color: #FFFFFF; }
  /* line 228, app/scss/foundation/foundation/components/_buttons.scss */
  button.warning, .button.warning {
    background-color: #f08a24;
    border-color: #cf6e0e;
    color: #FFFFFF; }
    /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      background-color: #cf6e0e; }
    /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
    button.warning:hover, button.warning:focus, .button.warning:hover, .button.warning:focus {
      color: #FFFFFF; }
  /* line 229, app/scss/foundation/foundation/components/_buttons.scss */
  button.info, .button.info {
    background-color: #a0d3e8;
    border-color: #61b6d9;
    color: #222222; }
    /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      background-color: #61b6d9; }
    /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
    button.info:hover, button.info:focus, .button.info:hover, .button.info:focus {
      color: #FFFFFF; }
  /* line 231, app/scss/foundation/foundation/components/_buttons.scss */
  button.large, .button.large {
    padding: 1.125rem 2.25rem 1.1875rem 2.25rem;
    font-size: 1.25rem; }
  /* line 232, app/scss/foundation/foundation/components/_buttons.scss */
  button.small, .button.small {
    padding: 0.875rem 1.75rem 0.9375rem 1.75rem;
    font-size: 0.8125rem; }
  /* line 233, app/scss/foundation/foundation/components/_buttons.scss */
  button.tiny, .button.tiny {
    padding: 0.625rem 1.25rem 0.6875rem 1.25rem;
    font-size: 0.6875rem; }
  /* line 234, app/scss/foundation/foundation/components/_buttons.scss */
  button.expand, .button.expand {
    padding: 1rem 2rem 1.0625rem 2rem;
    font-size: 1rem;
    padding-bottom: 1.0625rem;
    padding-top: 1rem;
    padding-left: 1rem;
    padding-right: 1rem;
    width: 100%; }
  /* line 236, app/scss/foundation/foundation/components/_buttons.scss */
  button.left-align, .button.left-align {
    text-align: left;
    text-indent: 0.75rem; }
  /* line 237, app/scss/foundation/foundation/components/_buttons.scss */
  button.right-align, .button.right-align {
    text-align: right;
    padding-right: 0.75rem; }
  /* line 239, app/scss/foundation/foundation/components/_buttons.scss */
  button.radius, .button.radius {
    border-radius: 3px; }
  /* line 240, app/scss/foundation/foundation/components/_buttons.scss */
  button.round, .button.round {
    border-radius: 1000px; }
  /* line 242, app/scss/foundation/foundation/components/_buttons.scss */
  button.disabled, button[disabled], .button.disabled, .button[disabled] {
    background-color: #008CBA;
    border-color: #007095;
    color: #FFFFFF;
    -webkit-box-shadow: none;
            box-shadow: none;
    cursor: default;
    opacity: 0.7; }
    /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #007095; }
    /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      color: #FFFFFF; }
    /* line 180, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled:hover, button.disabled:focus, button[disabled]:hover, button[disabled]:focus, .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #008CBA; }
    /* line 243, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled.secondary, button[disabled].secondary, .button.disabled.secondary, .button[disabled].secondary {
      background-color: #e7e7e7;
      border-color: #b9b9b9;
      color: #222222;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #b9b9b9; }
      /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        color: #222222; }
      /* line 180, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.secondary:hover, button.disabled.secondary:focus, button[disabled].secondary:hover, button[disabled].secondary:focus, .button.disabled.secondary:hover, .button.disabled.secondary:focus, .button[disabled].secondary:hover, .button[disabled].secondary:focus {
        background-color: #e7e7e7; }
    /* line 244, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled.success, button[disabled].success, .button.disabled.success, .button[disabled].success {
      background-color: #43AC6A;
      border-color: #368a55;
      color: #FFFFFF;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #368a55; }
      /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        color: #FFFFFF; }
      /* line 180, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.success:hover, button.disabled.success:focus, button[disabled].success:hover, button[disabled].success:focus, .button.disabled.success:hover, .button.disabled.success:focus, .button[disabled].success:hover, .button[disabled].success:focus {
        background-color: #43AC6A; }
    /* line 245, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled.alert, button[disabled].alert, .button.disabled.alert, .button[disabled].alert {
      background-color: #f04124;
      border-color: #cf2a0e;
      color: #FFFFFF;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #cf2a0e; }
      /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        color: #FFFFFF; }
      /* line 180, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.alert:hover, button.disabled.alert:focus, button[disabled].alert:hover, button[disabled].alert:focus, .button.disabled.alert:hover, .button.disabled.alert:focus, .button[disabled].alert:hover, .button[disabled].alert:focus {
        background-color: #f04124; }
    /* line 246, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled.warning, button[disabled].warning, .button.disabled.warning, .button[disabled].warning {
      background-color: #f08a24;
      border-color: #cf6e0e;
      color: #FFFFFF;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #cf6e0e; }
      /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        color: #FFFFFF; }
      /* line 180, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.warning:hover, button.disabled.warning:focus, button[disabled].warning:hover, button[disabled].warning:focus, .button.disabled.warning:hover, .button.disabled.warning:focus, .button[disabled].warning:hover, .button[disabled].warning:focus {
        background-color: #f08a24; }
    /* line 247, app/scss/foundation/foundation/components/_buttons.scss */
    button.disabled.info, button[disabled].info, .button.disabled.info, .button[disabled].info {
      background-color: #a0d3e8;
      border-color: #61b6d9;
      color: #222222;
      -webkit-box-shadow: none;
              box-shadow: none;
      cursor: default;
      opacity: 0.7; }
      /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #61b6d9; }
      /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        color: #FFFFFF; }
      /* line 180, app/scss/foundation/foundation/components/_buttons.scss */
      button.disabled.info:hover, button.disabled.info:focus, button[disabled].info:hover, button[disabled].info:focus, .button.disabled.info:hover, .button.disabled.info:focus, .button[disabled].info:hover, .button[disabled].info:focus {
        background-color: #a0d3e8; }

/* line 252, app/scss/foundation/foundation/components/_buttons.scss */
button::-moz-focus-inner {
  border: 0;
  padding: 0; }

@media only screen and (min-width: 768px) {
  /* line 255, app/scss/foundation/foundation/components/_buttons.scss */
  button, .button {
    display: inline-block; } }

/* line 158, app/scss/foundation/foundation/components/_button-groups.scss */
.button-group {
  list-style: none;
  margin: 0;
  left: 0; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  .button-group:before, .button-group:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  .button-group:after {
    clear: both; }
  /* line 161, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.even-2 li {
    display: inline-block;
    margin: 0 -2px;
    width: 50%; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-2 li > button, .button-group.even-2 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-2 li:first-child button, .button-group.even-2 li:first-child .button {
      border-left: 0; }
    /* line 152, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-2 li button, .button-group.even-2 li .button {
      width: 100%; }
  /* line 161, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.even-3 li {
    display: inline-block;
    margin: 0 -2px;
    width: 33.33333%; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-3 li > button, .button-group.even-3 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-3 li:first-child button, .button-group.even-3 li:first-child .button {
      border-left: 0; }
    /* line 152, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-3 li button, .button-group.even-3 li .button {
      width: 100%; }
  /* line 161, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.even-4 li {
    display: inline-block;
    margin: 0 -2px;
    width: 25%; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-4 li > button, .button-group.even-4 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-4 li:first-child button, .button-group.even-4 li:first-child .button {
      border-left: 0; }
    /* line 152, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-4 li button, .button-group.even-4 li .button {
      width: 100%; }
  /* line 161, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.even-5 li {
    display: inline-block;
    margin: 0 -2px;
    width: 20%; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-5 li > button, .button-group.even-5 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-5 li:first-child button, .button-group.even-5 li:first-child .button {
      border-left: 0; }
    /* line 152, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-5 li button, .button-group.even-5 li .button {
      width: 100%; }
  /* line 161, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.even-6 li {
    display: inline-block;
    margin: 0 -2px;
    width: 16.66667%; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-6 li > button, .button-group.even-6 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-6 li:first-child button, .button-group.even-6 li:first-child .button {
      border-left: 0; }
    /* line 152, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-6 li button, .button-group.even-6 li .button {
      width: 100%; }
  /* line 161, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.even-7 li {
    display: inline-block;
    margin: 0 -2px;
    width: 14.28571%; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-7 li > button, .button-group.even-7 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-7 li:first-child button, .button-group.even-7 li:first-child .button {
      border-left: 0; }
    /* line 152, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-7 li button, .button-group.even-7 li .button {
      width: 100%; }
  /* line 161, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.even-8 li {
    display: inline-block;
    margin: 0 -2px;
    width: 12.5%; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-8 li > button, .button-group.even-8 li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-8 li:first-child button, .button-group.even-8 li:first-child .button {
      border-left: 0; }
    /* line 152, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.even-8 li button, .button-group.even-8 li .button {
      width: 100%; }
  /* line 164, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group > li {
    display: inline-block;
    margin: 0 -2px; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group > li > button, .button-group > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group > li:first-child button, .button-group > li:first-child .button {
      border-left: 0; }
  /* line 167, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.stack > li {
    display: block;
    margin: 0;
    float: none; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-left: 0; }
    /* line 69, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.stack > li > button, .button-group.stack > li .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    /* line 76, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.stack > li > button {
      width: 100%; }
    /* line 81, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.stack > li:first-child button, .button-group.stack > li:first-child .button {
      border-top: 0; }
  /* line 171, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.stack-for-small > li {
    display: inline-block;
    margin: 0 -2px; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
      border-left: 0; }
    @media only screen and (max-width: 40em) {
      /* line 171, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.stack-for-small > li {
        display: block;
        margin: 0;
        width: 100%; }
        /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-left: 1px solid;
          border-color: rgba(255, 255, 255, 0.5); }
        /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-left: 0; }
        /* line 69, app/scss/foundation/foundation/components/_button-groups.scss */
        .button-group.stack-for-small > li > button, .button-group.stack-for-small > li .button {
          border-color: rgba(255, 255, 255, 0.5);
          border-left-width: 0;
          border-top: 1px solid;
          display: block;
          margin: 0; }
        /* line 76, app/scss/foundation/foundation/components/_button-groups.scss */
        .button-group.stack-for-small > li > button {
          width: 100%; }
        /* line 81, app/scss/foundation/foundation/components/_button-groups.scss */
        .button-group.stack-for-small > li:first-child button, .button-group.stack-for-small > li:first-child .button {
          border-top: 0; } }
  /* line 180, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.radius > * {
    display: inline-block;
    margin: 0 -2px; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius > * > button, .button-group.radius > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius > *:first-child button, .button-group.radius > *:first-child .button {
      border-left: 0; }
    /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius > *,
    .button-group.radius > * > a,
    .button-group.radius > * > button,
    .button-group.radius > * > .button {
      border-radius: 0; }
    /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius > *:first-child,
    .button-group.radius > *:first-child > a,
    .button-group.radius > *:first-child > button,
    .button-group.radius > *:first-child > .button {
      -webkit-border-bottom-left-radius: 3px;
      -webkit-border-top-left-radius: 3px;
      border-bottom-left-radius: 3px;
      border-top-left-radius: 3px; }
    /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius > *:last-child,
    .button-group.radius > *:last-child > a,
    .button-group.radius > *:last-child > button,
    .button-group.radius > *:last-child > .button {
      -webkit-border-bottom-right-radius: 3px;
      -webkit-border-top-right-radius: 3px;
      border-bottom-right-radius: 3px;
      border-top-right-radius: 3px; }
  /* line 181, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.radius.stack > * {
    display: block;
    margin: 0; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-left: 0; }
    /* line 69, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > * > button, .button-group.radius.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    /* line 76, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > * > button {
      width: 100%; }
    /* line 81, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > *:first-child button, .button-group.radius.stack > *:first-child .button {
      border-top: 0; }
    /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > *,
    .button-group.radius.stack > * > a,
    .button-group.radius.stack > * > button,
    .button-group.radius.stack > * > .button {
      border-radius: 0; }
    /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > *:first-child,
    .button-group.radius.stack > *:first-child > a,
    .button-group.radius.stack > *:first-child > button,
    .button-group.radius.stack > *:first-child > .button {
      -webkit-top-left-radius: 3px;
      -webkit-top-right-radius: 3px;
      border-top-left-radius: 3px;
      border-top-right-radius: 3px; }
    /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack > *:last-child,
    .button-group.radius.stack > *:last-child > a,
    .button-group.radius.stack > *:last-child > button,
    .button-group.radius.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 3px;
      -webkit-bottom-right-radius: 3px;
      border-bottom-left-radius: 3px;
      border-bottom-right-radius: 3px; }
  @media only screen and (min-width: 768px) {
    /* line 182, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 3px;
        -webkit-border-top-left-radius: 3px;
        border-bottom-left-radius: 3px;
        border-top-left-radius: 3px; }
      /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 3px;
        -webkit-border-top-right-radius: 3px;
        border-bottom-right-radius: 3px;
        border-top-right-radius: 3px; } }
  @media only screen and (max-width: 40em) {
    /* line 182, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.radius.stack-for-small > * {
      display: block;
      margin: 0; }
      /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-left: 0; }
      /* line 69, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > * > button, .button-group.radius.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      /* line 76, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > * > button {
        width: 100%; }
      /* line 81, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *:first-child button, .button-group.radius.stack-for-small > *:first-child .button {
        border-top: 0; }
      /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *,
      .button-group.radius.stack-for-small > * > a,
      .button-group.radius.stack-for-small > * > button,
      .button-group.radius.stack-for-small > * > .button {
        border-radius: 0; }
      /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *:first-child,
      .button-group.radius.stack-for-small > *:first-child > a,
      .button-group.radius.stack-for-small > *:first-child > button,
      .button-group.radius.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 3px;
        -webkit-top-right-radius: 3px;
        border-top-left-radius: 3px;
        border-top-right-radius: 3px; }
      /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.radius.stack-for-small > *:last-child,
      .button-group.radius.stack-for-small > *:last-child > a,
      .button-group.radius.stack-for-small > *:last-child > button,
      .button-group.radius.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 3px;
        -webkit-bottom-right-radius: 3px;
        border-bottom-left-radius: 3px;
        border-bottom-right-radius: 3px; } }
  /* line 191, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.round > * {
    display: inline-block;
    margin: 0 -2px; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round > * > button, .button-group.round > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round > *:first-child button, .button-group.round > *:first-child .button {
      border-left: 0; }
    /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round > *,
    .button-group.round > * > a,
    .button-group.round > * > button,
    .button-group.round > * > .button {
      border-radius: 0; }
    /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round > *:first-child,
    .button-group.round > *:first-child > a,
    .button-group.round > *:first-child > button,
    .button-group.round > *:first-child > .button {
      -webkit-border-bottom-left-radius: 1000px;
      -webkit-border-top-left-radius: 1000px;
      border-bottom-left-radius: 1000px;
      border-top-left-radius: 1000px; }
    /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round > *:last-child,
    .button-group.round > *:last-child > a,
    .button-group.round > *:last-child > button,
    .button-group.round > *:last-child > .button {
      -webkit-border-bottom-right-radius: 1000px;
      -webkit-border-top-right-radius: 1000px;
      border-bottom-right-radius: 1000px;
      border-top-right-radius: 1000px; }
  /* line 192, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-group.round.stack > * {
    display: block;
    margin: 0; }
    /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-left: 1px solid;
      border-color: rgba(255, 255, 255, 0.5); }
    /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-left: 0; }
    /* line 69, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > * > button, .button-group.round.stack > * .button {
      border-color: rgba(255, 255, 255, 0.5);
      border-left-width: 0;
      border-top: 1px solid;
      display: block;
      margin: 0; }
    /* line 76, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > * > button {
      width: 100%; }
    /* line 81, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > *:first-child button, .button-group.round.stack > *:first-child .button {
      border-top: 0; }
    /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > *,
    .button-group.round.stack > * > a,
    .button-group.round.stack > * > button,
    .button-group.round.stack > * > .button {
      border-radius: 0; }
    /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > *:first-child,
    .button-group.round.stack > *:first-child > a,
    .button-group.round.stack > *:first-child > button,
    .button-group.round.stack > *:first-child > .button {
      -webkit-top-left-radius: 1rem;
      -webkit-top-right-radius: 1rem;
      border-top-left-radius: 1rem;
      border-top-right-radius: 1rem; }
    /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack > *:last-child,
    .button-group.round.stack > *:last-child > a,
    .button-group.round.stack > *:last-child > button,
    .button-group.round.stack > *:last-child > .button {
      -webkit-bottom-left-radius: 1rem;
      -webkit-bottom-right-radius: 1rem;
      border-bottom-left-radius: 1rem;
      border-bottom-right-radius: 1rem; }
  @media only screen and (min-width: 768px) {
    /* line 193, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack-for-small > * {
      display: inline-block;
      margin: 0 -2px; }
      /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-border-bottom-left-radius: 1000px;
        -webkit-border-top-left-radius: 1000px;
        border-bottom-left-radius: 1000px;
        border-top-left-radius: 1000px; }
      /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-border-bottom-right-radius: 1000px;
        -webkit-border-top-right-radius: 1000px;
        border-bottom-right-radius: 1000px;
        border-top-right-radius: 1000px; } }
  @media only screen and (max-width: 40em) {
    /* line 193, app/scss/foundation/foundation/components/_button-groups.scss */
    .button-group.round.stack-for-small > * {
      display: block;
      margin: 0; }
      /* line 39, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-left: 1px solid;
        border-color: rgba(255, 255, 255, 0.5); }
      /* line 45, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-left: 0; }
      /* line 69, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > * > button, .button-group.round.stack-for-small > * .button {
        border-color: rgba(255, 255, 255, 0.5);
        border-left-width: 0;
        border-top: 1px solid;
        display: block;
        margin: 0; }
      /* line 76, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > * > button {
        width: 100%; }
      /* line 81, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *:first-child button, .button-group.round.stack-for-small > *:first-child .button {
        border-top: 0; }
      /* line 121, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *,
      .button-group.round.stack-for-small > * > a,
      .button-group.round.stack-for-small > * > button,
      .button-group.round.stack-for-small > * > .button {
        border-radius: 0; }
      /* line 125, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *:first-child,
      .button-group.round.stack-for-small > *:first-child > a,
      .button-group.round.stack-for-small > *:first-child > button,
      .button-group.round.stack-for-small > *:first-child > .button {
        -webkit-top-left-radius: 1rem;
        -webkit-top-right-radius: 1rem;
        border-top-left-radius: 1rem;
        border-top-right-radius: 1rem; }
      /* line 136, app/scss/foundation/foundation/components/_button-groups.scss */
      .button-group.round.stack-for-small > *:last-child,
      .button-group.round.stack-for-small > *:last-child > a,
      .button-group.round.stack-for-small > *:last-child > button,
      .button-group.round.stack-for-small > *:last-child > .button {
        -webkit-bottom-left-radius: 1rem;
        -webkit-bottom-right-radius: 1rem;
        border-bottom-left-radius: 1rem;
        border-bottom-right-radius: 1rem; } }

/* line 239, app/scss/foundation/foundation/components/_global.scss */
.button-bar:before, .button-bar:after {
  content: " ";
  display: table; }

/* line 240, app/scss/foundation/foundation/components/_global.scss */
.button-bar:after {
  clear: both; }

/* line 205, app/scss/foundation/foundation/components/_button-groups.scss */
.button-bar .button-group {
  float: left;
  margin-right: 0.625rem; }
  /* line 32, app/scss/foundation/foundation/components/_button-groups.scss */
  .button-bar .button-group div {
    overflow: hidden; }

/* line 27, app/scss/partials/foundation_components/_button-groups.scss */
.ButtonGroup {
  position: relative; }

/* line 29, app/scss/partials/foundation_components/_buttons.scss */
.Button {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  border-style: solid;
  border-width: 0;
  cursor: pointer;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: normal;
  margin: 0 0 1.25rem;
  position: relative;
  text-align: center;
  text-decoration: none;
  display: inline-block;
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  background-color: #008CBA;
  border-color: #007095;
  color: #FFFFFF;
  -webkit-transition: background-color 300ms ease-out;
  transition: background-color 300ms ease-out;
  background-image: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  text-shadow: none; }
  /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
  .Button:hover, .Button:focus {
    background-color: #007095; }
  /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
  .Button:hover, .Button:focus {
    color: #FFFFFF; }

/* line 35, app/scss/partials/foundation_components/_buttons.scss */
.Button.BigButton {
  padding: 1rem 2rem 1.0625rem 2rem;
  font-size: 1rem;
  padding-bottom: 1.0625rem;
  padding-top: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  width: 100%; }

@media only screen and (max-width: 40em) {
  /* line 39, app/scss/partials/foundation_components/_buttons.scss */
  .Button.NewDiscussion,
  .BigButton.NewConversation,
  .BigButton.Popup,
  .BigButton.ClearConversation, .DataListWrap .Buttons .Button,
  .FormWrapper .Buttons .Button,
  .AddPeople .Buttons .Button,
  .Popup .Buttons .Button, .Section-Discussion .FormWrapper .Buttons, .Activity .CommentForm .Buttons .Button, .Profile.Section-EditProfile .Buttons .Button, .Profile.Section-EditProfile p .Button, .signin .Buttons .Button, .signin p .Button, .Profile.ignore .IgnoreUserAction .Ignore {
    width: 100%; } }

/* line 45, app/scss/partials/foundation_components/_buttons.scss */
.Activity .CommentForm .Buttons .Button {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  background: transparent;
  text-transform: uppercase;
  border: 2px solid;
  border-radius: 0.25rem;
  text-shadow: none;
  -webkit-box-shadow: none;
          box-shadow: none;
  margin-top: 1.25rem;
  font-weight: 300;
  font-size: 0.875rem;
  padding: 0.5rem 1.25rem 0.375rem;
  line-height: 1.375rem; }

/* line 61, app/scss/partials/foundation_components/_buttons.scss */
.Button.NewDiscussion,
.BigButton.NewConversation,
.BigButton.Popup,
.BigButton.ClearConversation {
  line-height: 2.125rem;
  margin: 1.875rem;
  width: calc(100% - 3.75rem); }

/* line 76, app/scss/partials/foundation_components/_buttons.scss */
.DataListWrap .Buttons,
.FormWrapper .Buttons,
.AddPeople .Buttons,
.Popup .Buttons {
  text-align: left; }

/* line 86, app/scss/partials/foundation_components/_buttons.scss */
body.Section-ConversationList.inbox .page-sidebar {
  padding: 0;
  border-radius: 0.1875rem; }
  @media only screen and (min-width: 64.0625em) {
    /* line 86, app/scss/partials/foundation_components/_buttons.scss */
    body.Section-ConversationList.inbox .page-sidebar {
      margin-left: 1.875rem;
      width: 18.75rem; } }
  @media only screen and (min-width: 90.0625em) {
    /* line 86, app/scss/partials/foundation_components/_buttons.scss */
    body.Section-ConversationList.inbox .page-sidebar {
      margin-left: 2.8125rem; } }
  /* line 96, app/scss/partials/foundation_components/_buttons.scss */
  body.Section-ConversationList.inbox .page-sidebar .is-content {
    margin: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    padding: 1.875rem 0; }

/* line 106, app/scss/partials/foundation_components/_buttons.scss */
.FormWrapper .Buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  /* line 108, app/scss/partials/foundation_components/_buttons.scss */
  .FormWrapper .Buttons a.SignInPopup.Stash {
    -ms-flex-item-align: start;
        align-self: flex-start;
    margin-right: auto; }
  /* line 112, app/scss/partials/foundation_components/_buttons.scss */
  .FormWrapper .Buttons .Button {
    height: 3.125rem; }
    @media only screen and (max-width: 40em) {
      /* line 112, app/scss/partials/foundation_components/_buttons.scss */
      .FormWrapper .Buttons .Button {
        width: 100%;
        margin: 0.3125rem 0; } }
    @media only screen and (min-width: 768px) {
      /* line 119, app/scss/partials/foundation_components/_buttons.scss */
      .FormWrapper .Buttons .Button.DiscussionButton, .FormWrapper .Buttons .Button.CommentButton {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-item-align: space-between;
            align-self: space-between;
        margin-right: auto; }
      /* line 124, app/scss/partials/foundation_components/_buttons.scss */
      .FormWrapper .Buttons .Button.PreviewButton, .FormWrapper .Buttons .Button.WriteButton {
        margin: 0 0.625rem; } }
  /* line 129, app/scss/partials/foundation_components/_buttons.scss */
  .FormWrapper .Buttons .Back {
    display: block;
    margin-bottom: 1.875rem;
    width: 100%; }
    /* line 133, app/scss/partials/foundation_components/_buttons.scss */
    .FormWrapper .Buttons .Back a {
      padding-bottom: 0.1875rem;
      font-size: 0.9375rem;
      line-height: 1.375rem;
      border-bottom: 1px solid transparent; }
    /* line 139, app/scss/partials/foundation_components/_buttons.scss */
    .FormWrapper .Buttons .Back span {
      padding: 0 0.3125rem; }

/* line 149, app/scss/partials/foundation_components/_buttons.scss */
.Section-Discussion .FormWrapper .Buttons {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse; }

/* line 159, app/scss/partials/foundation_components/_buttons.scss */
.Activity .CommentForm .Buttons {
  text-align: left; }

/* line 167, app/scss/partials/foundation_components/_buttons.scss */
.Activity .CommentForm .Buttons {
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  /* line 172, app/scss/partials/foundation_components/_buttons.scss */
  .Activity .CommentForm .Buttons .Button:hover {
    border: 2px solid; }

@media only screen and (max-width: 40em) {
  /* line 183, app/scss/partials/foundation_components/_buttons.scss */
  .Conversations.Messages.inbox .BoxButtons.BoxNewConversation {
    margin-right: 0.625rem; }
    /* line 185, app/scss/partials/foundation_components/_buttons.scss */
    .Conversations.Messages.inbox .BoxButtons.BoxNewConversation .Button.NewConversation {
      width: 100%; }
  /* line 189, app/scss/partials/foundation_components/_buttons.scss */
  .Conversations.Messages.inbox .page-sidebar .Button.BigButton.NewConversation {
    display: none; } }

@media only screen and (max-width: 40em) {
  /* line 197, app/scss/partials/foundation_components/_buttons.scss */
  .Conversations.Messages.Index .page-sidebar {
    width: 100%;
    padding-left: 0.625rem;
    padding-right: 0.625rem; }
    /* line 201, app/scss/partials/foundation_components/_buttons.scss */
    .Conversations.Messages.Index .page-sidebar .Button.BigButton {
      width: 100%;
      margin-left: 0;
      margin-right: 0; } }

/* line 213, app/scss/partials/foundation_components/_buttons.scss */
.Profile.Section-EditProfile .Buttons, .signin .Buttons {
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 213, app/scss/partials/foundation_components/_buttons.scss */
    .Profile.Section-EditProfile .Buttons, .signin .Buttons {
      margin-left: 1.5625rem; } }

@media only screen and (max-width: 40em) {
  /* line 229, app/scss/partials/foundation_components/_buttons.scss */
  .Profile.preferences .Buttons, .Profile.OnlineNow .Buttons, .Profile.quotes .Buttons {
    margin-right: 0.625rem; } }

/* line 247, app/scss/partials/foundation_components/_buttons.scss */
#DP_AddOption {
  margin-left: 0.9375rem; }

/* line 251, app/scss/partials/foundation_components/_buttons.scss */
.DP_AnswerForm .Buttons {
  margin-left: 0; }

/* line 255, app/scss/partials/foundation_components/_buttons.scss */
#DP_Remove {
  padding-left: 2.1875rem; }

/* Clearing Styles */
/* line 44, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-thumbs, [data-clearing] {
  list-style: none;
  margin-left: 0;
  margin-bottom: 0; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  .clearing-thumbs:before, .clearing-thumbs:after, [data-clearing]:before, [data-clearing]:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  .clearing-thumbs:after, [data-clearing]:after {
    clear: both; }
  /* line 50, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-thumbs li, [data-clearing] li {
    float: left;
    margin-right: 10px; }
  /* line 55, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-thumbs[class*="block-grid-"] li, [data-clearing][class*="block-grid-"] li {
    margin-right: 0; }

/* line 60, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-blackout {
  background: #222222;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 998;
  left: 0; }
  /* line 69, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-blackout .clearing-close {
    display: block; }

/* line 72, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-container {
  height: 100%;
  margin: 0;
  overflow: hidden;
  position: relative;
  z-index: 998; }

/* line 80, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-touch-label {
  color: #AAAAAA;
  font-size: .6em;
  left: 50%;
  position: absolute;
  top: 50%; }

/* line 88, app/scss/foundation/foundation/components/_clearing.scss */
.visible-img {
  height: 95%;
  position: relative; }
  /* line 92, app/scss/foundation/foundation/components/_clearing.scss */
  .visible-img img {
    position: absolute;
    left: 50%;
    top: 50%;
    -webkit-transform: translateY(-50%) translateX(-50%);
    transform: translateY(-50%) translateX(-50%);
    max-height: 100%;
    max-width: 100%; }

/* line 115, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-caption {
  background: #222222;
  bottom: 0;
  color: #CCCCCC;
  font-size: 0.875em;
  line-height: 1.3;
  margin-bottom: 0;
  padding: 10px 30px 20px;
  position: absolute;
  text-align: center;
  width: 100%;
  left: 0; }

/* line 129, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-close {
  color: #CCCCCC;
  display: none;
  font-size: 30px;
  line-height: 1;
  padding-left: 20px;
  padding-top: 10px;
  z-index: 999; }
  /* line 138, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-close:hover, .clearing-close:focus {
    color: #CCCCCC; }

/* line 142, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-assembled .clearing-container {
  height: 100%; }
  /* line 143, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-assembled .clearing-container .carousel > ul {
    display: none; }

/* line 147, app/scss/foundation/foundation/components/_clearing.scss */
.clearing-feature li {
  display: none; }
  /* line 149, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-feature li.clearing-featured-img {
    display: block; }

@media only screen and (min-width: 768px) {
  /* line 156, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-main-prev,
  .clearing-main-next {
    height: 100%;
    position: absolute;
    top: 0;
    width: 40px; }
    /* line 162, app/scss/foundation/foundation/components/_clearing.scss */
    .clearing-main-prev > span,
    .clearing-main-next > span {
      border: solid 12px;
      display: block;
      height: 0;
      position: absolute;
      top: 50%;
      width: 0; }
      /* line 169, app/scss/foundation/foundation/components/_clearing.scss */
      .clearing-main-prev > span:hover,
      .clearing-main-next > span:hover {
        opacity: .8; }
  /* line 172, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-main-prev {
    left: 0; }
    /* line 174, app/scss/foundation/foundation/components/_clearing.scss */
    .clearing-main-prev > span {
      left: 5px;
      border-color: transparent;
      border-right-color: #CCCCCC; }
  /* line 180, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-main-next {
    right: 0; }
    /* line 182, app/scss/foundation/foundation/components/_clearing.scss */
    .clearing-main-next > span {
      border-color: transparent;
      border-left-color: #CCCCCC; }
  /* line 188, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-main-prev.disabled,
  .clearing-main-next.disabled {
    opacity: .3; }
  /* line 193, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-assembled .clearing-container .carousel {
    background: rgba(51, 51, 51, 0.8);
    height: 120px;
    margin-top: 10px;
    text-align: center; }
    /* line 199, app/scss/foundation/foundation/components/_clearing.scss */
    .clearing-assembled .clearing-container .carousel > ul {
      display: inline-block;
      z-index: 999;
      height: 100%;
      position: relative;
      float: none; }
      /* line 206, app/scss/foundation/foundation/components/_clearing.scss */
      .clearing-assembled .clearing-container .carousel > ul li {
        clear: none;
        cursor: pointer;
        display: block;
        float: left;
        margin-right: 0;
        min-height: inherit;
        opacity: .4;
        overflow: hidden;
        padding: 0;
        position: relative;
        width: 120px; }
        /* line 220, app/scss/foundation/foundation/components/_clearing.scss */
        .clearing-assembled .clearing-container .carousel > ul li.fix-height img {
          height: 100%;
          max-width: none; }
        /* line 226, app/scss/foundation/foundation/components/_clearing.scss */
        .clearing-assembled .clearing-container .carousel > ul li a.th {
          border: none;
          -webkit-box-shadow: none;
                  box-shadow: none;
          display: block; }
        /* line 232, app/scss/foundation/foundation/components/_clearing.scss */
        .clearing-assembled .clearing-container .carousel > ul li img {
          cursor: pointer !important;
          width: 100% !important; }
        /* line 237, app/scss/foundation/foundation/components/_clearing.scss */
        .clearing-assembled .clearing-container .carousel > ul li.visible {
          opacity: 1; }
        /* line 238, app/scss/foundation/foundation/components/_clearing.scss */
        .clearing-assembled .clearing-container .carousel > ul li:hover {
          opacity: .8; }
  /* line 243, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-assembled .clearing-container .visible-img {
    background: #222222;
    height: 85%;
    overflow: hidden; }
  /* line 250, app/scss/foundation/foundation/components/_clearing.scss */
  .clearing-close {
    padding-left: 0;
    padding-top: 0;
    position: absolute;
    top: 10px;
    right: 20px; } }

/* Foundation Dropdowns */
/* line 229, app/scss/foundation/foundation/components/_dropdown.scss */
.f-dropdown {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  margin-top: 2px;
  max-width: 200px; }
  /* line 73, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.open {
    display: block; }
  /* line 77, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown > *:first-child {
    margin-top: 0; }
  /* line 78, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown > *:last-child {
    margin-bottom: 0; }
  /* line 105, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown:before {
    border: inset 6px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #FFFFFF transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -12px;
    left: 10px;
    z-index: 89; }
  /* line 112, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown:after {
    border: inset 7px;
    content: "";
    display: block;
    height: 0;
    width: 0;
    border-color: transparent transparent #cccccc transparent;
    border-bottom-style: solid;
    position: absolute;
    top: -14px;
    left: 9px;
    z-index: 88; }
  /* line 120, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.right:before {
    left: auto;
    right: 10px; }
  /* line 124, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.right:after {
    left: auto;
    right: 9px; }
  /* line 232, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.drop-right {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: 2px;
    max-width: 200px; }
    /* line 73, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-right.open {
      display: block; }
    /* line 77, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-right > *:first-child {
      margin-top: 0; }
    /* line 78, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-right > *:last-child {
      margin-bottom: 0; }
    /* line 135, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-right:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #FFFFFF transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 10px;
      left: -12px;
      z-index: 89; }
    /* line 142, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-right:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent #cccccc transparent transparent;
      border-right-style: solid;
      position: absolute;
      top: 9px;
      left: -14px;
      z-index: 88; }
  /* line 236, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.drop-left {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-top: 0;
    margin-left: -2px;
    max-width: 200px; }
    /* line 73, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-left.open {
      display: block; }
    /* line 77, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-left > *:first-child {
      margin-top: 0; }
    /* line 78, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-left > *:last-child {
      margin-bottom: 0; }
    /* line 156, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-left:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #FFFFFF;
      border-left-style: solid;
      position: absolute;
      top: 10px;
      right: -12px;
      left: auto;
      z-index: 89; }
    /* line 164, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-left:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent #cccccc;
      border-left-style: solid;
      position: absolute;
      top: 9px;
      right: -14px;
      left: auto;
      z-index: 88; }
  /* line 240, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.drop-top {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    width: 100%;
    z-index: 89;
    margin-left: 0;
    margin-top: -2px;
    max-width: 200px; }
    /* line 73, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-top.open {
      display: block; }
    /* line 77, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-top > *:first-child {
      margin-top: 0; }
    /* line 78, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-top > *:last-child {
      margin-bottom: 0; }
    /* line 179, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-top:before {
      border: inset 6px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #FFFFFF transparent transparent transparent;
      border-top-style: solid;
      bottom: -12px;
      position: absolute;
      top: auto;
      left: 10px;
      right: auto;
      z-index: 89; }
    /* line 188, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.drop-top:after {
      border: inset 7px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: #cccccc transparent transparent transparent;
      border-top-style: solid;
      bottom: -14px;
      position: absolute;
      top: auto;
      left: 9px;
      right: auto;
      z-index: 88; }
  /* line 245, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown li {
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.125rem;
    margin: 0; }
    /* line 215, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown li:hover, .f-dropdown li:focus {
      background: #EEEEEE; }
    /* line 218, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown li a {
      display: block;
      padding: 0.5rem;
      color: #414141; }
  /* line 248, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.content {
    display: none;
    left: -9999px;
    list-style: none;
    margin-left: 0;
    position: absolute;
    background: #FFFFFF;
    border: solid 1px #cccccc;
    font-size: 0.875rem;
    height: auto;
    max-height: none;
    padding: 1.25rem;
    width: 100%;
    z-index: 89;
    max-width: 200px; }
    /* line 73, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.content.open {
      display: block; }
    /* line 77, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.content > *:first-child {
      margin-top: 0; }
    /* line 78, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.content > *:last-child {
      margin-bottom: 0; }
  /* line 251, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.radius {
    border-radius: 3px; }
  /* line 254, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.tiny {
    max-width: 200px; }
  /* line 255, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.small {
    max-width: 300px; }
  /* line 256, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.medium {
    max-width: 500px; }
  /* line 257, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.large {
    max-width: 800px; }
  /* line 258, app/scss/foundation/foundation/components/_dropdown.scss */
  .f-dropdown.mega {
    width: 100% !important;
    max-width: 100% !important; }
    /* line 262, app/scss/foundation/foundation/components/_dropdown.scss */
    .f-dropdown.mega.open {
      left: 0 !important; }

/* line 54, app/scss/partials/foundation_components/_dropdown.scss */
.FlyoutMenu,
.MenuItems {
  display: none;
  left: -9999px;
  list-style: none;
  margin-left: 0;
  position: absolute;
  background: #FFFFFF;
  border: solid 1px #cccccc;
  font-size: 0.875rem;
  height: auto;
  max-height: none;
  width: 100%;
  z-index: 89;
  max-width: 200px; }
  /* line 73, app/scss/foundation/foundation/components/_dropdown.scss */
  .FlyoutMenu.open,
  .MenuItems.open {
    display: block; }
  /* line 77, app/scss/foundation/foundation/components/_dropdown.scss */
  .FlyoutMenu > *:first-child,
  .MenuItems > *:first-child {
    margin-top: 0; }
  /* line 78, app/scss/foundation/foundation/components/_dropdown.scss */
  .FlyoutMenu > *:last-child,
  .MenuItems > *:last-child {
    margin-bottom: 0; }
  /* line 58, app/scss/partials/foundation_components/_dropdown.scss */
  .FlyoutMenu,
  .MenuItems {
    top: 100%;
    right: auto;
    left: 0;
    display: none;
    width: auto;
    min-width: 100px; }
  /* line 67, app/scss/partials/foundation_components/_dropdown.scss */
  .FlyoutMenu > li,
  .MenuItems > li {
    cursor: pointer;
    font-size: 0.875rem;
    line-height: 1.125rem;
    margin: 0; }
    /* line 215, app/scss/foundation/foundation/components/_dropdown.scss */
    .FlyoutMenu > li:hover, .FlyoutMenu > li:focus,
    .MenuItems > li:hover,
    .MenuItems > li:focus {
      background: #EEEEEE; }
    /* line 218, app/scss/foundation/foundation/components/_dropdown.scss */
    .FlyoutMenu > li a,
    .MenuItems > li a {
      display: block;
      padding: 0.5rem;
      color: #414141; }
  /* line 71, app/scss/partials/foundation_components/_dropdown.scss */
  .ButtonGroup.Open .FlyoutMenu, .ButtonGroup.Open
  .MenuItems {
    display: block; }

/* line 76, app/scss/partials/foundation_components/_dropdown.scss */
.ToggleFlyout {
  position: relative; }

/* line 123, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
.dropdown.button, button.dropdown {
  position: relative;
  padding-right: 3.5625rem; }
  /* line 63, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent;
    border-style: solid;
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    width: 0; }
  /* line 98, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
  .dropdown.button::after, button.dropdown::after {
    border-width: 0.375rem;
    right: 1.40625rem;
    margin-top: -0.15625rem; }
  /* line 117, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
  .dropdown.button::after, button.dropdown::after {
    border-color: #FFFFFF transparent transparent transparent; }
  /* line 124, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
  .dropdown.button.tiny, button.dropdown.tiny {
    padding-right: 2.625rem; }
    /* line 78, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
    .dropdown.button.tiny:after, button.dropdown.tiny:after {
      border-width: 0.375rem;
      right: 1.125rem;
      margin-top: -0.125rem; }
    /* line 117, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
    .dropdown.button.tiny::after, button.dropdown.tiny::after {
      border-color: #FFFFFF transparent transparent transparent; }
  /* line 125, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
  .dropdown.button.small, button.dropdown.small {
    padding-right: 3.0625rem; }
    /* line 88, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
    .dropdown.button.small::after, button.dropdown.small::after {
      border-width: 0.4375rem;
      right: 1.3125rem;
      margin-top: -0.15625rem; }
    /* line 117, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
    .dropdown.button.small::after, button.dropdown.small::after {
      border-color: #FFFFFF transparent transparent transparent; }
  /* line 126, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
  .dropdown.button.large, button.dropdown.large {
    padding-right: 3.625rem; }
    /* line 108, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
    .dropdown.button.large::after, button.dropdown.large::after {
      border-width: 0.3125rem;
      right: 1.71875rem;
      margin-top: -0.15625rem; }
    /* line 117, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
    .dropdown.button.large::after, button.dropdown.large::after {
      border-color: #FFFFFF transparent transparent transparent; }
  /* line 127, app/scss/foundation/foundation/components/_dropdown-buttons.scss */
  .dropdown.button.secondary:after, button.dropdown.secondary:after {
    border-color: #222222 transparent transparent transparent; }

/* line 158, app/scss/foundation/foundation/components/_type.scss */
.text-left {
  text-align: left !important; }

/* line 159, app/scss/foundation/foundation/components/_type.scss */
.text-right {
  text-align: right !important; }

/* line 160, app/scss/foundation/foundation/components/_type.scss */
.text-center {
  text-align: center !important; }

/* line 161, app/scss/foundation/foundation/components/_type.scss */
.text-justify {
  text-align: justify !important; }

@media only screen and (max-width: 40em) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .small-only-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .small-only-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .small-only-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .small-only-text-justify {
    text-align: justify !important; } }

@media only screen {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .small-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .small-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .small-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .small-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .medium-only-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .medium-only-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .medium-only-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .medium-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 768px) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .medium-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .medium-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .medium-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .medium-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 64.0625em) and (max-width: 90em) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .large-only-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .large-only-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .large-only-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .large-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 64.0625em) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .large-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .large-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .large-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .large-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 90.0625em) and (max-width: 120em) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-only-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-only-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-only-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 90.0625em) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .xlarge-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) and (max-width: 6249999.9375em) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-only-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-only-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-only-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-only-text-justify {
    text-align: justify !important; } }

@media only screen and (min-width: 120.0625em) {
  /* line 165, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-text-left {
    text-align: left !important; }
  /* line 166, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-text-right {
    text-align: right !important; }
  /* line 167, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-text-center {
    text-align: center !important; }
  /* line 168, app/scss/foundation/foundation/components/_type.scss */
  .xxlarge-text-justify {
    text-align: justify !important; } }

/* Typography resets */
/* line 196, app/scss/foundation/foundation/components/_type.scss */
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
p,
blockquote,
th,
td {
  margin: 0;
  padding: 0; }

/* Default Link Styles */
/* line 220, app/scss/foundation/foundation/components/_type.scss */
a {
  color: #008CBA;
  line-height: inherit;
  text-decoration: none; }
  /* line 225, app/scss/foundation/foundation/components/_type.scss */
  a:hover, a:focus {
    color: #0078a0; }
  /* line 233, app/scss/foundation/foundation/components/_type.scss */
  a img {
    border: none; }

/* Default paragraph styles */
/* line 237, app/scss/foundation/foundation/components/_type.scss */
p {
  font-family: inherit;
  font-size: 1rem;
  font-weight: normal;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  text-rendering: optimizeLegibility; }
  /* line 245, app/scss/foundation/foundation/components/_type.scss */
  p.lead {
    font-size: 1.21875rem;
    line-height: 1.6; }
  /* line 247, app/scss/foundation/foundation/components/_type.scss */
  p aside {
    font-size: 0.875rem;
    font-style: italic;
    line-height: 1.35; }

/* Default header styles */
/* line 255, app/scss/foundation/foundation/components/_type.scss */
h1, h2, h3, h4, h5, h6 {
  color: #222222;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-style: normal;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 0.5rem;
  margin-top: 0.2rem;
  text-rendering: optimizeLegibility; }
  /* line 265, app/scss/foundation/foundation/components/_type.scss */
  h1 small, h2 small, h3 small, h4 small, h5 small, h6 small {
    color: #6f6f6f;
    font-size: 60%;
    line-height: 0; }

/* line 272, app/scss/foundation/foundation/components/_type.scss */
h1 {
  font-size: 2.125rem; }

/* line 273, app/scss/foundation/foundation/components/_type.scss */
h2 {
  font-size: 1.6875rem; }

/* line 274, app/scss/foundation/foundation/components/_type.scss */
h3 {
  font-size: 1.375rem; }

/* line 275, app/scss/foundation/foundation/components/_type.scss */
h4 {
  font-size: 1.125rem; }

/* line 276, app/scss/foundation/foundation/components/_type.scss */
h5 {
  font-size: 1.125rem; }

/* line 277, app/scss/foundation/foundation/components/_type.scss */
h6 {
  font-size: 1rem; }

/* line 279, app/scss/foundation/foundation/components/_type.scss */
.subheader {
  line-height: 1.4;
  color: #6f6f6f;
  font-weight: normal;
  margin-top: 0.2rem;
  margin-bottom: 0.5rem; }

/* line 281, app/scss/foundation/foundation/components/_type.scss */
hr {
  border: solid #DDDDDD;
  border-width: 1px 0 0;
  clear: both;
  height: 0;
  margin: 1.25rem 0 1.1875rem; }

/* Helpful Typography Defaults */
/* line 290, app/scss/foundation/foundation/components/_type.scss */
em,
i {
  font-style: italic;
  line-height: inherit; }

/* line 296, app/scss/foundation/foundation/components/_type.scss */
strong,
b {
  font-weight: bold;
  line-height: inherit; }

/* line 302, app/scss/foundation/foundation/components/_type.scss */
small {
  font-size: 60%;
  line-height: inherit; }

/* line 307, app/scss/foundation/foundation/components/_type.scss */
code {
  background-color: #f8f8f8;
  border-color: #dfdfdf;
  border-style: solid;
  border-width: 1px;
  color: #222222;
  font-family: Consolas, "Liberation Mono", Courier, monospace;
  font-weight: normal;
  padding: 0.125rem 0.3125rem 0.0625rem; }

/* Lists */
/* line 319, app/scss/foundation/foundation/components/_type.scss */
ul,
ol,
dl {
  font-family: inherit;
  font-size: 1rem;
  line-height: 1.6;
  list-style-position: outside;
  margin-bottom: 1.25rem; }

/* line 329, app/scss/foundation/foundation/components/_type.scss */
ul {
  margin-left: 1.1rem; }

/* Unordered Lists */
/* line 336, app/scss/foundation/foundation/components/_type.scss */
ul li ul,
ul li ol {
  margin-left: 1.25rem;
  margin-bottom: 0; }

/* line 345, app/scss/foundation/foundation/components/_type.scss */
ul.square li ul, ul.circle li ul, ul.disc li ul {
  list-style: inherit; }

/* line 348, app/scss/foundation/foundation/components/_type.scss */
ul.square {
  list-style-type: square;
  margin-left: 1.1rem; }

/* line 349, app/scss/foundation/foundation/components/_type.scss */
ul.circle {
  list-style-type: circle;
  margin-left: 1.1rem; }

/* line 350, app/scss/foundation/foundation/components/_type.scss */
ul.disc {
  list-style-type: disc;
  margin-left: 1.1rem; }

/* Ordered Lists */
/* line 354, app/scss/foundation/foundation/components/_type.scss */
ol {
  margin-left: 1.4rem; }
  /* line 357, app/scss/foundation/foundation/components/_type.scss */
  ol li ul,
  ol li ol {
    margin-left: 1.25rem;
    margin-bottom: 0; }

/* line 366, app/scss/foundation/foundation/components/_type.scss */
.no-bullet {
  list-style-type: none;
  margin-left: 0; }
  /* line 371, app/scss/foundation/foundation/components/_type.scss */
  .no-bullet li ul,
  .no-bullet li ol {
    margin-left: 1.25rem;
    margin-bottom: 0;
    list-style: none; }

/* Definition Lists */
/* line 382, app/scss/foundation/foundation/components/_type.scss */
dl dt {
  margin-bottom: 0.3rem;
  font-weight: bold; }

/* line 386, app/scss/foundation/foundation/components/_type.scss */
dl dd {
  margin-bottom: 0.75rem; }

/* Abbreviations */
/* line 390, app/scss/foundation/foundation/components/_type.scss */
abbr,
acronym {
  text-transform: uppercase;
  font-size: 90%;
  color: #222;
  cursor: help; }

/* line 397, app/scss/foundation/foundation/components/_type.scss */
abbr {
  text-transform: none; }
  /* line 399, app/scss/foundation/foundation/components/_type.scss */
  abbr[title] {
    border-bottom: 1px dotted #DDDDDD; }

/* Blockquotes */
/* line 405, app/scss/foundation/foundation/components/_type.scss */
blockquote {
  margin: 0 0 1.25rem;
  padding: 0.5625rem 1.25rem 0 1.1875rem;
  border-left: 1px solid #DDDDDD; }
  /* line 410, app/scss/foundation/foundation/components/_type.scss */
  blockquote cite {
    display: block;
    font-size: 0.8125rem;
    color: #555555; }
    /* line 414, app/scss/foundation/foundation/components/_type.scss */
    blockquote cite:before {
      content: "\2014 \0020"; }
    /* line 418, app/scss/foundation/foundation/components/_type.scss */
    blockquote cite a,
    blockquote cite a:visited {
      color: #555555; }

/* line 424, app/scss/foundation/foundation/components/_type.scss */
blockquote,
blockquote p {
  line-height: 1.6;
  color: #6f6f6f; }

/* Microformats */
/* line 431, app/scss/foundation/foundation/components/_type.scss */
.vcard {
  display: inline-block;
  margin: 0 0 1.25rem 0;
  border: 1px solid #DDDDDD;
  padding: 0.625rem 0.75rem; }
  /* line 437, app/scss/foundation/foundation/components/_type.scss */
  .vcard li {
    margin: 0;
    display: block; }
  /* line 441, app/scss/foundation/foundation/components/_type.scss */
  .vcard .fn {
    font-weight: bold;
    font-size: 0.9375rem; }

/* line 448, app/scss/foundation/foundation/components/_type.scss */
.vevent .summary {
  font-weight: bold; }

/* line 450, app/scss/foundation/foundation/components/_type.scss */
.vevent abbr {
  cursor: default;
  text-decoration: none;
  font-weight: bold;
  border: none;
  padding: 0 0.0625rem; }

@media only screen and (min-width: 768px) {
  /* line 461, app/scss/foundation/foundation/components/_type.scss */
  h1, h2, h3, h4, h5, h6 {
    line-height: 1.4; }
  /* line 462, app/scss/foundation/foundation/components/_type.scss */
  h1 {
    font-size: 2.75rem; }
  /* line 463, app/scss/foundation/foundation/components/_type.scss */
  h2 {
    font-size: 2.3125rem; }
  /* line 464, app/scss/foundation/foundation/components/_type.scss */
  h3 {
    font-size: 1.6875rem; }
  /* line 465, app/scss/foundation/foundation/components/_type.scss */
  h4 {
    font-size: 1.4375rem; }
  /* line 466, app/scss/foundation/foundation/components/_type.scss */
  h5 {
    font-size: 1.125rem; }
  /* line 467, app/scss/foundation/foundation/components/_type.scss */
  h6 {
    font-size: 1rem; } }

/*
       * Print styles.
       *
       * Inlined to avoid required HTTP connection: www.phpied.com/delay-loading-your-print-css/
       * Credit to Paul Irish and HTML5 Boilerplate (html5boilerplate.com)
      */
@media print {
  /* line 479, app/scss/foundation/foundation/components/_type.scss */
  * {
    background: transparent !important;
    color: #000000 !important;
    /* Black prints faster: h5bp.com/s */
    -webkit-box-shadow: none !important;
            box-shadow: none !important;
    text-shadow: none !important; }
  /* line 486, app/scss/foundation/foundation/components/_type.scss */
  a,
  a:visited {
    text-decoration: underline; }
  /* line 488, app/scss/foundation/foundation/components/_type.scss */
  a[href]:after {
    content: " (" attr(href) ")"; }
  /* line 490, app/scss/foundation/foundation/components/_type.scss */
  abbr[title]:after {
    content: " (" attr(title) ")"; }
  /* line 493, app/scss/foundation/foundation/components/_type.scss */
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: ""; }
  /* line 497, app/scss/foundation/foundation/components/_type.scss */
  pre,
  blockquote {
    border: 1px solid #999999;
    page-break-inside: avoid; }
  /* line 503, app/scss/foundation/foundation/components/_type.scss */
  thead {
    display: table-header-group;
    /* h5bp.com/t */ }
  /* line 505, app/scss/foundation/foundation/components/_type.scss */
  tr,
  img {
    page-break-inside: avoid; }
  /* line 508, app/scss/foundation/foundation/components/_type.scss */
  img {
    max-width: 100% !important; }
  @page {
    margin: 0.34in; }
  /* line 512, app/scss/foundation/foundation/components/_type.scss */
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3; }
  /* line 519, app/scss/foundation/foundation/components/_type.scss */
  h2,
  h3 {
    page-break-after: avoid; } }

/* line 127, app/scss/partials/foundation_components/_type.scss */
*, h1, h2, h3, h4, h5, h6, a, p, div {
  font-weight: normal; }

/* line 130, app/scss/partials/foundation_components/_type.scss */
h1 {
  font-size: 2rem;
  line-height: 2.5rem; }

/* line 134, app/scss/partials/foundation_components/_type.scss */
h2 {
  font-size: 1.8125rem;
  line-height: 2.25rem; }

/* line 138, app/scss/partials/foundation_components/_type.scss */
h3 {
  font-size: 2.3125rem;
  line-height: 2.875rem; }

/* line 142, app/scss/partials/foundation_components/_type.scss */
h4 {
  font-size: 1.375rem;
  line-height: 1.75rem; }

/* line 146, app/scss/partials/foundation_components/_type.scss */
h5 {
  font-size: 1.1875rem;
  line-height: 1.5rem; }

/* line 150, app/scss/partials/foundation_components/_type.scss */
h6 {
  font-size: 1rem;
  line-height: 1.375rem; }

/* line 155, app/scss/partials/foundation_components/_type.scss */
.P {
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 1.25rem;
  font-family: inherit; }

/* line 162, app/scss/partials/foundation_components/_type.scss */
code {
  background: transparent;
  border-color: transparent; }

/* line 49, app/scss/foundation/foundation/components/_flex-video.scss */
.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 67.5%;
  padding-top: 1.5625rem;
  position: relative; }
  /* line 32, app/scss/foundation/foundation/components/_flex-video.scss */
  .flex-video.widescreen {
    padding-bottom: 56.34%; }
  /* line 33, app/scss/foundation/foundation/components/_flex-video.scss */
  .flex-video.vimeo {
    padding-top: 0; }
  /* line 35, app/scss/foundation/foundation/components/_flex-video.scss */
  .flex-video iframe,
  .flex-video object,
  .flex-video embed,
  .flex-video video {
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%;
    left: 0; }

/* Standard Forms */
/* line 385, app/scss/foundation/foundation/components/_forms.scss */
form {
  margin: 0 0 1rem; }

/* Using forms within rows, we need to set some defaults */
/* line 91, app/scss/foundation/foundation/components/_forms.scss */
form .row .row, form .breadcrumb-container .row, form .row .breadcrumb-container, form .breadcrumb-container .breadcrumb-container {
  margin: 0 -0.5rem; }
  /* line 93, app/scss/foundation/foundation/components/_forms.scss */
  form .row .row .column, form .breadcrumb-container .row .column, form .row .breadcrumb-container .column, form .breadcrumb-container .breadcrumb-container .column,
  form .row .row .columns,
  form .breadcrumb-container .row .columns,
  form .row .breadcrumb-container .columns,
  form .breadcrumb-container .breadcrumb-container .columns {
    padding: 0 0.5rem; }
  /* line 97, app/scss/foundation/foundation/components/_forms.scss */
  form .row .row.collapse, form .breadcrumb-container .row.collapse, form .row .collapse.breadcrumb-container, form .breadcrumb-container .collapse.breadcrumb-container {
    margin: 0; }
    /* line 99, app/scss/foundation/foundation/components/_forms.scss */
    form .row .row.collapse .column, form .breadcrumb-container .row.collapse .column, form .row .collapse.breadcrumb-container .column, form .breadcrumb-container .collapse.breadcrumb-container .column,
    form .row .row.collapse .columns,
    form .breadcrumb-container .row.collapse .columns,
    form .row .collapse.breadcrumb-container .columns,
    form .breadcrumb-container .collapse.breadcrumb-container .columns {
      padding: 0; }
    /* line 101, app/scss/foundation/foundation/components/_forms.scss */
    form .row .row.collapse input, form .breadcrumb-container .row.collapse input, form .row .collapse.breadcrumb-container input, form .breadcrumb-container .collapse.breadcrumb-container input {
      -webkit-border-bottom-right-radius: 0;
      -webkit-border-top-right-radius: 0;
      border-bottom-right-radius: 0;
      border-top-right-radius: 0; }

/* line 107, app/scss/foundation/foundation/components/_forms.scss */
form .row input.column, form .breadcrumb-container input.column,
form .row input.columns,
form .breadcrumb-container input.columns,
form .row textarea.column,
form .breadcrumb-container textarea.column,
form .row textarea.columns,
form .breadcrumb-container textarea.columns {
  padding-left: 0.5rem; }

/* Label Styles */
/* line 391, app/scss/foundation/foundation/components/_forms.scss */
label {
  color: #4d4d4d;
  cursor: pointer;
  display: block;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.5;
  margin-bottom: 0;
  /* Styles for required inputs */ }
  /* line 392, app/scss/foundation/foundation/components/_forms.scss */
  label.right {
    float: none !important;
    text-align: right; }
  /* line 393, app/scss/foundation/foundation/components/_forms.scss */
  label.inline {
    margin: 0 0 1rem 0;
    padding: 0.5625rem 0; }
  /* line 395, app/scss/foundation/foundation/components/_forms.scss */
  label small {
    text-transform: capitalize;
    color: #676767; }

/* Attach elements to the beginning or end of an input */
/* line 402, app/scss/foundation/foundation/components/_forms.scss */
.prefix,
.postfix {
  border-style: solid;
  border-width: 1px;
  display: block;
  font-size: 0.875rem;
  height: 2.3125rem;
  line-height: 2.3125rem;
  overflow: visible;
  padding-bottom: 0;
  padding-top: 0;
  position: relative;
  text-align: center;
  width: 100%;
  z-index: 2; }

/* Adjust padding, alignment and radius if pre/post element is a button */
/* line 406, app/scss/foundation/foundation/components/_forms.scss */
.postfix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

/* line 407, app/scss/foundation/foundation/components/_forms.scss */
.prefix.button {
  border: none;
  padding-left: 0;
  padding-right: 0;
  padding-bottom: 0;
  padding-top: 0;
  text-align: center; }

/* line 409, app/scss/foundation/foundation/components/_forms.scss */
.prefix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

/* line 410, app/scss/foundation/foundation/components/_forms.scss */
.postfix.button.radius {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

/* line 411, app/scss/foundation/foundation/components/_forms.scss */
.prefix.button.round {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

/* line 412, app/scss/foundation/foundation/components/_forms.scss */
.postfix.button.round {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

/* Separate prefix and postfix styles when on span or label so buttons keep their own */
/* line 415, app/scss/foundation/foundation/components/_forms.scss */
span.prefix, label.prefix {
  background: #f2f2f2;
  border-right: none;
  color: #222222;
  border-color: #cccccc; }

/* line 416, app/scss/foundation/foundation/components/_forms.scss */
span.postfix, label.postfix {
  background: #f2f2f2;
  border-left: none;
  color: #222222;
  border-color: #cccccc; }

/* We use this to get basic styling on all basic form elements */
/* line 419, app/scss/foundation/foundation/components/_forms.scss */
input:not([type]), input[type="text"], input[type="password"], input[type="date"], input[type="datetime"], input[type="datetime-local"], input[type="month"], input[type="week"], input[type="email"], input[type="number"], input[type="search"], input[type="tel"], input[type="time"], input[type="url"], input[type="color"], textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0;
  background-color: #FFFFFF;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  -webkit-box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
          box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.1);
  color: rgba(0, 0, 0, 0.75);
  display: block;
  font-family: inherit;
  font-size: 0.875rem;
  height: 2.3125rem;
  margin: 0 0 1rem 0;
  padding: 0.5rem;
  width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.15s linear, background 0.15s linear;
  transition: border-color 0.15s linear, background 0.15s linear; }
  /* line 137, app/scss/foundation/foundation/components/_forms.scss */
  input:not([type]):focus, input[type="text"]:focus, input[type="password"]:focus, input[type="date"]:focus, input[type="datetime"]:focus, input[type="datetime-local"]:focus, input[type="month"]:focus, input[type="week"]:focus, input[type="email"]:focus, input[type="number"]:focus, input[type="search"]:focus, input[type="tel"]:focus, input[type="time"]:focus, input[type="url"]:focus, input[type="color"]:focus, textarea:focus {
    background: #fafafa;
    border-color: #999999;
    outline: none; }
  /* line 143, app/scss/foundation/foundation/components/_forms.scss */
  input:not([type]):disabled, input[type="text"]:disabled, input[type="password"]:disabled, input[type="date"]:disabled, input[type="datetime"]:disabled, input[type="datetime-local"]:disabled, input[type="month"]:disabled, input[type="week"]:disabled, input[type="email"]:disabled, input[type="number"]:disabled, input[type="search"]:disabled, input[type="tel"]:disabled, input[type="time"]:disabled, input[type="url"]:disabled, input[type="color"]:disabled, textarea:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  /* line 149, app/scss/foundation/foundation/components/_forms.scss */
  input:not([type])[disabled], input:not([type])[readonly],
  fieldset[disabled] input:not([type]), input[type="text"][disabled], input[type="text"][readonly],
  fieldset[disabled] input[type="text"], input[type="password"][disabled], input[type="password"][readonly],
  fieldset[disabled] input[type="password"], input[type="date"][disabled], input[type="date"][readonly],
  fieldset[disabled] input[type="date"], input[type="datetime"][disabled], input[type="datetime"][readonly],
  fieldset[disabled] input[type="datetime"], input[type="datetime-local"][disabled], input[type="datetime-local"][readonly],
  fieldset[disabled] input[type="datetime-local"], input[type="month"][disabled], input[type="month"][readonly],
  fieldset[disabled] input[type="month"], input[type="week"][disabled], input[type="week"][readonly],
  fieldset[disabled] input[type="week"], input[type="email"][disabled], input[type="email"][readonly],
  fieldset[disabled] input[type="email"], input[type="number"][disabled], input[type="number"][readonly],
  fieldset[disabled] input[type="number"], input[type="search"][disabled], input[type="search"][readonly],
  fieldset[disabled] input[type="search"], input[type="tel"][disabled], input[type="tel"][readonly],
  fieldset[disabled] input[type="tel"], input[type="time"][disabled], input[type="time"][readonly],
  fieldset[disabled] input[type="time"], input[type="url"][disabled], input[type="url"][readonly],
  fieldset[disabled] input[type="url"], input[type="color"][disabled], input[type="color"][readonly],
  fieldset[disabled] input[type="color"], textarea[disabled], textarea[readonly],
  fieldset[disabled] textarea {
    background-color: #DDDDDD;
    cursor: default; }
  /* line 431, app/scss/foundation/foundation/components/_forms.scss */
  input:not([type]).radius, input[type="text"].radius, input[type="password"].radius, input[type="date"].radius, input[type="datetime"].radius, input[type="datetime-local"].radius, input[type="month"].radius, input[type="week"].radius, input[type="email"].radius, input[type="number"].radius, input[type="search"].radius, input[type="tel"].radius, input[type="time"].radius, input[type="url"].radius, input[type="color"].radius, textarea.radius {
    border-radius: 3px; }

/* line 439, app/scss/foundation/foundation/components/_forms.scss */
form .row .prefix-radius.row.collapse input, form .breadcrumb-container .prefix-radius.row.collapse input, form .row .prefix-radius.collapse.breadcrumb-container input, form .breadcrumb-container .prefix-radius.collapse.breadcrumb-container input,
form .row .prefix-radius.row.collapse textarea,
form .breadcrumb-container .prefix-radius.row.collapse textarea,
form .row .prefix-radius.collapse.breadcrumb-container textarea,
form .breadcrumb-container .prefix-radius.collapse.breadcrumb-container textarea,
form .row .prefix-radius.row.collapse select,
form .breadcrumb-container .prefix-radius.row.collapse select,
form .row .prefix-radius.collapse.breadcrumb-container select,
form .breadcrumb-container .prefix-radius.collapse.breadcrumb-container select,
form .row .prefix-radius.row.collapse button,
form .breadcrumb-container .prefix-radius.row.collapse button,
form .row .prefix-radius.collapse.breadcrumb-container button,
form .breadcrumb-container .prefix-radius.collapse.breadcrumb-container button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

/* line 443, app/scss/foundation/foundation/components/_forms.scss */
form .row .prefix-radius.row.collapse .prefix, form .breadcrumb-container .prefix-radius.row.collapse .prefix, form .row .prefix-radius.collapse.breadcrumb-container .prefix, form .breadcrumb-container .prefix-radius.collapse.breadcrumb-container .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

/* line 446, app/scss/foundation/foundation/components/_forms.scss */
form .row .postfix-radius.row.collapse input, form .breadcrumb-container .postfix-radius.row.collapse input, form .row .postfix-radius.collapse.breadcrumb-container input, form .breadcrumb-container .postfix-radius.collapse.breadcrumb-container input,
form .row .postfix-radius.row.collapse textarea,
form .breadcrumb-container .postfix-radius.row.collapse textarea,
form .row .postfix-radius.collapse.breadcrumb-container textarea,
form .breadcrumb-container .postfix-radius.collapse.breadcrumb-container textarea,
form .row .postfix-radius.row.collapse select,
form .breadcrumb-container .postfix-radius.row.collapse select,
form .row .postfix-radius.collapse.breadcrumb-container select,
form .breadcrumb-container .postfix-radius.collapse.breadcrumb-container select,
form .row .postfix-radius.row.collapse button,
form .breadcrumb-container .postfix-radius.row.collapse button,
form .row .postfix-radius.collapse.breadcrumb-container button,
form .breadcrumb-container .postfix-radius.collapse.breadcrumb-container button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 3px;
  -webkit-border-top-left-radius: 3px;
  border-bottom-left-radius: 3px;
  border-top-left-radius: 3px; }

/* line 450, app/scss/foundation/foundation/components/_forms.scss */
form .row .postfix-radius.row.collapse .postfix, form .breadcrumb-container .postfix-radius.row.collapse .postfix, form .row .postfix-radius.collapse.breadcrumb-container .postfix, form .breadcrumb-container .postfix-radius.collapse.breadcrumb-container .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 3px;
  -webkit-border-top-right-radius: 3px;
  border-bottom-right-radius: 3px;
  border-top-right-radius: 3px; }

/* line 453, app/scss/foundation/foundation/components/_forms.scss */
form .row .prefix-round.row.collapse input, form .breadcrumb-container .prefix-round.row.collapse input, form .row .prefix-round.collapse.breadcrumb-container input, form .breadcrumb-container .prefix-round.collapse.breadcrumb-container input,
form .row .prefix-round.row.collapse textarea,
form .breadcrumb-container .prefix-round.row.collapse textarea,
form .row .prefix-round.collapse.breadcrumb-container textarea,
form .breadcrumb-container .prefix-round.collapse.breadcrumb-container textarea,
form .row .prefix-round.row.collapse select,
form .breadcrumb-container .prefix-round.row.collapse select,
form .row .prefix-round.collapse.breadcrumb-container select,
form .breadcrumb-container .prefix-round.collapse.breadcrumb-container select,
form .row .prefix-round.row.collapse button,
form .breadcrumb-container .prefix-round.row.collapse button,
form .row .prefix-round.collapse.breadcrumb-container button,
form .breadcrumb-container .prefix-round.collapse.breadcrumb-container button {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

/* line 457, app/scss/foundation/foundation/components/_forms.scss */
form .row .prefix-round.row.collapse .prefix, form .breadcrumb-container .prefix-round.row.collapse .prefix, form .row .prefix-round.collapse.breadcrumb-container .prefix, form .breadcrumb-container .prefix-round.collapse.breadcrumb-container .prefix {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

/* line 460, app/scss/foundation/foundation/components/_forms.scss */
form .row .postfix-round.row.collapse input, form .breadcrumb-container .postfix-round.row.collapse input, form .row .postfix-round.collapse.breadcrumb-container input, form .breadcrumb-container .postfix-round.collapse.breadcrumb-container input,
form .row .postfix-round.row.collapse textarea,
form .breadcrumb-container .postfix-round.row.collapse textarea,
form .row .postfix-round.collapse.breadcrumb-container textarea,
form .breadcrumb-container .postfix-round.collapse.breadcrumb-container textarea,
form .row .postfix-round.row.collapse select,
form .breadcrumb-container .postfix-round.row.collapse select,
form .row .postfix-round.collapse.breadcrumb-container select,
form .breadcrumb-container .postfix-round.collapse.breadcrumb-container select,
form .row .postfix-round.row.collapse button,
form .breadcrumb-container .postfix-round.row.collapse button,
form .row .postfix-round.collapse.breadcrumb-container button,
form .breadcrumb-container .postfix-round.collapse.breadcrumb-container button {
  border-radius: 0;
  -webkit-border-bottom-left-radius: 1000px;
  -webkit-border-top-left-radius: 1000px;
  border-bottom-left-radius: 1000px;
  border-top-left-radius: 1000px; }

/* line 464, app/scss/foundation/foundation/components/_forms.scss */
form .row .postfix-round.row.collapse .postfix, form .breadcrumb-container .postfix-round.row.collapse .postfix, form .row .postfix-round.collapse.breadcrumb-container .postfix, form .breadcrumb-container .postfix-round.collapse.breadcrumb-container .postfix {
  border-radius: 0;
  -webkit-border-bottom-right-radius: 1000px;
  -webkit-border-top-right-radius: 1000px;
  border-bottom-right-radius: 1000px;
  border-top-right-radius: 1000px; }

/* line 469, app/scss/foundation/foundation/components/_forms.scss */
input[type="submit"] {
  -webkit-appearance: none;
  -moz-appearance: none;
  border-radius: 0; }

/* Respect enforced amount of rows for textarea */
/* line 476, app/scss/foundation/foundation/components/_forms.scss */
textarea[rows] {
  height: auto; }

/* Not allow resize out of parent */
/* line 481, app/scss/foundation/foundation/components/_forms.scss */
textarea {
  max-width: 100%; }

/* line 486, app/scss/foundation/foundation/components/_forms.scss */
::-webkit-input-placeholder {
  color: #666666; }

/* line 490, app/scss/foundation/foundation/components/_forms.scss */
:-moz-placeholder {
  /* Firefox 18- */
  color: #666666; }

/* line 494, app/scss/foundation/foundation/components/_forms.scss */
::-moz-placeholder {
  /* Firefox 19+ */
  color: #666666; }

/* line 498, app/scss/foundation/foundation/components/_forms.scss */
:-ms-input-placeholder {
  color: #666666; }

/* Add height value for select elements to match text input height */
/* line 504, app/scss/foundation/foundation/components/_forms.scss */
select {
  -webkit-appearance: none !important;
  -moz-appearance: none !important;
  background-color: #FAFAFA;
  border-radius: 0;
  background-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZlcnNpb249IjEuMSIgeD0iMTJweCIgeT0iMHB4IiB3aWR0aD0iMjRweCIgaGVpZ2h0PSIzcHgiIHZpZXdCb3g9IjAgMCA2IDMiIGVuYWJsZS1iYWNrZ3JvdW5kPSJuZXcgMCAwIDYgMyIgeG1sOnNwYWNlPSJwcmVzZXJ2ZSI+PHBvbHlnb24gcG9pbnRzPSI1Ljk5MiwwIDIuOTkyLDMgLTAuMDA4LDAgIi8+PC9zdmc+");
  background-position: 100% center;
  background-repeat: no-repeat;
  border-style: solid;
  border-width: 1px;
  border-color: #cccccc;
  color: rgba(0, 0, 0, 0.75);
  font-family: inherit;
  font-size: 0.875rem;
  line-height: normal;
  padding: 0.5rem;
  border-radius: 0;
  height: 2.3125rem; }
  /* line 335, app/scss/foundation/foundation/components/_forms.scss */
  select::-ms-expand {
    display: none; }
  /* line 358, app/scss/foundation/foundation/components/_forms.scss */
  select.radius {
    border-radius: 3px; }
  /* line 359, app/scss/foundation/foundation/components/_forms.scss */
  select:focus {
    background-color: #f3f3f3;
    border-color: #999999; }
  /* line 364, app/scss/foundation/foundation/components/_forms.scss */
  select:disabled {
    background-color: #DDDDDD;
    cursor: default; }
  /* line 507, app/scss/foundation/foundation/components/_forms.scss */
  select[multiple] {
    height: auto; }

/* Adjust margin for form elements below */
/* line 513, app/scss/foundation/foundation/components/_forms.scss */
input[type="file"],
input[type="checkbox"],
input[type="radio"],
select {
  margin: 0 0 1rem 0; }

/* line 520, app/scss/foundation/foundation/components/_forms.scss */
input[type="checkbox"] + label,
input[type="radio"] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }

/* Normalize file input width */
/* line 530, app/scss/foundation/foundation/components/_forms.scss */
input[type="file"] {
  width: 100%; }

/* HTML5 Number spinners settings */
/* We add basic fieldset styling */
/* line 544, app/scss/foundation/foundation/components/_forms.scss */
fieldset {
  border: 1px solid #DDDDDD;
  margin: 1.125rem 0;
  padding: 1.25rem; }
  /* line 278, app/scss/foundation/foundation/components/_forms.scss */
  fieldset legend {
    font-weight: bold;
    margin: 0;
    margin-left: -0.1875rem;
    padding: 0 0.1875rem; }

/* Error Handling */
/* line 551, app/scss/foundation/foundation/components/_forms.scss */
[data-abide] .error small.error, [data-abide] .error span.error, [data-abide] span.error, [data-abide] small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

/* line 554, app/scss/foundation/foundation/components/_forms.scss */
[data-abide] span.error, [data-abide] small.error {
  display: none; }

/* line 557, app/scss/foundation/foundation/components/_forms.scss */
span.error, small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

/* line 562, app/scss/foundation/foundation/components/_forms.scss */
.error input,
.error textarea,
.error select {
  margin-bottom: 0; }

/* line 568, app/scss/foundation/foundation/components/_forms.scss */
.error input[type="checkbox"],
.error input[type="radio"] {
  margin-bottom: 1rem; }

/* line 573, app/scss/foundation/foundation/components/_forms.scss */
.error label,
.error label.error {
  color: #f04124; }

/* line 578, app/scss/foundation/foundation/components/_forms.scss */
.error small.error {
  display: block;
  font-size: 0.75rem;
  font-style: italic;
  font-weight: normal;
  margin-bottom: 1rem;
  margin-top: -1px;
  padding: 0.375rem 0.5625rem 0.5625rem;
  background: #f04124;
  color: #FFFFFF; }

/* line 583, app/scss/foundation/foundation/components/_forms.scss */
.error > label > small {
  background: transparent;
  color: #676767;
  display: inline;
  font-size: 60%;
  font-style: normal;
  margin: 0;
  padding: 0;
  text-transform: capitalize; }

/* line 595, app/scss/foundation/foundation/components/_forms.scss */
.error span.error-message {
  display: block; }

/* line 600, app/scss/foundation/foundation/components/_forms.scss */
input.error,
textarea.error,
select.error {
  margin-bottom: 0; }

/* line 605, app/scss/foundation/foundation/components/_forms.scss */
label.error {
  color: #f04124; }

/* line 87, app/scss/partials/foundation_components/_forms.scss */
select {
  margin-bottom: 0; }

/* line 90, app/scss/partials/foundation_components/_forms.scss */
.FormWrapper {
  background-color: transparent;
  margin: 1.5625rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 90, app/scss/partials/foundation_components/_forms.scss */
    .FormWrapper {
      margin: 1.5625rem; } }

/* line 97, app/scss/partials/foundation_components/_forms.scss */
.MessageForm {
  padding: 0.9375rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 97, app/scss/partials/foundation_components/_forms.scss */
    .MessageForm {
      padding: 0.9375rem 1.5625rem; } }
  /* line 102, app/scss/partials/foundation_components/_forms.scss */
  .MessageForm .H {
    font-size: 1.5rem;
    line-height: 1.5rem; }

/* line 108, app/scss/partials/foundation_components/_forms.scss */
.DataListWrap textarea, .CommentFormWrap textarea {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  font-weight: 300;
  border-radius: 0.1875rem;
  padding: 0.9375rem; }

/* line 118, app/scss/partials/foundation_components/_forms.scss */
.TextBoxWrapper .InputBox, .TextBoxWrapper textarea, .TextBoxWrapper .token-input-list {
  border-radius: 0.1875rem; }

/* line 123, app/scss/partials/foundation_components/_forms.scss */
.P .Preview, .Preview {
  border-radius: 0.1875rem;
  border: 1px solid;
  padding: 0.5rem;
  position: relative; }
  /* line 128, app/scss/partials/foundation_components/_forms.scss */
  .P .Preview .Message, .Preview .Message {
    margin: 0; }

/* line 133, app/scss/partials/foundation_components/_forms.scss */
.editor-help-text a {
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid transparent; }

/* line 137, app/scss/partials/foundation_components/_forms.scss */
.bbcode_url {
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid transparent; }

/* line 142, app/scss/partials/foundation_components/_forms.scss */
.FormWrapper {
  background: none;
  padding: 0; }
  /* line 145, app/scss/partials/foundation_components/_forms.scss */
  .FormWrapper .editor-help-text,
  .FormWrapper .editor {
    padding-bottom: 0.625rem; }
  /* line 149, app/scss/partials/foundation_components/_forms.scss */
  .FormWrapper .editor-upload-previews {
    padding: 0; }
  /* line 152, app/scss/partials/foundation_components/_forms.scss */
  .FormWrapper .editor-help-text {
    font-size: 0.8125rem;
    line-height: 1.375rem; }
    /* line 155, app/scss/partials/foundation_components/_forms.scss */
    .FormWrapper .editor-help-text a {
      padding-bottom: 0.1875rem;
      border-bottom: 1px solid transparent; }

/* line 166, app/scss/partials/foundation_components/_forms.scss */
.CommentForm .Form-Header .Author .PhotoWrap {
  margin-left: 0; }

/* line 171, app/scss/partials/foundation_components/_forms.scss */
.CommentForm .CommentLink {
  border-radius: 0.1875rem;
  margin: 0 1.5625rem; }

/* line 175, app/scss/partials/foundation_components/_forms.scss */
.CommentForm .FormWrapper {
  padding: 0.625rem 0;
  margin-left: 0;
  margin-right: 0; }

/* line 185, app/scss/partials/foundation_components/_forms.scss */
.FormWrapper .Messages ul, .FormWrapper .Errors ul {
  margin-left: 0; }

/* line 194, app/scss/partials/foundation_components/_forms.scss */
.Profile .FormWrapper {
  margin: 0; }

/* line 202, app/scss/partials/foundation_components/_forms.scss */
.connect .Connect #ConnectPassword .InputBox {
  border-radius: 0.25rem; }

/* line 205, app/scss/partials/foundation_components/_forms.scss */
.connect .Connect #ConnectPassword label {
  font-size: 1.125rem; }

/* line 208, app/scss/partials/foundation_components/_forms.scss */
.connect .Connect #ConnectPassword .FinePrint {
  font-size: 0.875rem;
  padding-bottom: 0.3125rem; }

/* line 347, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar {
  display: inline-block;
  font-size: 0;
  width: 100%;
  background: #222222; }
  /* line 45, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar > * {
    display: block;
    float: left;
    font-size: 1rem;
    margin: 0 auto;
    padding: 1.25rem;
    text-align: center;
    width: 25%; }
    /* line 54, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > * i, .icon-bar > * img {
      display: block;
      margin: 0 auto; }
      /* line 58, app/scss/foundation/foundation/components/_icon-bar.scss */
      .icon-bar > * i + label, .icon-bar > * img + label {
        margin-top: .0625rem; }
    /* line 63, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > * i {
      font-size: 1.875rem;
      vertical-align: middle; }
    /* line 68, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  /* line 76, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.label-right > * i, .icon-bar.label-right > * img {
    display: inline-block;
    margin: 0 .0625rem 0 0; }
    /* line 80, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.label-right > * i + label, .icon-bar.label-right > * img + label {
      margin-top: 0; }
  /* line 85, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.label-right > * label {
    display: inline-block; }
  /* line 88, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.vertical.label-right > * {
    text-align: left; }
  /* line 92, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.vertical, .icon-bar.small-vertical {
    height: 100%;
    width: auto; }
    /* line 96, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.vertical .item, .icon-bar.small-vertical .item {
      float: none;
      margin: auto;
      width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 103, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.medium-vertical {
      height: 100%;
      width: auto; }
      /* line 108, app/scss/foundation/foundation/components/_icon-bar.scss */
      .icon-bar.medium-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 115, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.large-vertical {
      height: 100%;
      width: auto; }
      /* line 120, app/scss/foundation/foundation/components/_icon-bar.scss */
      .icon-bar.large-vertical .item {
        float: none;
        margin: auto;
        width: auto; } }
  /* line 137, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar > * {
    font-size: 1rem;
    padding: 1.25rem; }
    /* line 143, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > * i + label, .icon-bar > * img + label {
      margin-top: .0625rem;
      font-size: 1rem; }
    /* line 149, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > * i {
      font-size: 1.875rem; }
    /* line 153, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > * img {
      height: 1.875rem;
      width: 1.875rem; }
  /* line 177, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar > * label {
    color: #FFFFFF; }
  /* line 179, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar > * i {
    color: #FFFFFF; }
  /* line 182, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar > a:hover {
    background: #008CBA; }
    /* line 186, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > a:hover label {
      color: #FFFFFF; }
    /* line 188, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > a:hover i {
      color: #FFFFFF; }
  /* line 191, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar > a.active {
    background: #008CBA; }
    /* line 195, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > a.active label {
      color: #FFFFFF; }
    /* line 197, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar > a.active i {
      color: #FFFFFF; }
  /* line 201, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar .item.disabled {
    cursor: not-allowed;
    opacity: 0.7;
    pointer-events: none; }
    /* line 205, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar .item.disabled > * {
      opacity: 0.7;
      cursor: not-allowed; }
  /* line 246, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.two-up .item {
    width: 50%; }
  /* line 247, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 248, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.two-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 253, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.two-up.large-vertical .item {
      width: auto; } }
  /* line 260, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.three-up .item {
    width: 33.3333%; }
  /* line 261, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 262, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.three-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 267, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.three-up.large-vertical .item {
      width: auto; } }
  /* line 274, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.four-up .item {
    width: 25%; }
  /* line 275, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 276, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.four-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 281, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.four-up.large-vertical .item {
      width: auto; } }
  /* line 288, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.five-up .item {
    width: 20%; }
  /* line 289, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 290, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.five-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 295, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.five-up.large-vertical .item {
      width: auto; } }
  /* line 302, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.six-up .item {
    width: 16.66667%; }
  /* line 303, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 304, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.six-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 309, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.six-up.large-vertical .item {
      width: auto; } }
  /* line 316, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.seven-up .item {
    width: 14.28571%; }
  /* line 317, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 318, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.seven-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 323, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.seven-up.large-vertical .item {
      width: auto; } }
  /* line 330, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.eight-up .item {
    width: 12.5%; }
  /* line 331, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
    width: auto; }
  @media only screen and (min-width: 768px) {
    /* line 332, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.eight-up.medium-vertical .item {
      width: auto; } }
  @media only screen and (min-width: 64.0625em) {
    /* line 337, app/scss/foundation/foundation/components/_icon-bar.scss */
    .icon-bar.eight-up.large-vertical .item {
      width: auto; } }

/* line 362, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.two-up .item {
  width: 50%; }

/* line 363, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.two-up.vertical .item, .icon-bar.two-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 768px) {
  /* line 364, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.two-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 369, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.two-up.large-vertical .item {
    width: auto; } }

/* line 376, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.three-up .item {
  width: 33.3333%; }

/* line 377, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.three-up.vertical .item, .icon-bar.three-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 768px) {
  /* line 378, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.three-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 383, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.three-up.large-vertical .item {
    width: auto; } }

/* line 390, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.four-up .item {
  width: 25%; }

/* line 391, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.four-up.vertical .item, .icon-bar.four-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 768px) {
  /* line 392, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.four-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 397, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.four-up.large-vertical .item {
    width: auto; } }

/* line 404, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.five-up .item {
  width: 20%; }

/* line 405, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.five-up.vertical .item, .icon-bar.five-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 768px) {
  /* line 406, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.five-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 411, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.five-up.large-vertical .item {
    width: auto; } }

/* line 418, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.six-up .item {
  width: 16.66667%; }

/* line 419, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.six-up.vertical .item, .icon-bar.six-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 768px) {
  /* line 420, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.six-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 425, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.six-up.large-vertical .item {
    width: auto; } }

/* line 432, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.seven-up .item {
  width: 14.28571%; }

/* line 433, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.seven-up.vertical .item, .icon-bar.seven-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 768px) {
  /* line 434, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.seven-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 439, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.seven-up.large-vertical .item {
    width: auto; } }

/* line 446, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.eight-up .item {
  width: 12.5%; }

/* line 447, app/scss/foundation/foundation/components/_icon-bar.scss */
.icon-bar.eight-up.vertical .item, .icon-bar.eight-up.small-vertical .item {
  width: auto; }

@media only screen and (min-width: 768px) {
  /* line 448, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.eight-up.medium-vertical .item {
    width: auto; } }

@media only screen and (min-width: 64.0625em) {
  /* line 453, app/scss/foundation/foundation/components/_icon-bar.scss */
  .icon-bar.eight-up.large-vertical .item {
    width: auto; } }

/* line 54, app/scss/foundation/foundation/components/_inline-lists.scss */
.inline-list {
  list-style: none;
  margin-top: 0;
  margin-bottom: 1.0625rem;
  margin-left: -1.375rem;
  margin-right: 0;
  overflow: hidden;
  padding: 0; }
  /* line 43, app/scss/foundation/foundation/components/_inline-lists.scss */
  .inline-list > li {
    display: block;
    float: left;
    list-style: none;
    margin-left: 1.375rem; }
    /* line 48, app/scss/foundation/foundation/components/_inline-lists.scss */
    .inline-list > li > * {
      display: block; }

/* Foundation Joyride */
/* line 48, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-list {
  display: none; }

/* Default styles for the container */
/* line 51, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-tip-guide {
  background: #222222;
  color: #FFFFFF;
  display: none;
  font-family: inherit;
  font-weight: normal;
  position: absolute;
  top: 0;
  width: 95%;
  z-index: 103;
  left: 2.5%; }

/* line 64, app/scss/foundation/foundation/components/_joyride.scss */
.lt-ie9 .joyride-tip-guide {
  margin-left: -400px;
  max-width: 800px;
  left: 50%; }

/* line 70, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-content-wrapper {
  padding: 1.125rem 1.25rem 1.5rem;
  width: 100%; }
  /* line 74, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-content-wrapper .button {
    margin-bottom: 0 !important; }
  /* line 76, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-content-wrapper .joyride-prev-tip {
    margin-right: 10px; }

/* Add a little css triangle pip, older browser just miss out on the fanciness of it */
/* line 81, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-tip-guide .joyride-nub {
  border: 10px solid #222222;
  display: block;
  height: 0;
  position: absolute;
  width: 0;
  left: 22px; }
  /* line 89, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-tip-guide .joyride-nub.top {
    border-color: #222222;
    border-top-color: transparent !important;
    border-top-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    top: -20px; }
  /* line 97, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-tip-guide .joyride-nub.bottom {
    border-color: #222222 !important;
    border-bottom-color: transparent !important;
    border-bottom-style: solid;
    border-left-color: transparent !important;
    border-right-color: transparent !important;
    bottom: -20px; }
  /* line 106, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-tip-guide .joyride-nub.right {
    right: -20px; }
  /* line 107, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-tip-guide .joyride-nub.left {
    left: -20px; }

/* Typography */
/* line 112, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-tip-guide h1,
.joyride-tip-guide h2,
.joyride-tip-guide h3,
.joyride-tip-guide h4,
.joyride-tip-guide h5,
.joyride-tip-guide h6 {
  color: #FFFFFF;
  font-weight: bold;
  line-height: 1.25;
  margin: 0; }

/* line 123, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-tip-guide p {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0 0 1.125rem 0; }

/* line 129, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-timer-indicator-wrap {
  border: solid 1px #414141;
  bottom: 1rem;
  height: 3px;
  position: absolute;
  width: 50px;
  right: 1.0625rem; }

/* line 137, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-timer-indicator {
  background: #666666;
  display: block;
  height: inherit;
  width: 0; }

/* line 144, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-close-tip {
  color: #777777 !important;
  font-size: 24px;
  font-weight: normal;
  line-height: .5 !important;
  position: absolute;
  text-decoration: none;
  top: 10px;
  right: 12px; }
  /* line 154, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-close-tip:hover, .joyride-close-tip:focus {
    color: #EEEEEE !important; }

/* line 158, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-modal-bg {
  background: rgba(0, 0, 0, 0.5);
  cursor: pointer;
  display: none;
  height: 100%;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100;
  left: 0; }

/* line 170, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-expose-wrapper {
  background-color: #FFFFFF;
  border-radius: 3px;
  -webkit-box-shadow: 0 0 15px #FFFFFF;
          box-shadow: 0 0 15px #FFFFFF;
  position: absolute;
  z-index: 102; }

/* line 178, app/scss/foundation/foundation/components/_joyride.scss */
.joyride-expose-cover {
  background: transparent;
  border-radius: 3px;
  left: 0;
  position: absolute;
  top: 0;
  z-index: 9999; }

/* Styles for screens that are at least 768px; */
@media only screen {
  /* line 190, app/scss/foundation/foundation/components/_joyride.scss */
  .joyride-tip-guide {
    width: 300px;
    left: inherit; }
    /* line 192, app/scss/foundation/foundation/components/_joyride.scss */
    .joyride-tip-guide .joyride-nub.bottom {
      border-color: #222222 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-right-color: transparent !important;
      bottom: -20px; }
    /* line 199, app/scss/foundation/foundation/components/_joyride.scss */
    .joyride-tip-guide .joyride-nub.right {
      border-color: #222222 !important;
      border-right-color: transparent !important;
      border-bottom-color: transparent !important;
      border-top-color: transparent !important;
      left: auto;
      right: -20px;
      top: 22px; }
    /* line 207, app/scss/foundation/foundation/components/_joyride.scss */
    .joyride-tip-guide .joyride-nub.left {
      border-color: #222222 !important;
      border-bottom-color: transparent !important;
      border-left-color: transparent !important;
      border-top-color: transparent !important;
      left: -20px;
      right: auto;
      top: 22px; } }

/* line 54, app/scss/foundation/foundation/components/_keystrokes.scss */
.keystroke,
kbd {
  background-color: #ededed;
  border-color: #dddddd;
  color: #222222;
  border-style: solid;
  border-width: 1px;
  font-family: "Consolas", "Menlo", "Courier", monospace;
  font-size: inherit;
  margin: 0;
  padding: 0.125rem 0.25rem 0;
  border-radius: 3px; }

/* line 91, app/scss/foundation/foundation/components/_labels.scss */
.label {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem 0.25rem;
  font-size: 0.6875rem;
  background-color: #008CBA;
  color: #FFFFFF; }
  /* line 96, app/scss/foundation/foundation/components/_labels.scss */
  .label.radius {
    border-radius: 3px; }
  /* line 97, app/scss/foundation/foundation/components/_labels.scss */
  .label.round {
    border-radius: 1000px; }
  /* line 99, app/scss/foundation/foundation/components/_labels.scss */
  .label.alert {
    background-color: #f04124;
    color: #FFFFFF; }
  /* line 100, app/scss/foundation/foundation/components/_labels.scss */
  .label.warning {
    background-color: #f08a24;
    color: #FFFFFF; }
  /* line 101, app/scss/foundation/foundation/components/_labels.scss */
  .label.success {
    background-color: #43AC6A;
    color: #FFFFFF; }
  /* line 102, app/scss/foundation/foundation/components/_labels.scss */
  .label.secondary {
    background-color: #e7e7e7;
    color: #222222; }
  /* line 103, app/scss/foundation/foundation/components/_labels.scss */
  .label.info {
    background-color: #a0d3e8;
    color: #222222; }

/* line 34, app/scss/partials/foundation_components/_labels.scss */
.Tag,
.Count,
.Alert {
  display: inline-block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  font-weight: normal;
  line-height: 1;
  margin-bottom: auto;
  position: relative;
  text-align: center;
  text-decoration: none;
  white-space: nowrap;
  padding: 0.25rem 0.5rem;
  font-size: 0.6875rem; }

/* line 41, app/scss/partials/foundation_components/_labels.scss */
.Tag {
  background-color: #008CBA;
  color: #FFFFFF;
  font-size: 0.9375rem;
  line-height: 1.375rem; }

/* line 47, app/scss/partials/foundation_components/_labels.scss */
.Count {
  background-color: #008CBA;
  color: #FFFFFF;
  border-radius: 1000px; }

/* line 51, app/scss/partials/foundation_components/_labels.scss */
.Alert {
  background-color: #f04124;
  color: #FFFFFF;
  border-radius: 1000px; }

/* line 55, app/scss/partials/foundation_components/_labels.scss */
.Tag-Announcement {
  background-color: #43AC6A;
  color: #FFFFFF; }

/* line 59, app/scss/partials/foundation_components/_labels.scss */
.Tag-Closed {
  background-color: #f04124;
  color: #FFFFFF; }

/* line 18, app/scss/foundation/foundation/components/_magellan.scss */
[data-magellan-expedition], [data-magellan-expedition-clone] {
  background: #FFFFFF;
  min-width: 100%;
  padding: 10px;
  z-index: 50; }
  /* line 24, app/scss/foundation/foundation/components/_magellan.scss */
  [data-magellan-expedition] .sub-nav, [data-magellan-expedition-clone] .sub-nav {
    margin-bottom: 0; }
    /* line 26, app/scss/foundation/foundation/components/_magellan.scss */
    [data-magellan-expedition] .sub-nav dd, [data-magellan-expedition-clone] .sub-nav dd {
      margin-bottom: 0; }
    /* line 27, app/scss/foundation/foundation/components/_magellan.scss */
    [data-magellan-expedition] .sub-nav a, [data-magellan-expedition-clone] .sub-nav a {
      line-height: 1.8em; }

@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes rotate {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg); }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg); } }

/* Orbit Graceful Loading */
/* line 81, app/scss/foundation/foundation/components/_orbit.scss */
.slideshow-wrapper {
  position: relative; }
  /* line 84, app/scss/foundation/foundation/components/_orbit.scss */
  .slideshow-wrapper ul {
    list-style-type: none;
    margin: 0; }
    /* line 90, app/scss/foundation/foundation/components/_orbit.scss */
    .slideshow-wrapper ul li,
    .slideshow-wrapper ul li .orbit-caption {
      display: none; }
    /* line 94, app/scss/foundation/foundation/components/_orbit.scss */
    .slideshow-wrapper ul li:first-child {
      display: block; }
  /* line 97, app/scss/foundation/foundation/components/_orbit.scss */
  .slideshow-wrapper .orbit-container {
    background-color: transparent; }
    /* line 100, app/scss/foundation/foundation/components/_orbit.scss */
    .slideshow-wrapper .orbit-container li {
      display: block; }
      /* line 102, app/scss/foundation/foundation/components/_orbit.scss */
      .slideshow-wrapper .orbit-container li .orbit-caption {
        display: block; }
    /* line 104, app/scss/foundation/foundation/components/_orbit.scss */
    .slideshow-wrapper .orbit-container .orbit-bullets li {
      display: inline-block; }
  /* line 110, app/scss/foundation/foundation/components/_orbit.scss */
  .slideshow-wrapper .preloader {
    border-radius: 1000px;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite;
    -webkit-animation-name: rotate;
            animation-name: rotate;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    border-color: #414141 #FFFFFF;
    border: solid 3px;
    display: block;
    height: 40px;
    left: 50%;
    margin-left: -20px;
    margin-top: -20px;
    position: absolute;
    top: 50%;
    width: 40px; }

/* line 130, app/scss/foundation/foundation/components/_orbit.scss */
.orbit-container {
  background: none;
  overflow: hidden;
  position: relative;
  width: 100%; }
  /* line 136, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-container .orbit-slides-container {
    list-style: none;
    margin: 0;
    padding: 0;
    position: relative;
    -webkit-transform: translateZ(0);
    transform: translateZ(0); }
    /* line 149, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-slides-container img {
      display: block;
      max-width: 100%; }
    /* line 151, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-slides-container > * {
      position: absolute;
      top: 0;
      width: 100%;
      margin-left: 100%; }
      /* line 162, app/scss/foundation/foundation/components/_orbit.scss */
      .orbit-container .orbit-slides-container > *:first-child {
        margin-left: 0; }
      /* line 171, app/scss/foundation/foundation/components/_orbit.scss */
      .orbit-container .orbit-slides-container > * .orbit-caption {
        bottom: 0;
        position: absolute;
        background-color: rgba(51, 51, 51, 0.8);
        color: #FFFFFF;
        font-size: 0.875rem;
        padding: 0.625rem 0.875rem;
        width: 100%; }
  /* line 188, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-container .orbit-slide-number {
    left: 10px;
    background: rgba(0, 0, 0, 0);
    color: #FFFFFF;
    font-size: 12px;
    position: absolute;
    top: 10px;
    z-index: 10; }
    /* line 194, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-slide-number span {
      font-weight: 700;
      padding: 0.3125rem; }
  /* line 199, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-container .orbit-timer {
    position: absolute;
    top: 12px;
    right: 10px;
    height: 6px;
    width: 100px;
    z-index: 10; }
    /* line 209, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-timer .orbit-progress {
      height: 3px;
      background-color: rgba(255, 255, 255, 0.3);
      display: block;
      width: 0;
      position: relative;
      right: 20px;
      top: 5px; }
    /* line 223, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-timer > span {
      border: solid 4px #FFFFFF;
      border-bottom: none;
      border-top: none;
      display: none;
      height: 14px;
      position: absolute;
      top: 0;
      width: 11px;
      right: 0; }
    /* line 237, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-timer.paused > span {
      top: 0;
      width: 11px;
      height: 14px;
      border: inset 8px;
      border-left-style: solid;
      border-color: transparent;
      border-left-color: #FFFFFF;
      right: -4px; }
      /* line 247, app/scss/foundation/foundation/components/_orbit.scss */
      .orbit-container .orbit-timer.paused > span.dark {
        border-left-color: #222222; }
  /* line 256, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-container:hover .orbit-timer > span {
    display: block; }
  /* line 259, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-container .orbit-prev,
  .orbit-container .orbit-next {
    background-color: transparent;
    color: white;
    height: 60px;
    line-height: 50px;
    margin-top: -25px;
    position: absolute;
    text-indent: -9999px !important;
    top: 45%;
    width: 36px;
    z-index: 10; }
    /* line 272, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-prev:hover,
    .orbit-container .orbit-next:hover {
      background-color: rgba(0, 0, 0, 0.3); }
    /* line 276, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-prev > span,
    .orbit-container .orbit-next > span {
      border: inset 10px;
      display: block;
      height: 0;
      margin-top: -10px;
      position: absolute;
      top: 50%;
      width: 0; }
  /* line 286, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-container .orbit-prev {
    left: 0; }
    /* line 287, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-prev > span {
      border-right-style: solid;
      border-color: transparent;
      border-right-color: #FFFFFF; }
    /* line 292, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-prev:hover > span {
      border-right-color: #FFFFFF; }
  /* line 296, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-container .orbit-next {
    right: 0; }
    /* line 297, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-next > span {
      border-color: transparent;
      border-left-style: solid;
      border-left-color: #FFFFFF;
      left: 50%;
      margin-left: -4px; }
    /* line 304, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-container .orbit-next:hover > span {
      border-left-color: #FFFFFF; }

/* line 310, app/scss/foundation/foundation/components/_orbit.scss */
.orbit-bullets-container {
  text-align: center; }

/* line 311, app/scss/foundation/foundation/components/_orbit.scss */
.orbit-bullets {
  display: block;
  float: none;
  margin: 0 auto 30px auto;
  overflow: hidden;
  position: relative;
  text-align: center;
  top: 10px; }
  /* line 320, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-bullets li {
    background: #CCCCCC;
    cursor: pointer;
    display: inline-block;
    float: none;
    height: 0.5625rem;
    margin-right: 6px;
    width: 0.5625rem;
    border-radius: 1000px; }
    /* line 332, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-bullets li.active {
      background: #999999; }
    /* line 336, app/scss/foundation/foundation/components/_orbit.scss */
    .orbit-bullets li:last-child {
      margin-right: 0; }

/* line 342, app/scss/foundation/foundation/components/_orbit.scss */
.touch .orbit-container .orbit-prev,
.touch .orbit-container .orbit-next {
  display: none; }

/* line 346, app/scss/foundation/foundation/components/_orbit.scss */
.touch .orbit-bullets {
  display: none; }

@media only screen and (min-width: 768px) {
  /* line 354, app/scss/foundation/foundation/components/_orbit.scss */
  .touch .orbit-container .orbit-prev,
  .touch .orbit-container .orbit-next {
    display: inherit; }
  /* line 358, app/scss/foundation/foundation/components/_orbit.scss */
  .touch .orbit-bullets {
    display: block; } }

@media only screen and (max-width: 40em) {
  /* line 365, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-stack-on-small .orbit-slides-container {
    height: auto !important; }
  /* line 366, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-stack-on-small .orbit-slides-container > * {
    margin: 0  !important;
    opacity: 1 !important;
    position: relative; }
  /* line 372, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-stack-on-small .orbit-slide-number {
    display: none; }
  /* line 378, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-timer {
    display: none; }
  /* line 381, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-next, .orbit-prev {
    display: none; }
  /* line 384, app/scss/foundation/foundation/components/_orbit.scss */
  .orbit-bullets {
    display: none; } }

/* line 150, app/scss/foundation/foundation/components/_pagination.scss */
ul.pagination {
  display: block;
  margin-left: -0.3125rem;
  min-height: 1.5rem; }
  /* line 105, app/scss/foundation/foundation/components/_pagination.scss */
  ul.pagination li {
    color: #222222;
    font-size: 0.875rem;
    height: 1.5rem;
    margin-left: 0.3125rem; }
    /* line 111, app/scss/foundation/foundation/components/_pagination.scss */
    ul.pagination li a, ul.pagination li button {
      border-radius: 3px;
      -webkit-transition: background-color 300ms ease-out;
      transition: background-color 300ms ease-out;
      background: none;
      color: #999999;
      display: block;
      font-size: 1em;
      font-weight: normal;
      line-height: inherit;
      padding: 0.0625rem 0.625rem 0.0625rem; }
    /* line 123, app/scss/foundation/foundation/components/_pagination.scss */
    ul.pagination li:hover a,
    ul.pagination li a:focus,
    ul.pagination li:hover button,
    ul.pagination li button:focus {
      background: #e6e6e6; }
    /* line 51, app/scss/foundation/foundation/components/_pagination.scss */
    ul.pagination li.unavailable a, ul.pagination li.unavailable button {
      cursor: default;
      color: #999999;
      pointer-events: none; }
    /* line 56, app/scss/foundation/foundation/components/_pagination.scss */
    ul.pagination li.unavailable:hover a,
    ul.pagination li.unavailable a:focus,
    ul.pagination li.unavailable:hover button,
    ul.pagination li.unavailable button:focus {
      background: transparent; }
    /* line 69, app/scss/foundation/foundation/components/_pagination.scss */
    ul.pagination li.current a, ul.pagination li.current button {
      background: #008CBA;
      color: #FFFFFF;
      cursor: default;
      font-weight: bold; }
      /* line 75, app/scss/foundation/foundation/components/_pagination.scss */
      ul.pagination li.current a:hover, ul.pagination li.current a:focus, ul.pagination li.current button:hover, ul.pagination li.current button:focus {
        background: #008CBA; }
  /* line 137, app/scss/foundation/foundation/components/_pagination.scss */
  ul.pagination li {
    display: block;
    float: left; }

/* Pagination centred wrapper */
/* line 155, app/scss/foundation/foundation/components/_pagination.scss */
.pagination-centered {
  text-align: center; }
  /* line 137, app/scss/foundation/foundation/components/_pagination.scss */
  .pagination-centered ul.pagination li {
    display: inline-block;
    float: none; }

/* line 52, app/scss/partials/foundation_components/_pagination.scss */
.Pager {
  display: block;
  float: right;
  height: 1.5rem;
  margin-left: -0.3125rem;
  margin-bottom: 1.25rem;
  font-size: 1rem;
  line-height: 1.6;
  padding-right: 0.9375rem; }
  /* line 62, app/scss/partials/foundation_components/_pagination.scss */
  .Pager > a,
  .Pager > span {
    display: block;
    float: left;
    height: 1.5rem;
    padding: 0.0625rem 0.625rem 0.0625rem;
    margin-left: 0.3125rem;
    font-size: 0.875rem; }
  /* line 72, app/scss/partials/foundation_components/_pagination.scss */
  .Pager > a {
    color: #999999;
    border-radius: 3px; }
  /* line 82, app/scss/partials/foundation_components/_pagination.scss */
  .Pager > span {
    cursor: default;
    color: #999999; }
  /* line 87, app/scss/partials/foundation_components/_pagination.scss */
  .Pager .Highlight {
    font-weight: bold;
    color: #FFFFFF;
    cursor: default; }

/* line 239, app/scss/foundation/foundation/components/_global.scss */
.PageControls:before, .PageControls:after {
  content: " ";
  display: table; }

/* line 240, app/scss/foundation/foundation/components/_global.scss */
.PageControls:after {
  clear: both; }

/* line 105, app/scss/partials/foundation_components/_pagination.scss */
.Search .PageControls {
  border-top: 1px solid;
  padding-top: 1.25rem;
  margin-top: 0; }

/* Panels */
/* line 86, app/scss/foundation/foundation/components/_panels.scss */
.panel {
  border-style: solid;
  border-width: 1px;
  border-color: #d8d8d8;
  margin-bottom: 1.25rem;
  padding: 1.25rem;
  background: #f2f2f2;
  color: #222222; }
  /* line 61, app/scss/foundation/foundation/components/_panels.scss */
  .panel > :first-child {
    margin-top: 0; }
  /* line 62, app/scss/foundation/foundation/components/_panels.scss */
  .panel > :last-child {
    margin-bottom: 0; }
  /* line 67, app/scss/foundation/foundation/components/_panels.scss */
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6, .panel p, .panel li, .panel dl {
    color: #222222; }
  /* line 74, app/scss/foundation/foundation/components/_panels.scss */
  .panel h1, .panel h2, .panel h3, .panel h4, .panel h5, .panel h6 {
    line-height: 1;
    margin-bottom: 0.625rem; }
    /* line 76, app/scss/foundation/foundation/components/_panels.scss */
    .panel h1.subheader, .panel h2.subheader, .panel h3.subheader, .panel h4.subheader, .panel h5.subheader, .panel h6.subheader {
      line-height: 1.4; }
  /* line 88, app/scss/foundation/foundation/components/_panels.scss */
  .panel.callout {
    border-style: solid;
    border-width: 1px;
    border-color: #d8d8d8;
    margin-bottom: 1.25rem;
    padding: 1.25rem;
    background: #ecfaff;
    color: #222222; }
    /* line 61, app/scss/foundation/foundation/components/_panels.scss */
    .panel.callout > :first-child {
      margin-top: 0; }
    /* line 62, app/scss/foundation/foundation/components/_panels.scss */
    .panel.callout > :last-child {
      margin-bottom: 0; }
    /* line 67, app/scss/foundation/foundation/components/_panels.scss */
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6, .panel.callout p, .panel.callout li, .panel.callout dl {
      color: #222222; }
    /* line 74, app/scss/foundation/foundation/components/_panels.scss */
    .panel.callout h1, .panel.callout h2, .panel.callout h3, .panel.callout h4, .panel.callout h5, .panel.callout h6 {
      line-height: 1;
      margin-bottom: 0.625rem; }
      /* line 76, app/scss/foundation/foundation/components/_panels.scss */
      .panel.callout h1.subheader, .panel.callout h2.subheader, .panel.callout h3.subheader, .panel.callout h4.subheader, .panel.callout h5.subheader, .panel.callout h6.subheader {
        line-height: 1.4; }
    /* line 90, app/scss/foundation/foundation/components/_panels.scss */
    .panel.callout a:not(.button) {
      color: #008CBA; }
      /* line 93, app/scss/foundation/foundation/components/_panels.scss */
      .panel.callout a:not(.button):hover, .panel.callout a:not(.button):focus {
        color: #0078a0; }
  /* line 100, app/scss/foundation/foundation/components/_panels.scss */
  .panel.radius {
    border-radius: 3px; }

/* Pricing Tables */
/* line 139, app/scss/foundation/foundation/components/_pricing-tables.scss */
.pricing-table {
  border: solid 1px #DDDDDD;
  margin-left: 0;
  margin-bottom: 1.25rem; }
  /* line 68, app/scss/foundation/foundation/components/_pricing-tables.scss */
  .pricing-table * {
    list-style: none;
    line-height: 1; }
  /* line 142, app/scss/foundation/foundation/components/_pricing-tables.scss */
  .pricing-table .title {
    background-color: #222222;
    color: #EEEEEE;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 1rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  /* line 143, app/scss/foundation/foundation/components/_pricing-tables.scss */
  .pricing-table .price {
    background-color: #F6F6F6;
    color: #222222;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 2rem;
    font-weight: normal;
    padding: 0.9375rem 1.25rem;
    text-align: center; }
  /* line 144, app/scss/foundation/foundation/components/_pricing-tables.scss */
  .pricing-table .description {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #777777;
    font-size: 0.75rem;
    font-weight: normal;
    line-height: 1.4;
    padding: 0.9375rem;
    text-align: center; }
  /* line 145, app/scss/foundation/foundation/components/_pricing-tables.scss */
  .pricing-table .bullet-item {
    background-color: #FFFFFF;
    border-bottom: dotted 1px #DDDDDD;
    color: #222222;
    font-size: 0.875rem;
    font-weight: normal;
    padding: 0.9375rem;
    text-align: center; }
  /* line 146, app/scss/foundation/foundation/components/_pricing-tables.scss */
  .pricing-table .cta-button {
    background-color: #FFFFFF;
    padding: 1.25rem 1.25rem 0;
    text-align: center; }

/* Progress Bar */
/* line 59, app/scss/foundation/foundation/components/_progress-bars.scss */
.progress {
  background-color: #F6F6F6;
  border: 1px solid white;
  height: 1.5625rem;
  margin-bottom: 0.625rem;
  padding: 0.125rem; }
  /* line 63, app/scss/foundation/foundation/components/_progress-bars.scss */
  .progress .meter {
    background: #008CBA;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
    /* line 66, app/scss/foundation/foundation/components/_progress-bars.scss */
    .progress .meter.secondary {
      background: #e7e7e7;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
    /* line 67, app/scss/foundation/foundation/components/_progress-bars.scss */
    .progress .meter.success {
      background: #43AC6A;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
    /* line 68, app/scss/foundation/foundation/components/_progress-bars.scss */
    .progress .meter.alert {
      background: #f04124;
      display: block;
      height: 100%;
      float: left;
      width: 0%; }
  /* line 70, app/scss/foundation/foundation/components/_progress-bars.scss */
  .progress.secondary .meter {
    background: #e7e7e7;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  /* line 71, app/scss/foundation/foundation/components/_progress-bars.scss */
  .progress.success .meter {
    background: #43AC6A;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  /* line 72, app/scss/foundation/foundation/components/_progress-bars.scss */
  .progress.alert .meter {
    background: #f04124;
    display: block;
    height: 100%;
    float: left;
    width: 0%; }
  /* line 74, app/scss/foundation/foundation/components/_progress-bars.scss */
  .progress.radius {
    border-radius: 3px; }
    /* line 75, app/scss/foundation/foundation/components/_progress-bars.scss */
    .progress.radius .meter {
      border-radius: 2px; }
  /* line 78, app/scss/foundation/foundation/components/_progress-bars.scss */
  .progress.round {
    border-radius: 1000px; }
    /* line 79, app/scss/foundation/foundation/components/_progress-bars.scss */
    .progress.round .meter {
      border-radius: 999px; }

/* line 131, app/scss/foundation/foundation/components/_range-slider.scss */
.range-slider {
  border: 1px solid #DDDDDD;
  margin: 1.25rem 0;
  position: relative;
  -ms-touch-action: none;
  touch-action: none;
  display: block;
  height: 1rem;
  width: 100%;
  background: #FAFAFA; }
  /* line 134, app/scss/foundation/foundation/components/_range-slider.scss */
  .range-slider.vertical-range {
    border: 1px solid #DDDDDD;
    margin: 1.25rem 0;
    position: relative;
    -ms-touch-action: none;
    touch-action: none;
    display: inline-block;
    height: 12.5rem;
    width: 1rem; }
    /* line 136, app/scss/foundation/foundation/components/_range-slider.scss */
    .range-slider.vertical-range .range-slider-handle {
      bottom: -10.5rem;
      margin-left: -0.5rem;
      margin-top: 0;
      position: absolute; }
    /* line 142, app/scss/foundation/foundation/components/_range-slider.scss */
    .range-slider.vertical-range .range-slider-active-segment {
      border-bottom-left-radius: inherit;
      border-bottom-right-radius: inherit;
      border-top-left-radius: initial;
      bottom: 0;
      height: auto;
      width: 0.875rem; }
  /* line 151, app/scss/foundation/foundation/components/_range-slider.scss */
  .range-slider.radius {
    background: #FAFAFA;
    border-radius: 3px; }
    /* line 153, app/scss/foundation/foundation/components/_range-slider.scss */
    .range-slider.radius .range-slider-handle {
      background: #008CBA;
      border-radius: 3px; }
      /* line 118, app/scss/foundation/foundation/components/_range-slider.scss */
      .range-slider.radius .range-slider-handle:hover {
        background: #007ba4; }
  /* line 155, app/scss/foundation/foundation/components/_range-slider.scss */
  .range-slider.round {
    background: #FAFAFA;
    border-radius: 1000px; }
    /* line 157, app/scss/foundation/foundation/components/_range-slider.scss */
    .range-slider.round .range-slider-handle {
      background: #008CBA;
      border-radius: 1000px; }
      /* line 118, app/scss/foundation/foundation/components/_range-slider.scss */
      .range-slider.round .range-slider-handle:hover {
        background: #007ba4; }
  /* line 159, app/scss/foundation/foundation/components/_range-slider.scss */
  .range-slider.disabled, .range-slider[disabled] {
    background: #FAFAFA;
    cursor: not-allowed;
    opacity: 0.7; }
    /* line 161, app/scss/foundation/foundation/components/_range-slider.scss */
    .range-slider.disabled .range-slider-handle, .range-slider[disabled] .range-slider-handle {
      background: #008CBA;
      cursor: default;
      opacity: 0.7; }
      /* line 118, app/scss/foundation/foundation/components/_range-slider.scss */
      .range-slider.disabled .range-slider-handle:hover, .range-slider[disabled] .range-slider-handle:hover {
        background: #007ba4; }

/* line 164, app/scss/foundation/foundation/components/_range-slider.scss */
.range-slider-active-segment {
  background: #e5e5e5;
  border-bottom-left-radius: inherit;
  border-top-left-radius: inherit;
  display: inline-block;
  height: 0.875rem;
  position: absolute; }

/* line 172, app/scss/foundation/foundation/components/_range-slider.scss */
.range-slider-handle {
  border: 1px solid none;
  cursor: pointer;
  display: inline-block;
  height: 1.375rem;
  position: absolute;
  top: -0.3125rem;
  width: 2rem;
  z-index: 1;
  -ms-touch-action: manipulation;
  touch-action: manipulation;
  background: #008CBA; }
  /* line 118, app/scss/foundation/foundation/components/_range-slider.scss */
  .range-slider-handle:hover {
    background: #007ba4; }

/* line 172, app/scss/foundation/foundation/components/_reveal.scss */
.reveal-modal-bg {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0; }

/* line 174, app/scss/foundation/foundation/components/_reveal.scss */
.reveal-modal {
  border-radius: 3px;
  display: none;
  position: absolute;
  top: 0;
  visibility: hidden;
  width: 100%;
  z-index: 1005;
  left: 0;
  background-color: #FFFFFF;
  padding: 1.875rem;
  border: solid 1px #666666;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.4);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.4); }
  @media only screen and (max-width: 40em) {
    /* line 174, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal {
      min-height: 100vh; } }
  /* line 89, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal .column, .reveal-modal .columns {
    min-width: 0; }
  /* line 92, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal > :first-child {
    margin-top: 0; }
  /* line 94, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal > :last-child {
    margin-bottom: 0; }
  @media only screen and (min-width: 768px) {
    /* line 174, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal {
      left: 0;
      margin: 0 auto;
      max-width: 72.125rem;
      right: 0;
      width: 80%; } }
  @media only screen and (min-width: 768px) {
    /* line 174, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal {
      top: 6.25rem; } }
  /* line 185, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal.radius {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 3px; }
  /* line 186, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal.round {
    -webkit-box-shadow: none;
            box-shadow: none;
    border-radius: 1000px; }
  /* line 187, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal.collapse {
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none; }
  @media only screen and (min-width: 768px) {
    /* line 188, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal.tiny {
      left: 0;
      margin: 0 auto;
      max-width: 72.125rem;
      right: 0;
      width: 30%; } }
  @media only screen and (min-width: 768px) {
    /* line 189, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal.small {
      left: 0;
      margin: 0 auto;
      max-width: 72.125rem;
      right: 0;
      width: 40%; } }
  @media only screen and (min-width: 768px) {
    /* line 190, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal.medium {
      left: 0;
      margin: 0 auto;
      max-width: 72.125rem;
      right: 0;
      width: 60%; } }
  @media only screen and (min-width: 768px) {
    /* line 191, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal.large {
      left: 0;
      margin: 0 auto;
      max-width: 72.125rem;
      right: 0;
      width: 70%; } }
  @media only screen and (min-width: 768px) {
    /* line 192, app/scss/foundation/foundation/components/_reveal.scss */
    .reveal-modal.xlarge {
      left: 0;
      margin: 0 auto;
      max-width: 72.125rem;
      right: 0;
      width: 95%; } }
  /* line 193, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal.full {
    height: 100vh;
    height: 100%;
    left: 0;
    margin-left: 0 !important;
    max-width: none !important;
    min-height: 100vh;
    top: 0; }
    @media only screen and (min-width: 768px) {
      /* line 193, app/scss/foundation/foundation/components/_reveal.scss */
      .reveal-modal.full {
        left: 0;
        margin: 0 auto;
        max-width: 72.125rem;
        right: 0;
        width: 100%; } }
  /* line 205, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal.toback {
    z-index: 1003; }
  /* line 209, app/scss/foundation/foundation/components/_reveal.scss */
  .reveal-modal .close-reveal-modal {
    color: #AAAAAA;
    cursor: pointer;
    font-size: 2.5rem;
    font-weight: bold;
    line-height: 1;
    position: absolute;
    top: 0.625rem;
    right: 1.375rem; }

/* line 49, app/scss/partials/foundation_components/_reveal.scss */
.Overlay {
  background: #000000;
  background: rgba(0, 0, 0, 0.45);
  bottom: 0;
  display: none;
  left: 0;
  position: fixed;
  right: 0;
  top: 0;
  z-index: 1004;
  left: 0;
  display: block; }
  /* line 53, app/scss/partials/foundation_components/_reveal.scss */
  .Overlay > .Popup {
    border-radius: 3px;
    display: none;
    position: absolute;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 1005;
    left: 0;
    -webkit-box-shadow: none;
            box-shadow: none;
    display: block;
    visibility: visible;
    top: 6.25rem !important; }
    @media only screen and (max-width: 40em) {
      /* line 53, app/scss/partials/foundation_components/_reveal.scss */
      .Overlay > .Popup {
        min-height: 100vh; } }
    /* line 89, app/scss/foundation/foundation/components/_reveal.scss */
    .Overlay > .Popup .column, .Overlay > .Popup .columns {
      min-width: 0; }
    /* line 92, app/scss/foundation/foundation/components/_reveal.scss */
    .Overlay > .Popup > :first-child {
      margin-top: 0; }
    /* line 94, app/scss/foundation/foundation/components/_reveal.scss */
    .Overlay > .Popup > :last-child {
      margin-bottom: 0; }
    @media only screen and (min-width: 768px) {
      /* line 53, app/scss/partials/foundation_components/_reveal.scss */
      .Overlay > .Popup {
        left: 0;
        margin: 0 auto;
        max-width: 72.125rem;
        right: 0;
        width: 80%; } }
    /* line 60, app/scss/partials/foundation_components/_reveal.scss */
    .Overlay > .Popup a.Close {
      color: #AAAAAA;
      cursor: pointer;
      font-size: 2.5rem;
      font-weight: bold;
      line-height: 1;
      position: absolute;
      top: 0.625rem;
      right: 1.375rem; }

/* line 118, app/scss/foundation/foundation/components/_side-nav.scss */
.side-nav {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0; }
  /* line 71, app/scss/foundation/foundation/components/_side-nav.scss */
  .side-nav li {
    font-size: 0.875rem;
    font-weight: normal;
    margin: 0 0 0.4375rem 0; }
    /* line 76, app/scss/foundation/foundation/components/_side-nav.scss */
    .side-nav li a:not(.button) {
      color: #008CBA;
      display: block;
      margin: 0;
      padding: 0.4375rem 0.875rem; }
      /* line 81, app/scss/foundation/foundation/components/_side-nav.scss */
      .side-nav li a:not(.button):hover, .side-nav li a:not(.button):focus {
        background: rgba(0, 0, 0, 0.025);
        color: #1cc7ff; }
      /* line 86, app/scss/foundation/foundation/components/_side-nav.scss */
      .side-nav li a:not(.button):active {
        color: #1cc7ff; }
    /* line 91, app/scss/foundation/foundation/components/_side-nav.scss */
    .side-nav li.active > a:first-child:not(.button) {
      color: #1cc7ff;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-weight: normal; }
    /* line 97, app/scss/foundation/foundation/components/_side-nav.scss */
    .side-nav li.divider {
      border-top: 1px solid;
      height: 0;
      list-style: none;
      padding: 0;
      border-top-color: #e6e6e6; }
    /* line 105, app/scss/foundation/foundation/components/_side-nav.scss */
    .side-nav li.heading {
      color: #008CBA;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase; }

/* line 27, app/scss/partials/foundation_components/_side-nav.scss */
.FilterMenu,
.PanelInfo {
  display: block;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
  list-style-position: outside;
  list-style-type: none;
  margin: 0;
  padding: 0.875rem 0;
  overflow: hidden;
  word-break: break-word; }
  /* line 71, app/scss/foundation/foundation/components/_side-nav.scss */
  .FilterMenu li,
  .PanelInfo li {
    font-size: 0.875rem;
    font-weight: normal;
    margin: 0 0 0.4375rem 0; }
    /* line 76, app/scss/foundation/foundation/components/_side-nav.scss */
    .FilterMenu li a:not(.button),
    .PanelInfo li a:not(.button) {
      color: #008CBA;
      display: block;
      margin: 0;
      padding: 0.4375rem 0.875rem; }
      /* line 81, app/scss/foundation/foundation/components/_side-nav.scss */
      .FilterMenu li a:not(.button):hover, .FilterMenu li a:not(.button):focus,
      .PanelInfo li a:not(.button):hover,
      .PanelInfo li a:not(.button):focus {
        background: rgba(0, 0, 0, 0.025);
        color: #1cc7ff; }
      /* line 86, app/scss/foundation/foundation/components/_side-nav.scss */
      .FilterMenu li a:not(.button):active,
      .PanelInfo li a:not(.button):active {
        color: #1cc7ff; }
    /* line 91, app/scss/foundation/foundation/components/_side-nav.scss */
    .FilterMenu li.active > a:first-child:not(.button),
    .PanelInfo li.active > a:first-child:not(.button) {
      color: #1cc7ff;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-weight: normal; }
    /* line 97, app/scss/foundation/foundation/components/_side-nav.scss */
    .FilterMenu li.divider,
    .PanelInfo li.divider {
      border-top: 1px solid;
      height: 0;
      list-style: none;
      padding: 0;
      border-top-color: #e6e6e6; }
    /* line 105, app/scss/foundation/foundation/components/_side-nav.scss */
    .FilterMenu li.heading,
    .PanelInfo li.heading {
      color: #008CBA;
      font-size: 0.875rem;
      font-weight: bold;
      text-transform: uppercase; }
  /* line 32, app/scss/partials/foundation_components/_side-nav.scss */
  .page-content .FilterMenu, .page-content
  .PanelInfo {
    display: none; }

@media only screen and (max-width: 40em) {
  /* line 38, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter {
    display: none; } }

/* line 42, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu {
  padding: 1.875rem 0; }
  /* line 44, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li {
    margin: 0;
    height: 2.5rem; }
    /* line 47, app/scss/partials/foundation_components/_side-nav.scss */
    .BoxFilter .FilterMenu li a {
      font-size: 1rem;
      padding-left: 4.0625rem;
      padding-right: 1.5625rem; }
    /* line 52, app/scss/partials/foundation_components/_side-nav.scss */
    .BoxFilter .FilterMenu li .Aside {
      float: right; }
      /* line 54, app/scss/partials/foundation_components/_side-nav.scss */
      .BoxFilter .FilterMenu li .Aside span {
        font-size: 1rem; }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.Activities {
  background: url(images/icons/forum.activity.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.Activities:hover, .BoxFilter .FilterMenu li.Activities.Active, .BoxFilter .FilterMenu li.Activities.Active:hover {
    background-image: url(images/icons/forum.activity.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.Activity {
  background: url(images/icons/forum.activity.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.Activity:hover, .BoxFilter .FilterMenu li.Activity.Active, .BoxFilter .FilterMenu li.Activity.Active:hover {
    background-image: url(images/icons/forum.activity.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.AllCategories {
  background: url(images/icons/forum.categories.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.AllCategories:hover, .BoxFilter .FilterMenu li.AllCategories.Active, .BoxFilter .FilterMenu li.AllCategories.Active:hover {
    background-image: url(images/icons/forum.categories.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.Discussions {
  background: url(images/icons/forum.discussions.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.Discussions:hover, .BoxFilter .FilterMenu li.Discussions.Active, .BoxFilter .FilterMenu li.Discussions.Active:hover {
    background-image: url(images/icons/forum.discussions.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.MyDiscussions {
  background: url(images/icons/forum.user-discussion.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.MyDiscussions:hover, .BoxFilter .FilterMenu li.MyDiscussions.Active, .BoxFilter .FilterMenu li.MyDiscussions.Active:hover {
    background-image: url(images/icons/forum.user-discussion.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.MyDrafts {
  background: url(images/icons/forum.drafts.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.MyDrafts:hover, .BoxFilter .FilterMenu li.MyDrafts.Active, .BoxFilter .FilterMenu li.MyDrafts.Active:hover {
    background-image: url(images/icons/forum.drafts.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.Participated {
  background: url(images/icons/forum.participated.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.Participated:hover, .BoxFilter .FilterMenu li.Participated.Active, .BoxFilter .FilterMenu li.Participated.Active:hover {
    background-image: url(images/icons/forum.participated.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.Notifications {
  background: url(images/icons/forum.notification.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.Notifications:hover, .BoxFilter .FilterMenu li.Notifications.Active, .BoxFilter .FilterMenu li.Notifications.Active:hover {
    background-image: url(images/icons/forum.notification.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.Inbox {
  background: url(images/icons/forum.inbox.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.Inbox:hover, .BoxFilter .FilterMenu li.Inbox.Active, .BoxFilter .FilterMenu li.Inbox.Active:hover {
    background-image: url(images/icons/forum.inbox.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.Comments {
  background: url(images/icons/forum.comment.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.Comments:hover, .BoxFilter .FilterMenu li.Comments.Active, .BoxFilter .FilterMenu li.Comments.Active:hover {
    background-image: url(images/icons/forum.comment.active.svg); }

/* line 80, app/scss/partials/foundation_components/_side-nav.scss */
.BoxFilter .FilterMenu li.MyBookmarks {
  background: url(images/icons/forum.bookmark.svg) no-repeat 1.875rem center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 83, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxFilter .FilterMenu li.MyBookmarks:hover, .BoxFilter .FilterMenu li.MyBookmarks.Active, .BoxFilter .FilterMenu li.MyBookmarks.Active:hover {
    background-image: url(images/icons/forum.bookmark.active.svg); }

/* line 95, app/scss/partials/foundation_components/_side-nav.scss */
.BoxCategories h4, .BoxDiscussionSidebar h4,
#SharedFingerprint h4, #FollowingPluginUsers h4 {
  margin: 0;
  padding: 1.75rem 0 0 1.5625rem; }

/* line 99, app/scss/partials/foundation_components/_side-nav.scss */
.BoxCategories .PanelCategories, .BoxCategories .PanelDiscussionSidebar,
.BoxCategories .PanelInfo, .BoxDiscussionSidebar .PanelCategories, .BoxDiscussionSidebar .PanelDiscussionSidebar,
.BoxDiscussionSidebar .PanelInfo,
#SharedFingerprint .PanelCategories,
#SharedFingerprint .PanelDiscussionSidebar,
#SharedFingerprint .PanelInfo, #FollowingPluginUsers .PanelCategories, #FollowingPluginUsers .PanelDiscussionSidebar,
#FollowingPluginUsers .PanelInfo {
  padding: 1.875rem 0; }
  /* line 102, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxCategories .PanelCategories li, .BoxCategories .PanelDiscussionSidebar li,
  .BoxCategories .PanelInfo li, .BoxDiscussionSidebar .PanelCategories li, .BoxDiscussionSidebar .PanelDiscussionSidebar li,
  .BoxDiscussionSidebar .PanelInfo li,
  #SharedFingerprint .PanelCategories li,
  #SharedFingerprint .PanelDiscussionSidebar li,
  #SharedFingerprint .PanelInfo li, #FollowingPluginUsers .PanelCategories li, #FollowingPluginUsers .PanelDiscussionSidebar li,
  #FollowingPluginUsers .PanelInfo li {
    margin: 0;
    padding: 0; }
    /* line 105, app/scss/partials/foundation_components/_side-nav.scss */
    .BoxCategories .PanelCategories li a, .BoxCategories .PanelDiscussionSidebar li a,
    .BoxCategories .PanelInfo li a, .BoxDiscussionSidebar .PanelCategories li a, .BoxDiscussionSidebar .PanelDiscussionSidebar li a,
    .BoxDiscussionSidebar .PanelInfo li a,
    #SharedFingerprint .PanelCategories li a,
    #SharedFingerprint .PanelDiscussionSidebar li a,
    #SharedFingerprint .PanelInfo li a, #FollowingPluginUsers .PanelCategories li a, #FollowingPluginUsers .PanelDiscussionSidebar li a,
    #FollowingPluginUsers .PanelInfo li a {
      font-size: 1rem;
      padding-left: 1.5625rem;
      padding-right: 1.5625rem; }
    /* line 110, app/scss/partials/foundation_components/_side-nav.scss */
    .BoxCategories .PanelCategories li .Aside, .BoxCategories .PanelDiscussionSidebar li .Aside,
    .BoxCategories .PanelInfo li .Aside, .BoxDiscussionSidebar .PanelCategories li .Aside, .BoxDiscussionSidebar .PanelDiscussionSidebar li .Aside,
    .BoxDiscussionSidebar .PanelInfo li .Aside,
    #SharedFingerprint .PanelCategories li .Aside,
    #SharedFingerprint .PanelDiscussionSidebar li .Aside,
    #SharedFingerprint .PanelInfo li .Aside, #FollowingPluginUsers .PanelCategories li .Aside, #FollowingPluginUsers .PanelDiscussionSidebar li .Aside,
    #FollowingPluginUsers .PanelInfo li .Aside {
      float: right; }
      /* line 112, app/scss/partials/foundation_components/_side-nav.scss */
      .BoxCategories .PanelCategories li .Aside span, .BoxCategories .PanelDiscussionSidebar li .Aside span,
      .BoxCategories .PanelInfo li .Aside span, .BoxDiscussionSidebar .PanelCategories li .Aside span, .BoxDiscussionSidebar .PanelDiscussionSidebar li .Aside span,
      .BoxDiscussionSidebar .PanelInfo li .Aside span,
      #SharedFingerprint .PanelCategories li .Aside span,
      #SharedFingerprint .PanelDiscussionSidebar li .Aside span,
      #SharedFingerprint .PanelInfo li .Aside span, #FollowingPluginUsers .PanelCategories li .Aside span, #FollowingPluginUsers .PanelDiscussionSidebar li .Aside span,
      #FollowingPluginUsers .PanelInfo li .Aside span {
        font-size: 1rem; }
    /* line 117, app/scss/partials/foundation_components/_side-nav.scss */
    .BoxCategories .PanelCategories li.Depth2 a, .BoxCategories .PanelDiscussionSidebar li.Depth2 a,
    .BoxCategories .PanelInfo li.Depth2 a, .BoxDiscussionSidebar .PanelCategories li.Depth2 a, .BoxDiscussionSidebar .PanelDiscussionSidebar li.Depth2 a,
    .BoxDiscussionSidebar .PanelInfo li.Depth2 a,
    #SharedFingerprint .PanelCategories li.Depth2 a,
    #SharedFingerprint .PanelDiscussionSidebar li.Depth2 a,
    #SharedFingerprint .PanelInfo li.Depth2 a, #FollowingPluginUsers .PanelCategories li.Depth2 a, #FollowingPluginUsers .PanelDiscussionSidebar li.Depth2 a,
    #FollowingPluginUsers .PanelInfo li.Depth2 a {
      padding-left: 2.5rem; }

/* line 127, app/scss/partials/foundation_components/_side-nav.scss */
#SharedFingerprint .Count {
  font-size: 1rem; }

/* line 130, app/scss/partials/foundation_components/_side-nav.scss */
#SharedFingerprint li {
  height: 2.5rem; }

@media only screen and (min-width: 768px) and (max-width: 1024px) {
  /* line 137, app/scss/partials/foundation_components/_side-nav.scss */
  .page-sidebar {
    padding-left: 0;
    padding-right: 0; }
  /* line 141, app/scss/partials/foundation_components/_side-nav.scss */
  .page-content {
    padding-left: 0; } }

@media only screen and (max-width: 40em) {
  /* line 147, app/scss/partials/foundation_components/_side-nav.scss */
  .BoxDiscussionSidebar, .BoxCategories {
    display: none; } }

/* line 173, app/scss/foundation/foundation/components/_split-buttons.scss */
.split.button {
  position: relative;
  padding-right: 5.0625rem; }
  /* line 77, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button span {
    display: block;
    height: 100%;
    position: absolute;
    right: 0;
    top: 0;
    border-left: solid 1px; }
    /* line 86, app/scss/foundation/foundation/components/_split-buttons.scss */
    .split.button span:after {
      position: absolute;
      content: "";
      width: 0;
      height: 0;
      display: block;
      border-style: inset;
      top: 50%;
      left: 50%; }
    /* line 97, app/scss/foundation/foundation/components/_split-buttons.scss */
    .split.button span:active {
      background-color: rgba(0, 0, 0, 0.1); }
  /* line 103, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  /* line 140, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button span {
    width: 3.09375rem; }
    /* line 141, app/scss/foundation/foundation/components/_split-buttons.scss */
    .split.button span:after {
      border-top-style: solid;
      border-width: 0.375rem;
      margin-left: -0.375rem;
      top: 48%; }
  /* line 166, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  /* line 103, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.secondary span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  /* line 166, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.secondary span:after {
    border-color: #FFFFFF transparent transparent transparent; }
  /* line 103, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.alert span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  /* line 103, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.success span {
    border-left-color: rgba(255, 255, 255, 0.5); }
  /* line 179, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.tiny {
    padding-right: 3.75rem; }
    /* line 112, app/scss/foundation/foundation/components/_split-buttons.scss */
    .split.button.tiny span {
      width: 2.25rem; }
      /* line 113, app/scss/foundation/foundation/components/_split-buttons.scss */
      .split.button.tiny span:after {
        border-top-style: solid;
        border-width: 0.375rem;
        margin-left: -0.375rem;
        top: 48%; }
  /* line 180, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.small {
    padding-right: 4.375rem; }
    /* line 126, app/scss/foundation/foundation/components/_split-buttons.scss */
    .split.button.small span {
      width: 2.625rem; }
      /* line 127, app/scss/foundation/foundation/components/_split-buttons.scss */
      .split.button.small span:after {
        border-top-style: solid;
        border-width: 0.4375rem;
        margin-left: -0.375rem;
        top: 48%; }
  /* line 181, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.large {
    padding-right: 5.5rem; }
    /* line 154, app/scss/foundation/foundation/components/_split-buttons.scss */
    .split.button.large span {
      width: 3.4375rem; }
      /* line 155, app/scss/foundation/foundation/components/_split-buttons.scss */
      .split.button.large span:after {
        border-top-style: solid;
        border-width: 0.3125rem;
        margin-left: -0.375rem;
        top: 48%; }
  /* line 182, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.expand {
    padding-left: 2rem; }
  /* line 166, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.secondary span:after {
    border-color: #222222 transparent transparent transparent; }
  /* line 186, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.radius span {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  /* line 187, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.round span {
    -webkit-border-bottom-right-radius: 1000px;
    -webkit-border-top-right-radius: 1000px;
    border-bottom-right-radius: 1000px;
    border-top-right-radius: 1000px; }
  /* line 189, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.no-pip span:before {
    border-style: none; }
  /* line 190, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.no-pip span:after {
    border-style: none; }
  /* line 191, app/scss/foundation/foundation/components/_split-buttons.scss */
  .split.button.no-pip span > i {
    display: block;
    left: 50%;
    margin-left: -0.28889em;
    margin-top: -0.48889em;
    position: absolute;
    top: 50%; }

/* line 123, app/scss/foundation/foundation/components/_sub-nav.scss */
.sub-nav {
  display: block;
  margin: -0.25rem 0 1.125rem;
  overflow: hidden;
  padding-top: 0.25rem;
  width: auto; }
  /* line 67, app/scss/foundation/foundation/components/_sub-nav.scss */
  .sub-nav dt {
    text-transform: uppercase; }
  /* line 71, app/scss/foundation/foundation/components/_sub-nav.scss */
  .sub-nav dt,
  .sub-nav dd,
  .sub-nav li {
    color: #999999;
    float: left;
    font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
    font-size: 0.875rem;
    font-weight: normal;
    margin-left: 1rem;
    margin-bottom: 0; }
    /* line 82, app/scss/foundation/foundation/components/_sub-nav.scss */
    .sub-nav dt a,
    .sub-nav dd a,
    .sub-nav li a {
      color: #999999;
      padding: 0.1875rem 1rem;
      text-decoration: none; }
      /* line 87, app/scss/foundation/foundation/components/_sub-nav.scss */
      .sub-nav dt a:hover,
      .sub-nav dd a:hover,
      .sub-nav li a:hover {
        color: #737373; }
    /* line 92, app/scss/foundation/foundation/components/_sub-nav.scss */
    .sub-nav dt.active a,
    .sub-nav dd.active a,
    .sub-nav li.active a {
      border-radius: 3px;
      background: #008CBA;
      color: #FFFFFF;
      cursor: default;
      font-weight: normal;
      padding: 0.1875rem 1rem; }
      /* line 100, app/scss/foundation/foundation/components/_sub-nav.scss */
      .sub-nav dt.active a:hover,
      .sub-nav dd.active a:hover,
      .sub-nav li.active a:hover {
        background: #0078a0; }

/* line 215, app/scss/foundation/foundation/components/_switches.scss */
.switch {
  border: none;
  margin-bottom: 1.5rem;
  outline: 0;
  padding: 0;
  position: relative;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }
  /* line 58, app/scss/foundation/foundation/components/_switches.scss */
  .switch label {
    background: #DDDDDD;
    color: transparent;
    cursor: pointer;
    display: block;
    margin-bottom: 1rem;
    position: relative;
    text-indent: 100%;
    width: 4rem;
    height: 2rem;
    -webkit-transition: left 0.15s ease-out;
    transition: left 0.15s ease-out; }
  /* line 74, app/scss/foundation/foundation/components/_switches.scss */
  .switch input {
    left: 10px;
    opacity: 0;
    padding: 0;
    position: absolute;
    top: 9px; }
    /* line 81, app/scss/foundation/foundation/components/_switches.scss */
    .switch input + label {
      margin-left: 0;
      margin-right: 0; }
  /* line 88, app/scss/foundation/foundation/components/_switches.scss */
  .switch label:after {
    background: #FFFFFF;
    content: "";
    display: block;
    height: 1.5rem;
    left: .25rem;
    position: absolute;
    top: .25rem;
    width: 1.5rem;
    -webkit-transition: left 0.15s ease-out;
    transition: left 0.15s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0); }
  /* line 110, app/scss/foundation/foundation/components/_switches.scss */
  .switch input:checked + label {
    background: #008CBA; }
  /* line 114, app/scss/foundation/foundation/components/_switches.scss */
  .switch input:checked + label:after {
    left: 2.25rem; }
  /* line 126, app/scss/foundation/foundation/components/_switches.scss */
  .switch label {
    height: 2rem;
    width: 4rem; }
  /* line 131, app/scss/foundation/foundation/components/_switches.scss */
  .switch label:after {
    height: 1.5rem;
    width: 1.5rem; }
  /* line 136, app/scss/foundation/foundation/components/_switches.scss */
  .switch input:checked + label:after {
    left: 2.25rem; }
  /* line 157, app/scss/foundation/foundation/components/_switches.scss */
  .switch label {
    color: transparent;
    background: #DDDDDD; }
  /* line 162, app/scss/foundation/foundation/components/_switches.scss */
  .switch label:after {
    background: #FFFFFF; }
  /* line 166, app/scss/foundation/foundation/components/_switches.scss */
  .switch input:checked + label {
    background: #008CBA; }
  /* line 126, app/scss/foundation/foundation/components/_switches.scss */
  .switch.large label {
    height: 2.5rem;
    width: 5rem; }
  /* line 131, app/scss/foundation/foundation/components/_switches.scss */
  .switch.large label:after {
    height: 2rem;
    width: 2rem; }
  /* line 136, app/scss/foundation/foundation/components/_switches.scss */
  .switch.large input:checked + label:after {
    left: 2.75rem; }
  /* line 126, app/scss/foundation/foundation/components/_switches.scss */
  .switch.small label {
    height: 1.75rem;
    width: 3.5rem; }
  /* line 131, app/scss/foundation/foundation/components/_switches.scss */
  .switch.small label:after {
    height: 1.25rem;
    width: 1.25rem; }
  /* line 136, app/scss/foundation/foundation/components/_switches.scss */
  .switch.small input:checked + label:after {
    left: 2rem; }
  /* line 126, app/scss/foundation/foundation/components/_switches.scss */
  .switch.tiny label {
    height: 1.5rem;
    width: 3rem; }
  /* line 131, app/scss/foundation/foundation/components/_switches.scss */
  .switch.tiny label:after {
    height: 1rem;
    width: 1rem; }
  /* line 136, app/scss/foundation/foundation/components/_switches.scss */
  .switch.tiny input:checked + label:after {
    left: 1.75rem; }
  /* line 229, app/scss/foundation/foundation/components/_switches.scss */
  .switch.radius label {
    border-radius: 4px; }
  /* line 230, app/scss/foundation/foundation/components/_switches.scss */
  .switch.radius label:after {
    border-radius: 3px; }
  /* line 234, app/scss/foundation/foundation/components/_switches.scss */
  .switch.round {
    border-radius: 1000px; }
    /* line 235, app/scss/foundation/foundation/components/_switches.scss */
    .switch.round label {
      border-radius: 2rem; }
    /* line 236, app/scss/foundation/foundation/components/_switches.scss */
    .switch.round label:after {
      border-radius: 2rem; }

/* line 131, app/scss/foundation/foundation/components/_tables.scss */
table {
  background: #FFFFFF;
  border: solid 1px #DDDDDD;
  margin-bottom: 1.25rem;
  table-layout: auto; }
  /* line 69, app/scss/foundation/foundation/components/_tables.scss */
  table caption {
    background: transparent;
    color: #222222;
    font-size: 1rem;
    font-weight: bold; }
  /* line 78, app/scss/foundation/foundation/components/_tables.scss */
  table thead {
    background: #F5F5F5; }
    /* line 82, app/scss/foundation/foundation/components/_tables.scss */
    table thead tr th,
    table thead tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  /* line 92, app/scss/foundation/foundation/components/_tables.scss */
  table tfoot {
    background: #F5F5F5; }
    /* line 96, app/scss/foundation/foundation/components/_tables.scss */
    table tfoot tr th,
    table tfoot tr td {
      color: #222222;
      font-size: 0.875rem;
      font-weight: bold;
      padding: 0.5rem 0.625rem 0.625rem; }
  /* line 107, app/scss/foundation/foundation/components/_tables.scss */
  table tr th,
  table tr td {
    color: #222222;
    font-size: 0.875rem;
    padding: 0.5625rem 0.625rem;
    text-align: left; }
  /* line 115, app/scss/foundation/foundation/components/_tables.scss */
  table tr.even, table tr.alt, table tr:nth-of-type(even) {
    background: #FFFCFC; }
  /* line 120, app/scss/foundation/foundation/components/_tables.scss */
  table thead tr th,
  table tfoot tr th,
  table tfoot tr td,
  table tbody tr th,
  table tbody tr td,
  table tr td {
    display: table-cell;
    line-height: 1.125rem; }

/* line 30, app/scss/foundation/foundation/components/_tabs.scss */
.tabs {
  margin-bottom: 0 !important;
  margin-left: 0; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  .tabs:before, .tabs:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  .tabs:after {
    clear: both; }
  /* line 35, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs dd,
  .tabs .tab-title {
    float: left;
    list-style: none;
    margin-bottom: 0 !important;
    position: relative; }
    /* line 42, app/scss/foundation/foundation/components/_tabs.scss */
    .tabs dd > a,
    .tabs .tab-title > a {
      display: block;
      background-color: #CCCCCC;
      color: #222222;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 1rem;
      padding: 1rem 2rem; }
      /* line 50, app/scss/foundation/foundation/components/_tabs.scss */
      .tabs dd > a:hover,
      .tabs .tab-title > a:hover {
        background-color: silver; }
    /* line 55, app/scss/foundation/foundation/components/_tabs.scss */
    .tabs dd.active > a,
    .tabs .tab-title.active > a {
      background-color: #FFFFFF;
      color: #222222; }
  /* line 64, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs.radius dd:first-child a,
  .tabs.radius .tab:first-child a {
    -webkit-border-bottom-left-radius: 3px;
    -webkit-border-top-left-radius: 3px;
    border-bottom-left-radius: 3px;
    border-top-left-radius: 3px; }
  /* line 69, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs.radius dd:last-child a,
  .tabs.radius .tab:last-child a {
    -webkit-border-bottom-right-radius: 3px;
    -webkit-border-top-right-radius: 3px;
    border-bottom-right-radius: 3px;
    border-top-right-radius: 3px; }
  /* line 74, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs.vertical dd,
  .tabs.vertical .tab-title {
    position: inherit;
    float: none;
    display: block;
    top: auto; }

/* line 84, app/scss/foundation/foundation/components/_tabs.scss */
.tabs-content {
  margin-bottom: 1.5rem;
  width: 100%; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  .tabs-content:before, .tabs-content:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  .tabs-content:after {
    clear: both; }
  /* line 89, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs-content > .content {
    display: none;
    float: left;
    padding: 0.9375rem 0;
    width: 100%; }
    /* line 95, app/scss/foundation/foundation/components/_tabs.scss */
    .tabs-content > .content.active {
      display: block;
      float: none; }
    /* line 99, app/scss/foundation/foundation/components/_tabs.scss */
    .tabs-content > .content.contained {
      padding: 0.9375rem; }
  /* line 104, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs-content.vertical {
    display: block; }
    /* line 107, app/scss/foundation/foundation/components/_tabs.scss */
    .tabs-content.vertical > .content {
      padding: 0 0.9375rem; }

@media only screen and (min-width: 768px) {
  /* line 115, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs.vertical {
    float: left;
    margin: 0;
    margin-bottom: 1.25rem !important;
    max-width: 20%;
    width: 20%; }
  /* line 125, app/scss/foundation/foundation/components/_tabs.scss */
  .tabs-content.vertical {
    float: left;
    margin-left: -1px;
    max-width: 80%;
    padding-left: 1rem;
    width: 80%; } }

/* line 136, app/scss/foundation/foundation/components/_tabs.scss */
.no-js .tabs-content > .content {
  display: block;
  float: none; }

/* Image Thumbnails */
/* line 59, app/scss/foundation/foundation/components/_thumbs.scss */
.th {
  border: solid 4px #FFFFFF;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  -webkit-transition: all 200ms ease-out;
  transition: all 200ms ease-out; }
  /* line 48, app/scss/foundation/foundation/components/_thumbs.scss */
  .th:hover, .th:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5);
            box-shadow: 0 0 6px 1px rgba(0, 140, 186, 0.5); }
  /* line 63, app/scss/foundation/foundation/components/_thumbs.scss */
  .th.radius {
    border-radius: 3px; }

/* Tooltips */
/* line 38, app/scss/foundation/foundation/components/_tooltips.scss */
.has-tip {
  border-bottom: dotted 1px #CCCCCC;
  color: #222222;
  cursor: help;
  font-weight: bold; }
  /* line 44, app/scss/foundation/foundation/components/_tooltips.scss */
  .has-tip:hover, .has-tip:focus {
    border-bottom: dotted 1px #003f54;
    color: #008CBA; }
  /* line 50, app/scss/foundation/foundation/components/_tooltips.scss */
  .has-tip.tip-left, .has-tip.tip-right {
    float: none !important; }

/* line 54, app/scss/foundation/foundation/components/_tooltips.scss */
.tooltip {
  background: #222222;
  color: #FFFFFF;
  display: none;
  font-size: 0.875rem;
  font-weight: normal;
  line-height: 1.3;
  max-width: 300px;
  padding: 0.75rem;
  position: absolute;
  width: 100%;
  z-index: 1006;
  left: 50%; }
  /* line 68, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip > .nub {
    border: solid 5px;
    border-color: transparent transparent #222222 transparent;
    display: block;
    height: 0;
    pointer-events: none;
    position: absolute;
    top: -10px;
    width: 0;
    left: 5px; }
    /* line 79, app/scss/foundation/foundation/components/_tooltips.scss */
    .tooltip > .nub.rtl {
      left: auto;
      right: 5px; }
  /* line 85, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip.radius {
    border-radius: 3px; }
  /* line 88, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip.round {
    border-radius: 1000px; }
    /* line 90, app/scss/foundation/foundation/components/_tooltips.scss */
    .tooltip.round > .nub {
      left: 2rem; }
  /* line 95, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip.opened {
    border-bottom: dotted 1px #003f54 !important;
    color: #008CBA !important; }

/* line 101, app/scss/foundation/foundation/components/_tooltips.scss */
.tap-to-close {
  color: #777777;
  display: block;
  font-size: 0.625rem;
  font-weight: normal; }

@media only screen {
  /* line 110, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip > .nub {
    border-color: transparent transparent #222222 transparent;
    top: -10px; }
  /* line 114, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip.tip-top > .nub {
    border-color: #222222 transparent transparent transparent;
    bottom: -10px;
    top: auto; }
  /* line 120, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip.tip-left, .tooltip.tip-right {
    float: none !important; }
  /* line 123, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip.tip-left > .nub {
    border-color: transparent transparent transparent #222222;
    left: auto;
    margin-top: -5px;
    right: -10px;
    top: 50%; }
  /* line 130, app/scss/foundation/foundation/components/_tooltips.scss */
  .tooltip.tip-right > .nub {
    border-color: transparent #222222 transparent transparent;
    left: -10px;
    margin-top: -5px;
    right: auto;
    top: 50%; } }

/* line 113, app/scss/foundation/foundation/components/_top-bar.scss */
meta.foundation-mq-topbar {
  font-family: "/only screen and (min-width:768px)/";
  width: 768px; }

/* Wrapped around .top-bar to contain to grid width */
/* line 119, app/scss/foundation/foundation/components/_top-bar.scss */
.contain-to-grid {
  width: 100%;
  background: #222222; }
  /* line 123, app/scss/foundation/foundation/components/_top-bar.scss */
  .contain-to-grid .top-bar {
    margin-bottom: 0; }

/* line 129, app/scss/foundation/foundation/components/_top-bar.scss */
.fixed {
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 99;
  left: 0; }
  /* line 136, app/scss/foundation/foundation/components/_top-bar.scss */
  .fixed.expanded:not(.top-bar) {
    height: auto;
    max-height: 100%;
    overflow-y: auto;
    width: 100%; }
    /* line 142, app/scss/foundation/foundation/components/_top-bar.scss */
    .fixed.expanded:not(.top-bar) .title-area {
      position: fixed;
      width: 100%;
      z-index: 99; }
    /* line 149, app/scss/foundation/foundation/components/_top-bar.scss */
    .fixed.expanded:not(.top-bar) .top-bar-section {
      margin-top: 2.8125rem;
      z-index: 98; }

/* line 156, app/scss/foundation/foundation/components/_top-bar.scss */
.top-bar {
  background: #222222;
  height: 2.8125rem;
  line-height: 2.8125rem;
  margin-bottom: 0;
  overflow: hidden;
  position: relative; }
  /* line 165, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar ul {
    list-style: none;
    margin-bottom: 0; }
  /* line 170, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar .row, .top-bar .breadcrumb-container {
    max-width: none; }
  /* line 174, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar form,
  .top-bar input,
  .top-bar select {
    margin-bottom: 0; }
  /* line 180, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar input,
  .top-bar select {
    font-size: 0.75rem;
    height: 1.75rem;
    padding-bottom: .35rem;
    padding-top: .35rem; }
  /* line 188, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar .button, .top-bar button {
    font-size: 0.75rem;
    margin-bottom: 0;
    padding-bottom: 0.4125rem;
    padding-top: 0.4125rem; }
    @media only screen and (max-width: 40em) {
      /* line 188, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar .button, .top-bar button {
        position: relative;
        top: -1px; } }
  /* line 204, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar .title-area {
    margin: 0;
    position: relative; }
  /* line 209, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar .name {
    font-size: 16px;
    height: 2.8125rem;
    margin: 0; }
    /* line 214, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar .name h1, .top-bar .name h2, .top-bar .name h3, .top-bar .name h4, .top-bar .name p, .top-bar .name span {
      font-size: 1.0625rem;
      line-height: 2.8125rem;
      margin: 0; }
      /* line 219, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar .name h1 a, .top-bar .name h2 a, .top-bar .name h3 a, .top-bar .name h4 a, .top-bar .name p a, .top-bar .name span a {
        color: #FFFFFF;
        display: block;
        font-weight: normal;
        padding: 0 0.9375rem;
        width: 75%; }
  /* line 230, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar .toggle-topbar {
    position: absolute;
    right: 0;
    top: 0; }
    /* line 235, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar .toggle-topbar a {
      color: #FFFFFF;
      display: block;
      font-size: 0.8125rem;
      font-weight: bold;
      height: 2.8125rem;
      line-height: 2.8125rem;
      padding: 0 0.9375rem;
      position: relative;
      text-transform: uppercase; }
    /* line 248, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar .toggle-topbar.menu-icon {
      margin-top: -16px;
      top: 50%; }
      /* line 252, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar .toggle-topbar.menu-icon a {
        color: #FFFFFF;
        height: 34px;
        line-height: 33px;
        padding: 0 2.5rem 0 0.9375rem;
        position: relative; }
        /* line 196, app/scss/foundation/foundation/components/_global.scss */
        .top-bar .toggle-topbar.menu-icon a span::after {
          content: "";
          display: block;
          height: 0;
          position: absolute;
          margin-top: -8px;
          top: 50%;
          right: 0.9375rem;
          -webkit-box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
                  box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
          width: 16px; }
        /* line 229, app/scss/foundation/foundation/components/_global.scss */
        .top-bar .toggle-topbar.menu-icon a span:hover:after {
          -webkit-box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px "";
                  box-shadow: 0 0 0 1px "", 0 7px 0 1px "", 0 14px 0 1px ""; }
  /* line 268, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar.expanded {
    background: transparent;
    height: auto; }
    /* line 272, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar.expanded .title-area {
      background: #222222; }
    /* line 277, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar.expanded .toggle-topbar a {
      color: #888888; }
      /* line 280, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar.expanded .toggle-topbar a span::after {
        -webkit-box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888;
                box-shadow: 0 0 0 1px #888888, 0 7px 0 1px #888888, 0 14px 0 1px #888888; }
    @media screen and (-webkit-min-device-pixel-ratio: 0) {
      /* line 293, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar.expanded .top-bar-section .has-dropdown.moved > .dropdown,
      .top-bar.expanded .top-bar-section .dropdown {
        clip: initial; }
      /* line 299, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar.expanded .top-bar-section .has-dropdown:not(.moved) > ul {
        padding: 0; } }

/* line 308, app/scss/foundation/foundation/components/_top-bar.scss */
.top-bar-section {
  left: 0;
  position: relative;
  width: auto;
  -webkit-transition: left 300ms ease-out;
  transition: left 300ms ease-out; }
  /* line 314, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar-section ul {
    display: block;
    font-size: 16px;
    height: auto;
    margin: 0;
    padding: 0;
    width: 100%; }
  /* line 323, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar-section .divider,
  .top-bar-section [role="separator"] {
    border-top: solid 1px #111111;
    clear: both;
    height: 1px;
    width: 100%; }
  /* line 331, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar-section ul li {
    background: #222222; }
    /* line 334, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section ul li > a {
      color: #FFFFFF;
      display: block;
      font-family: "Helvetica Neue", Helvetica, Roboto, Arial, sans-serif;
      font-size: 0.8125rem;
      font-weight: normal;
      padding-left: 0.9375rem;
      padding: 12px 0 12px 0.9375rem;
      text-transform: none;
      width: 100%; }
      /* line 345, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > a.button {
        font-size: 0.8125rem;
        padding-left: 0.9375rem;
        padding-right: 0.9375rem;
        background-color: #008CBA;
        border-color: #007095;
        color: #FFFFFF; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          background-color: #007095; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button:hover, .top-bar-section ul li > a.button:focus {
          color: #FFFFFF; }
      /* line 352, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > a.button.secondary {
        background-color: #e7e7e7;
        border-color: #b9b9b9;
        color: #222222; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          background-color: #b9b9b9; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.secondary:hover, .top-bar-section ul li > a.button.secondary:focus {
          color: #222222; }
      /* line 353, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > a.button.success {
        background-color: #43AC6A;
        border-color: #368a55;
        color: #FFFFFF; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          background-color: #368a55; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.success:hover, .top-bar-section ul li > a.button.success:focus {
          color: #FFFFFF; }
      /* line 354, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > a.button.alert {
        background-color: #f04124;
        border-color: #cf2a0e;
        color: #FFFFFF; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          background-color: #cf2a0e; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.alert:hover, .top-bar-section ul li > a.button.alert:focus {
          color: #FFFFFF; }
      /* line 355, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > a.button.warning {
        background-color: #f08a24;
        border-color: #cf6e0e;
        color: #FFFFFF; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          background-color: #cf6e0e; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.warning:hover, .top-bar-section ul li > a.button.warning:focus {
          color: #FFFFFF; }
      /* line 356, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > a.button.info {
        background-color: #a0d3e8;
        border-color: #61b6d9;
        color: #222222; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          background-color: #61b6d9; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > a.button.info:hover, .top-bar-section ul li > a.button.info:focus {
          color: #FFFFFF; }
    /* line 359, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section ul li > button {
      font-size: 0.8125rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem;
      background-color: #008CBA;
      border-color: #007095;
      color: #FFFFFF; }
      /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        background-color: #007095; }
      /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
      .top-bar-section ul li > button:hover, .top-bar-section ul li > button:focus {
        color: #FFFFFF; }
      /* line 365, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > button.secondary {
        background-color: #e7e7e7;
        border-color: #b9b9b9;
        color: #222222; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          background-color: #b9b9b9; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.secondary:hover, .top-bar-section ul li > button.secondary:focus {
          color: #222222; }
      /* line 366, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > button.success {
        background-color: #43AC6A;
        border-color: #368a55;
        color: #FFFFFF; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          background-color: #368a55; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.success:hover, .top-bar-section ul li > button.success:focus {
          color: #FFFFFF; }
      /* line 367, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > button.alert {
        background-color: #f04124;
        border-color: #cf2a0e;
        color: #FFFFFF; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          background-color: #cf2a0e; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.alert:hover, .top-bar-section ul li > button.alert:focus {
          color: #FFFFFF; }
      /* line 368, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > button.warning {
        background-color: #f08a24;
        border-color: #cf6e0e;
        color: #FFFFFF; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          background-color: #cf6e0e; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.warning:hover, .top-bar-section ul li > button.warning:focus {
          color: #FFFFFF; }
      /* line 369, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li > button.info {
        background-color: #a0d3e8;
        border-color: #61b6d9;
        color: #222222; }
        /* line 163, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          background-color: #61b6d9; }
        /* line 169, app/scss/foundation/foundation/components/_buttons.scss */
        .top-bar-section ul li > button.info:hover, .top-bar-section ul li > button.info:focus {
          color: #FFFFFF; }
    /* line 373, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section ul li:hover:not(.has-form) > a {
      background-color: #414141;
      color: #FFFFFF;
      background: #222222; }
    /* line 383, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section ul li.active > a {
      background: #008CBA;
      color: #FFFFFF; }
      /* line 387, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li.active > a:hover {
        background: #0078a0;
        color: #FFFFFF; }
  /* line 395, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar-section .has-form {
    padding: 0.9375rem; }
  /* line 400, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar-section .has-dropdown {
    position: relative; }
    /* line 404, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-dropdown > a:after {
      border: inset 5px;
      content: "";
      display: block;
      height: 0;
      width: 0;
      border-color: transparent transparent transparent rgba(255, 255, 255, 0.4);
      border-left-style: solid;
      margin-right: 0.9375rem;
      margin-top: -4.5px;
      position: absolute;
      top: 50%;
      right: 0; }
    /* line 417, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-dropdown.moved {
      position: static; }
      /* line 420, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .has-dropdown.moved > .dropdown {
        position: static !important;
        height: auto;
        width: auto;
        overflow: visible;
        clip: auto;
        display: block;
        position: absolute !important;
        width: 100%; }
      /* line 425, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .has-dropdown.moved > a:after {
        display: none; }
  /* line 432, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar-section .dropdown {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px;
    display: block;
    padding: 0;
    position: absolute;
    top: 0;
    z-index: 99;
    left: 100%; }
    /* line 440, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .dropdown li {
      height: auto;
      width: 100%; }
      /* line 444, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li a {
        font-weight: normal;
        padding: 8px 0.9375rem; }
        /* line 447, app/scss/foundation/foundation/components/_top-bar.scss */
        .top-bar-section .dropdown li a.parent-link {
          font-weight: normal; }
      /* line 452, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li.title h5, .top-bar-section .dropdown li.parent-link {
        margin-bottom: 0;
        margin-top: 0;
        font-size: 1.125rem; }
        /* line 458, app/scss/foundation/foundation/components/_top-bar.scss */
        .top-bar-section .dropdown li.title h5 a, .top-bar-section .dropdown li.parent-link a {
          color: #FFFFFF;
          display: block; }
          /* line 462, app/scss/foundation/foundation/components/_top-bar.scss */
          .top-bar-section .dropdown li.title h5 a:hover, .top-bar-section .dropdown li.parent-link a:hover {
            background: none; }
      /* line 466, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li.has-form {
        padding: 8px 0.9375rem; }
      /* line 470, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li .button,
      .top-bar-section .dropdown li button {
        top: auto; }
    /* line 476, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .dropdown label {
      color: #777777;
      font-size: 0.625rem;
      font-weight: bold;
      margin-bottom: 0;
      padding: 8px 0.9375rem 2px;
      text-transform: uppercase; }

/* line 487, app/scss/foundation/foundation/components/_top-bar.scss */
.js-generated {
  display: block; }

@media only screen and (min-width: 768px) {
  /* line 492, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar {
    background: #222222;
    overflow: visible; }
    /* line 239, app/scss/foundation/foundation/components/_global.scss */
    .top-bar:before, .top-bar:after {
      content: " ";
      display: table; }
    /* line 240, app/scss/foundation/foundation/components/_global.scss */
    .top-bar:after {
      clear: both; }
    /* line 497, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar .toggle-topbar {
      display: none; }
    /* line 499, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar .title-area {
      float: left; }
    /* line 500, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar .name h1 a,
    .top-bar .name h2 a,
    .top-bar .name h3 a,
    .top-bar .name h4 a,
    .top-bar .name h5 a,
    .top-bar .name h6 a {
      width: auto; }
    /* line 507, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar input,
    .top-bar select,
    .top-bar .button,
    .top-bar button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    /* line 517, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar .has-form > .button,
    .top-bar .has-form > button {
      font-size: 0.875rem;
      height: 1.75rem;
      position: relative;
      top: 0.53125rem; }
    /* line 525, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar.expanded {
      background: #222222; }
  /* line 530, app/scss/foundation/foundation/components/_top-bar.scss */
  .contain-to-grid .top-bar {
    margin: 0 auto;
    margin-bottom: 0;
    max-width: 72.125rem; }
  /* line 536, app/scss/foundation/foundation/components/_top-bar.scss */
  .top-bar-section {
    -webkit-transition: none 0 0;
    transition: none 0 0;
    left: 0 !important; }
    /* line 540, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section ul {
      display: inline;
      height: auto !important;
      width: auto; }
      /* line 545, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section ul li {
        float: left; }
        /* line 547, app/scss/foundation/foundation/components/_top-bar.scss */
        .top-bar-section ul li .js-generated {
          display: none; }
    /* line 553, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section li.hover > a:not(.button) {
      background-color: #414141;
      background: #222222;
      color: #FFFFFF; }
    /* line 563, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section li:not(.has-form) a:not(.button) {
      background: #222222;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      /* line 567, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section li:not(.has-form) a:not(.button):hover {
        background-color: #414141;
        background: #222222; }
    /* line 577, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section li.active:not(.has-form) a:not(.button) {
      background: #008CBA;
      color: #FFFFFF;
      line-height: 2.8125rem;
      padding: 0 0.9375rem; }
      /* line 582, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section li.active:not(.has-form) a:not(.button):hover {
        background: #0078a0;
        color: #FFFFFF; }
    /* line 592, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-dropdown > a {
      padding-right: 2.1875rem !important; }
      /* line 594, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .has-dropdown > a:after {
        border: inset 5px;
        content: "";
        display: block;
        height: 0;
        width: 0;
        border-color: rgba(255, 255, 255, 0.4) transparent transparent transparent;
        border-top-style: solid;
        margin-top: -2.5px;
        top: 1.40625rem; }
    /* line 602, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-dropdown.moved {
      position: relative; }
      /* line 603, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .has-dropdown.moved > .dropdown {
        clip: rect(1px, 1px, 1px, 1px);
        height: 1px;
        overflow: hidden;
        position: absolute !important;
        width: 1px;
        display: block; }
    /* line 609, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-dropdown.hover > .dropdown, .top-bar-section .has-dropdown.not-click:hover > .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    /* line 614, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-dropdown > a:focus + .dropdown {
      position: static !important;
      height: auto;
      width: auto;
      overflow: visible;
      clip: auto;
      display: block;
      position: absolute !important; }
    /* line 621, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-dropdown .dropdown li.has-dropdown > a:after {
      border: none;
      content: "\00bb";
      top: 0.1875rem;
      right: 5px; }
    /* line 633, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .dropdown {
      left: 0;
      background: transparent;
      min-width: 100%;
      top: auto; }
      /* line 640, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li a {
        background: #222222;
        color: #FFFFFF;
        line-height: 2.8125rem;
        padding: 12px 0.9375rem;
        white-space: nowrap; }
      /* line 649, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li:not(.has-form):not(.active) > a:not(.button) {
        background: #222222;
        color: #FFFFFF; }
      /* line 654, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li:not(.has-form):not(.active):hover > a:not(.button) {
        background-color: #414141;
        color: #FFFFFF;
        background: #222222; }
      /* line 663, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li label {
        background: #222222;
        white-space: nowrap; }
      /* line 669, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .dropdown li .dropdown {
        left: 100%;
        top: 0; }
    /* line 676, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section > ul > .divider,
    .top-bar-section > ul > [role="separator"] {
      border-right: solid 1px #3f3f3f;
      border-bottom: none;
      border-top: none;
      clear: none;
      height: 2.8125rem;
      width: 0; }
    /* line 686, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .has-form {
      background: #222222;
      height: 2.8125rem;
      padding: 0 0.9375rem; }
    /* line 694, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .right li .dropdown {
      left: auto;
      right: 0; }
      /* line 698, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .right li .dropdown li .dropdown {
        right: 100%; }
    /* line 702, app/scss/foundation/foundation/components/_top-bar.scss */
    .top-bar-section .left li .dropdown {
      right: auto;
      left: 0; }
      /* line 706, app/scss/foundation/foundation/components/_top-bar.scss */
      .top-bar-section .left li .dropdown li .dropdown {
        left: 100%; }
  /* line 716, app/scss/foundation/foundation/components/_top-bar.scss */
  .no-js .top-bar-section ul li:hover > a {
    background-color: #414141;
    background: #222222;
    color: #FFFFFF; }
  /* line 725, app/scss/foundation/foundation/components/_top-bar.scss */
  .no-js .top-bar-section ul li:active > a {
    background: #008CBA;
    color: #FFFFFF; }
  /* line 733, app/scss/foundation/foundation/components/_top-bar.scss */
  .no-js .top-bar-section .has-dropdown:hover > .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; }
  /* line 738, app/scss/foundation/foundation/components/_top-bar.scss */
  .no-js .top-bar-section .has-dropdown > a:focus + .dropdown {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto;
    display: block;
    position: absolute !important; } }

/* line 412, app/scss/foundation/foundation/components/_offcanvas.scss */
.off-canvas-wrap {
  -webkit-backface-visibility: hidden;
  position: relative;
  width: 100%;
  overflow: hidden; }
  /* line 149, app/scss/foundation/foundation/components/_offcanvas.scss */
  .off-canvas-wrap.move-right, .off-canvas-wrap.move-left, .off-canvas-wrap.move-bottom, .off-canvas-wrap.move-top {
    min-height: 100%;
    -webkit-overflow-scrolling: touch; }

/* line 413, app/scss/foundation/foundation/components/_offcanvas.scss */
.inner-wrap {
  position: relative;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  /* line 239, app/scss/foundation/foundation/components/_global.scss */
  .inner-wrap:before, .inner-wrap:after {
    content: " ";
    display: table; }
  /* line 240, app/scss/foundation/foundation/components/_global.scss */
  .inner-wrap:after {
    clear: both; }

/* line 415, app/scss/foundation/foundation/components/_offcanvas.scss */
.tab-bar {
  -webkit-backface-visibility: hidden;
  background: rgba(31, 31, 31, 0.05);
  color: #FFFFFF;
  height: 3.75rem;
  line-height: 3.75rem;
  position: relative; }
  /* line 185, app/scss/foundation/foundation/components/_offcanvas.scss */
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4, .tab-bar h5, .tab-bar h6 {
    color: #222222;
    font-weight: bold;
    line-height: 3.75rem;
    margin: 0; }
  /* line 191, app/scss/foundation/foundation/components/_offcanvas.scss */
  .tab-bar h1, .tab-bar h2, .tab-bar h3, .tab-bar h4 {
    font-size: 1.125rem; }

/* line 417, app/scss/foundation/foundation/components/_offcanvas.scss */
.left-small {
  height: 3.75rem;
  position: absolute;
  top: 0;
  width: 3.75rem;
  border-right: solid 1px rgba(16, 16, 16, 0.05);
  left: 0; }

/* line 418, app/scss/foundation/foundation/components/_offcanvas.scss */
.right-small {
  height: 3.75rem;
  position: absolute;
  top: 0;
  width: 3.75rem;
  border-left: solid 1px rgba(16, 16, 16, 0.05);
  right: 0; }

/* line 420, app/scss/foundation/foundation/components/_offcanvas.scss */
.tab-bar-section {
  height: 3.75rem;
  padding: 0 0.625rem;
  position: absolute;
  text-align: center;
  top: 0; }
  /* line 219, app/scss/foundation/foundation/components/_offcanvas.scss */
  .tab-bar-section.left {
    text-align: left; }
  /* line 220, app/scss/foundation/foundation/components/_offcanvas.scss */
  .tab-bar-section.right {
    text-align: right; }
  /* line 224, app/scss/foundation/foundation/components/_offcanvas.scss */
  .tab-bar-section.left {
    left: 0;
    right: 3.75rem; }
  /* line 228, app/scss/foundation/foundation/components/_offcanvas.scss */
  .tab-bar-section.right {
    left: 3.75rem;
    right: 0; }
  /* line 232, app/scss/foundation/foundation/components/_offcanvas.scss */
  .tab-bar-section.middle {
    left: 3.75rem;
    right: 3.75rem; }

/* line 424, app/scss/foundation/foundation/components/_offcanvas.scss */
.tab-bar .menu-icon {
  color: #FFFFFF;
  display: block;
  height: 3.75rem;
  padding: 0;
  position: relative;
  text-indent: 2.1875rem;
  -webkit-transform: translate3d(0, 0, 0);
          transform: translate3d(0, 0, 0);
  width: 3.75rem; }
  /* line 196, app/scss/foundation/foundation/components/_global.scss */
  .tab-bar .menu-icon span::after {
    content: "";
    display: block;
    height: 0;
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
    left: 1.375rem;
    -webkit-box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
            box-shadow: 0 0 0 1px #FFFFFF, 0 7px 0 1px #FFFFFF, 0 14px 0 1px #FFFFFF;
    width: 1rem; }
  /* line 229, app/scss/foundation/foundation/components/_global.scss */
  .tab-bar .menu-icon span:hover:after {
    -webkit-box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3;
            box-shadow: 0 0 0 1px #b3b3b3, 0 7px 0 1px #b3b3b3, 0 14px 0 1px #b3b3b3; }

/* line 448, app/scss/foundation/foundation/components/_offcanvas.scss */
.left-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 18.75rem;
  z-index: 1001;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  top: 0; }
  /* line 106, app/scss/foundation/foundation/components/_offcanvas.scss */
  .left-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

/* line 449, app/scss/foundation/foundation/components/_offcanvas.scss */
.right-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 18.75rem;
  z-index: 1001;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  top: 0; }
  /* line 106, app/scss/foundation/foundation/components/_offcanvas.scss */
  .right-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

/* line 450, app/scss/foundation/foundation/components/_offcanvas.scss */
.top-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 18.75rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  height: 18.75rem; }
  /* line 106, app/scss/foundation/foundation/components/_offcanvas.scss */
  .top-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

/* line 451, app/scss/foundation/foundation/components/_offcanvas.scss */
.bottom-off-canvas-menu {
  -webkit-backface-visibility: hidden;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  -webkit-overflow-scrolling: touch;
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  -webkit-transition: -webkit-transform 500ms ease 0s;
  transition: -webkit-transform 500ms ease 0s;
  transition: transform 500ms ease 0s;
  transition: transform 500ms ease 0s, -webkit-transform 500ms ease 0s;
  width: 18.75rem;
  z-index: 1001;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  height: 18.75rem; }
  /* line 106, app/scss/foundation/foundation/components/_offcanvas.scss */
  .bottom-off-canvas-menu * {
    -webkit-backface-visibility: hidden; }

/* line 453, app/scss/foundation/foundation/components/_offcanvas.scss */
ul.off-canvas-list {
  list-style-type: none;
  margin: 0;
  padding: 0; }
  /* line 246, app/scss/foundation/foundation/components/_offcanvas.scss */
  ul.off-canvas-list li label {
    background: #444444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    display: block;
    font-size: 0.75rem;
    font-weight: bold;
    margin: 0;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase; }
  /* line 258, app/scss/foundation/foundation/components/_offcanvas.scss */
  ul.off-canvas-list li a {
    border-bottom: 1px solid rgba(23, 23, 23, 0.05);
    color: #222222;
    display: block;
    padding: 0.66667rem;
    -webkit-transition: background 300ms ease;
    transition: background 300ms ease; }
    /* line 264, app/scss/foundation/foundation/components/_offcanvas.scss */
    ul.off-canvas-list li a:hover {
      background: rgba(22, 22, 22, 0.05); }
    /* line 267, app/scss/foundation/foundation/components/_offcanvas.scss */
    ul.off-canvas-list li a:active {
      background: rgba(22, 22, 22, 0.05); }

/* line 459, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-right > .inner-wrap {
  -webkit-transform: translate3d(18.75rem, 0, 0);
  transform: translate3d(18.75rem, 0, 0); }

/* line 462, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .move-right .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 466, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-left > .inner-wrap {
  -webkit-transform: translate3d(-18.75rem, 0, 0);
  transform: translate3d(-18.75rem, 0, 0); }

/* line 470, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .move-left .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 473, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-top > .inner-wrap {
  -webkit-transform: translate3d(0, -18.75rem, 0);
  transform: translate3d(0, -18.75rem, 0); }

/* line 477, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .move-top .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 480, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-bottom > .inner-wrap {
  -webkit-transform: translate3d(0, 18.75rem, 0);
  transform: translate3d(0, 18.75rem, 0); }

/* line 484, app/scss/foundation/foundation/components/_offcanvas.scss */
.move-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .move-bottom .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 487, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap .left-off-canvas-menu, .offcanvas-overlap .right-off-canvas-menu,
.offcanvas-overlap .top-off-canvas-menu, .offcanvas-overlap .bottom-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

/* line 496, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .offcanvas-overlap .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 499, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-left .right-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

/* line 507, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-left .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .offcanvas-overlap-left .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 510, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-right .left-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

/* line 518, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-right .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .offcanvas-overlap-right .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 521, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-top .bottom-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

/* line 529, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-top .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .offcanvas-overlap-top .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 532, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-bottom .top-off-canvas-menu {
  -webkit-transform: none;
  transform: none;
  z-index: 1003; }

/* line 540, app/scss/foundation/foundation/components/_offcanvas.scss */
.offcanvas-overlap-bottom .exit-off-canvas {
  -webkit-backface-visibility: hidden;
  -webkit-box-shadow: none;
          box-shadow: none;
  cursor: pointer;
  -webkit-transition: background 300ms ease;
  transition: background 300ms ease;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  background: rgba(0, 0, 0, 0.5);
  bottom: 0;
  display: block;
  left: 0;
  position: absolute;
  right: 0;
  top: 0;
  z-index: 1002; }
  @media only screen and (min-width: 768px) {
    /* line 296, app/scss/foundation/foundation/components/_offcanvas.scss */
    .offcanvas-overlap-bottom .exit-off-canvas:hover {
      background: rgba(0, 0, 0, 0.5); } }

/* line 545, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .left-off-canvas-menu {
  left: -18.75rem; }

/* line 546, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .right-off-canvas-menu {
  right: -18.75rem; }

/* line 547, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .top-off-canvas-menu {
  top: -18.75rem; }

/* line 548, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .bottom-off-canvas-menu {
  bottom: -18.75rem; }

/* line 550, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .move-left > .inner-wrap {
  right: 18.75rem; }

/* line 551, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .move-right > .inner-wrap {
  left: 18.75rem; }

/* line 552, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .move-top > .inner-wrap {
  right: 18.75rem; }

/* line 553, app/scss/foundation/foundation/components/_offcanvas.scss */
.no-csstransforms .move-bottom > .inner-wrap {
  left: 18.75rem; }

/* line 558, app/scss/foundation/foundation/components/_offcanvas.scss */
.left-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 18.75rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(-100%, 0, 0);
  transform: translate3d(-100%, 0, 0);
  left: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  /* line 307, app/scss/foundation/foundation/components/_offcanvas.scss */
  .left-submenu * {
    -webkit-backface-visibility: hidden; }
  /* line 345, app/scss/foundation/foundation/components/_offcanvas.scss */
  .left-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    /* line 354, app/scss/foundation/foundation/components/_offcanvas.scss */
    .left-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    /* line 378, app/scss/foundation/foundation/components/_offcanvas.scss */
    .left-submenu .back > a:before {
      content: "\AB";
      margin-right: .5rem;
      display: inline; }
  /* line 560, app/scss/foundation/foundation/components/_offcanvas.scss */
  .left-submenu.move-right, .left-submenu.offcanvas-overlap-right, .left-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0); }

/* line 565, app/scss/foundation/foundation/components/_offcanvas.scss */
.right-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 18.75rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(100%, 0, 0);
  transform: translate3d(100%, 0, 0);
  right: 0;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  /* line 307, app/scss/foundation/foundation/components/_offcanvas.scss */
  .right-submenu * {
    -webkit-backface-visibility: hidden; }
  /* line 345, app/scss/foundation/foundation/components/_offcanvas.scss */
  .right-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    /* line 354, app/scss/foundation/foundation/components/_offcanvas.scss */
    .right-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
    /* line 367, app/scss/foundation/foundation/components/_offcanvas.scss */
    .right-submenu .back > a:after {
      content: "\BB";
      margin-left: .5rem;
      display: inline; }
  /* line 567, app/scss/foundation/foundation/components/_offcanvas.scss */
  .right-submenu.move-left, .right-submenu.offcanvas-overlap-left, .right-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0%, 0, 0);
    transform: translate3d(0%, 0, 0); }

/* line 572, app/scss/foundation/foundation/components/_offcanvas.scss */
.top-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 18.75rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, -100%, 0);
  transform: translate3d(0, -100%, 0);
  top: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  /* line 307, app/scss/foundation/foundation/components/_offcanvas.scss */
  .top-submenu * {
    -webkit-backface-visibility: hidden; }
  /* line 345, app/scss/foundation/foundation/components/_offcanvas.scss */
  .top-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    /* line 354, app/scss/foundation/foundation/components/_offcanvas.scss */
    .top-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  /* line 574, app/scss/foundation/foundation/components/_offcanvas.scss */
  .top-submenu.move-bottom, .top-submenu.offcanvas-overlap-bottom, .top-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0, 0%, 0);
    transform: translate3d(0, 0%, 0); }

/* line 579, app/scss/foundation/foundation/components/_offcanvas.scss */
.bottom-submenu {
  -webkit-backface-visibility: hidden;
  -webkit-overflow-scrolling: touch;
  background: rgba(31, 31, 31, 0.05);
  bottom: 0;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  margin: 0;
  overflow-x: hidden;
  overflow-y: auto;
  position: absolute;
  top: 0;
  width: 18.75rem;
  height: 18.75rem;
  z-index: 1002;
  -webkit-transform: translate3d(0, 100%, 0);
  transform: translate3d(0, 100%, 0);
  bottom: 0;
  width: 100%;
  -webkit-transition: -webkit-transform 500ms ease;
  transition: -webkit-transform 500ms ease;
  transition: transform 500ms ease;
  transition: transform 500ms ease, -webkit-transform 500ms ease; }
  /* line 307, app/scss/foundation/foundation/components/_offcanvas.scss */
  .bottom-submenu * {
    -webkit-backface-visibility: hidden; }
  /* line 345, app/scss/foundation/foundation/components/_offcanvas.scss */
  .bottom-submenu .back > a {
    background: #444;
    border-bottom: none;
    border-top: 1px solid #5e5e5e;
    color: #999999;
    font-weight: bold;
    padding: 0.3rem 0.9375rem;
    text-transform: uppercase;
    margin: 0; }
    /* line 354, app/scss/foundation/foundation/components/_offcanvas.scss */
    .bottom-submenu .back > a:hover {
      background: #303030;
      border-bottom: none;
      border-top: 1px solid #5e5e5e; }
  /* line 581, app/scss/foundation/foundation/components/_offcanvas.scss */
  .bottom-submenu.move-top, .bottom-submenu.offcanvas-overlap-top, .bottom-submenu.offcanvas-overlap {
    -webkit-transform: translate3d(0, 0%, 0);
    transform: translate3d(0, 0%, 0); }

/* line 594, app/scss/foundation/foundation/components/_offcanvas.scss */
.left-off-canvas-menu ul.off-canvas-list li.has-submenu > a:after {
  content: "\BB";
  margin-left: .5rem;
  display: inline; }

/* line 597, app/scss/foundation/foundation/components/_offcanvas.scss */
.right-off-canvas-menu ul.off-canvas-list li.has-submenu > a:before {
  content: "\AB";
  margin-right: .5rem;
  display: inline; }

/* line 13, app/scss/partials/custom_components/_tab-bar.scss */
.tab-bar .title {
  padding-left: 20px; }
  /* line 15, app/scss/partials/custom_components/_tab-bar.scss */
  .tab-bar .title .logo {
    width: 6.25rem;
    background: url("/themes/sanmyaku/design/images/vanilla-logo.png") no-repeat center;
    background-size: contain;
    text-indent: -99999px; }

/* line 26, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .left-off-canvas-toggle {
  cursor: pointer; }
  /* line 28, app/scss/partials/custom_components/_tab-bar.scss */
  .off-canvas-wrap .left-off-canvas-toggle .hamburger {
    width: 1.6875rem;
    height: 1.6875rem;
    position: absolute;
    top: calc(3.75rem / 2 - 1.6875rem / 2);
    left: calc(3.75rem / 2 - 1.6875rem / 2); }

/* line 41, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .right-off-canvas-toggle {
  cursor: pointer; }
  /* line 43, app/scss/partials/custom_components/_tab-bar.scss */
  .off-canvas-wrap .right-off-canvas-toggle .hamburger {
    width: 1.6875rem;
    height: 1.6875rem;
    position: absolute;
    top: calc(3.75rem / 2 - 1.6875rem / 2);
    right: calc(3.75rem / 2 - 1.6875rem / 2);
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg); }

/* line 56, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .tab-bar {
  border-bottom: 1px solid transparent; }

/* line 59, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .TitleBar {
  text-align: left;
  border-right: 1px solid;
  border-left: 1px solid; }

/* line 68, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .right-menu-signedin {
  width: 37.5rem;
  position: absolute;
  right: 0;
  top: 0; }

/* line 78, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .ProfilePhoto {
  height: 2.75rem;
  width: 2.75rem;
  border-radius: 50%;
  border: 2px solid;
  position: absolute;
  top: calc(3.75rem / 2 - 2.75rem / 2);
  right: calc(3.75rem + 1.375rem); }

@media only screen and (max-width: 40em) {
  /* line 92, app/scss/partials/custom_components/_tab-bar.scss */
  .off-canvas-wrap .tab-bar .ProfilePhoto {
    display: none; } }

/* line 100, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .UserName {
  position: absolute;
  top: 0;
  right: 9.25rem; }

/* line 109, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .right-menu-signedout {
  width: 13.75rem;
  position: absolute;
  right: 0;
  top: 0; }
  /* line 114, app/scss/partials/custom_components/_tab-bar.scss */
  .off-canvas-wrap .right-menu-signedout .header-login {
    float: right;
    margin-right: 3.75rem; }

/* line 123, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .avatar-placeholder {
  height: 2.75rem;
  width: 2.75rem; }

/* line 129, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .right-menu-signedout a:first-of-type {
  padding-right: 1.25rem; }

/* line 133, app/scss/partials/custom_components/_tab-bar.scss */
.off-canvas-wrap .right-menu-signedout .right-small {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border-left-width: 0; }

/* line 8, app/scss/partials/custom_components/_side-menu.scss */
.left-off-canvas-menu .menu-top-bar, .right-off-canvas-menu .menu-top-bar {
  height: 3.75rem;
  font-size: 1.125rem;
  line-height: 3.75rem;
  position: relative; }

/* line 18, app/scss/partials/custom_components/_side-menu.scss */
.left-off-canvas-menu .menu-top-bar-title {
  padding-left: 2.3125rem; }

/* line 23, app/scss/partials/custom_components/_side-menu.scss */
.right-off-canvas-menu .menu-top-bar-title {
  text-align: right;
  padding-right: 2.3125rem; }

/* line 31, app/scss/partials/custom_components/_side-menu.scss */
.left-off-canvas-menu .menu-top-bar-close, .right-off-canvas-menu .menu-top-bar-close {
  height: 3.75rem;
  width: 3.75rem;
  position: absolute;
  top: 0;
  right: 0; }
  /* line 37, app/scss/partials/custom_components/_side-menu.scss */
  .left-off-canvas-menu .menu-top-bar-close span.exit-off-canvas, .right-off-canvas-menu .menu-top-bar-close span.exit-off-canvas {
    background: none;
    text-align: center;
    height: 3.75rem;
    width: 3.75rem;
    position: absolute; }
    /* line 44, app/scss/partials/custom_components/_side-menu.scss */
    .left-off-canvas-menu .menu-top-bar-close span.exit-off-canvas:hover img, .right-off-canvas-menu .menu-top-bar-close span.exit-off-canvas:hover img {
      opacity: 1.0; }
    /* line 48, app/scss/partials/custom_components/_side-menu.scss */
    .left-off-canvas-menu .menu-top-bar-close span.exit-off-canvas img, .right-off-canvas-menu .menu-top-bar-close span.exit-off-canvas img {
      opacity: 0.6;
      height: 1.125rem;
      width: 1.125rem; }

/* line 57, app/scss/partials/custom_components/_side-menu.scss */
.right-off-canvas-menu .menu-top-bar-close {
  right: initial;
  left: 0; }

/* line 65, app/scss/partials/custom_components/_side-menu.scss */
.left-off-canvas-menu .off-canvas-list, .right-off-canvas-menu .off-canvas-list {
  padding: 2.5rem 0; }
  /* line 67, app/scss/partials/custom_components/_side-menu.scss */
  .left-off-canvas-menu .off-canvas-list a, .right-off-canvas-menu .off-canvas-list a {
    font-size: 1rem;
    padding: 0.5rem 0 0.5rem 2.3125rem;
    border-bottom-width: 0; }
    /* line 71, app/scss/partials/custom_components/_side-menu.scss */
    .left-off-canvas-menu .off-canvas-list a span, .right-off-canvas-menu .off-canvas-list a span {
      font-size: 1rem; }

/* line 80, app/scss/partials/custom_components/_side-menu.scss */
.left-off-canvas-menu .off-canvas-list a:hover {
  border-left: 0.125rem solid #FFFFFF;
  padding-left: 2.1875rem; }

/* line 90, app/scss/partials/custom_components/_side-menu.scss */
.right-off-canvas-menu .off-canvas-list a:hover {
  border-right: 0.125rem solid #FFFFFF;
  padding-right: 2.1875rem; }

/* line 100, app/scss/partials/custom_components/_side-menu.scss */
.left-off-canvas-menu .menu-seperator, .right-off-canvas-menu .menu-seperator {
  width: 90%;
  margin: 0 auto;
  border: 0; }

/* line 108, app/scss/partials/custom_components/_side-menu.scss */
.ForumStats {
  padding: 1.875rem 0; }
  /* line 110, app/scss/partials/custom_components/_side-menu.scss */
  .ForumStats h4 {
    padding-left: 2.3125rem;
    font-size: 1rem;
    font-weight: bold;
    margin-bottom: 1.25rem; }
  /* line 116, app/scss/partials/custom_components/_side-menu.scss */
  .ForumStats .FS-wrap {
    padding: 0 2.3125rem; }
    /* line 118, app/scss/partials/custom_components/_side-menu.scss */
    .ForumStats .FS-wrap .FSBox {
      width: 100%;
      position: relative;
      height: 2.5rem; }
      /* line 122, app/scss/partials/custom_components/_side-menu.scss */
      .ForumStats .FS-wrap .FSBox .FSTitle, .ForumStats .FS-wrap .FSBox .FSCount {
        position: absolute;
        top: 0;
        line-height: 2.5rem;
        font-size: 0.75rem; }
      /* line 131, app/scss/partials/custom_components/_side-menu.scss */
      .ForumStats .FS-wrap .FSBox .FSCount {
        right: 0;
        text-align: right; }

/* line 140, app/scss/partials/custom_components/_side-menu.scss */
.social-icons {
  padding: 1.875rem 0 1.875rem 2.3125rem; }
  /* line 142, app/scss/partials/custom_components/_side-menu.scss */
  .social-icons a {
    padding-right: 0.625rem;
    opacity: 0.3; }
    /* line 145, app/scss/partials/custom_components/_side-menu.scss */
    .social-icons a:hover {
      opacity: 1.0; }

@media only screen and (max-width: 40em) {
  /* line 153, app/scss/partials/custom_components/_side-menu.scss */
  .right-menu-signedout a {
    display: none; } }

@media only screen and (min-width: 768px) {
  /* line 159, app/scss/partials/custom_components/_side-menu.scss */
  .off-canvas-list .mobile-login {
    display: none; } }

/* line 36, app/scss/partials/foundation_components/_offcanvas.scss */
.off-canvas-wrap.move-left, .off-canvas-wrap.move-right {
  position: fixed; }

/* line 42, app/scss/partials/foundation_components/_offcanvas.scss */
.exit-off-canvas svg {
  height: 1.25rem;
  width: 1.25rem;
  fill: #222222; }
  /* line 46, app/scss/partials/foundation_components/_offcanvas.scss */
  .exit-off-canvas svg:hover {
    fill: #6f6f6f; }

/* small displays */
@media only screen {
  /* line 244, app/scss/foundation/foundation/components/_visibility.scss */
  .show-for-small-only, .show-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  /* line 247, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-for-small-only, .hide-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  /* line 251, app/scss/foundation/foundation/components/_visibility.scss */
  .visible-for-small-only, .visible-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  /* line 254, app/scss/foundation/foundation/components/_visibility.scss */
  .hidden-for-small-only, .hidden-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  /* line 259, app/scss/foundation/foundation/components/_visibility.scss */
  table.show-for-small-only, table.show-for-small-up, table.show-for-small, table.show-for-small-down, table.hide-for-medium-only, table.hide-for-medium-up, table.hide-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  /* line 262, app/scss/foundation/foundation/components/_visibility.scss */
  thead.show-for-small-only, thead.show-for-small-up, thead.show-for-small, thead.show-for-small-down, thead.hide-for-medium-only, thead.hide-for-medium-up, thead.hide-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  /* line 265, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.show-for-small-only, tbody.show-for-small-up, tbody.show-for-small, tbody.show-for-small-down, tbody.hide-for-medium-only, tbody.hide-for-medium-up, tbody.hide-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  /* line 268, app/scss/foundation/foundation/components/_visibility.scss */
  tr.show-for-small-only, tr.show-for-small-up, tr.show-for-small, tr.show-for-small-down, tr.hide-for-medium-only, tr.hide-for-medium-up, tr.hide-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  /* line 271, app/scss/foundation/foundation/components/_visibility.scss */
  th.show-for-small-only, td.show-for-small-only, th.show-for-small-up, td.show-for-small-up, th.show-for-small, td.show-for-small, th.show-for-small-down, td.show-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.hide-for-medium-up, td.hide-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* medium displays */
@media only screen and (min-width: 768px) {
  /* line 244, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .show-for-medium-only, .show-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  /* line 247, app/scss/foundation/foundation/components/_visibility.scss */
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .hide-for-medium-only, .hide-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  /* line 251, app/scss/foundation/foundation/components/_visibility.scss */
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .visible-for-medium-only, .visible-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  /* line 254, app/scss/foundation/foundation/components/_visibility.scss */
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .hidden-for-medium-only, .hidden-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  /* line 259, app/scss/foundation/foundation/components/_visibility.scss */
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.show-for-medium-only, table.show-for-medium-up, table.show-for-medium, table.show-for-medium-down, table.hide-for-large-only, table.hide-for-large-up, table.hide-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  /* line 262, app/scss/foundation/foundation/components/_visibility.scss */
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.show-for-medium-only, thead.show-for-medium-up, thead.show-for-medium, thead.show-for-medium-down, thead.hide-for-large-only, thead.hide-for-large-up, thead.hide-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  /* line 265, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.show-for-medium-only, tbody.show-for-medium-up, tbody.show-for-medium, tbody.show-for-medium-down, tbody.hide-for-large-only, tbody.hide-for-large-up, tbody.hide-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  /* line 268, app/scss/foundation/foundation/components/_visibility.scss */
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.show-for-medium-only, tr.show-for-medium-up, tr.show-for-medium, tr.show-for-medium-down, tr.hide-for-large-only, tr.hide-for-large-up, tr.hide-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  /* line 271, app/scss/foundation/foundation/components/_visibility.scss */
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.show-for-medium-only, td.show-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.show-for-medium, td.show-for-medium, th.show-for-medium-down, td.show-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.hide-for-large-up, td.hide-for-large-up, th.hide-for-large, td.hide-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* large displays */
@media only screen and (min-width: 64.0625em) {
  /* line 244, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .show-for-large-only, .show-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  /* line 247, app/scss/foundation/foundation/components/_visibility.scss */
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .hide-for-large-only, .hide-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  /* line 251, app/scss/foundation/foundation/components/_visibility.scss */
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .visible-for-large-only, .visible-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  /* line 254, app/scss/foundation/foundation/components/_visibility.scss */
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .hidden-for-large-only, .hidden-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  /* line 259, app/scss/foundation/foundation/components/_visibility.scss */
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.show-for-large-only, table.show-for-large-up, table.show-for-large, table.show-for-large-down, table.hide-for-xlarge-only, table.hide-for-xlarge-up, table.hide-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  /* line 262, app/scss/foundation/foundation/components/_visibility.scss */
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.show-for-large-only, thead.show-for-large-up, thead.show-for-large, thead.show-for-large-down, thead.hide-for-xlarge-only, thead.hide-for-xlarge-up, thead.hide-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  /* line 265, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.show-for-large-only, tbody.show-for-large-up, tbody.show-for-large, tbody.show-for-large-down, tbody.hide-for-xlarge-only, tbody.hide-for-xlarge-up, tbody.hide-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  /* line 268, app/scss/foundation/foundation/components/_visibility.scss */
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.show-for-large-only, tr.show-for-large-up, tr.show-for-large, tr.show-for-large-down, tr.hide-for-xlarge-only, tr.hide-for-xlarge-up, tr.hide-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  /* line 271, app/scss/foundation/foundation/components/_visibility.scss */
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.show-for-large-only, td.show-for-large-only, th.show-for-large-up, td.show-for-large-up, th.show-for-large, td.show-for-large, th.show-for-large-down, td.show-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.hide-for-xlarge-up, td.hide-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xlarge displays */
@media only screen and (min-width: 90.0625em) {
  /* line 244, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .show-for-xlarge-only, .show-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  /* line 247, app/scss/foundation/foundation/components/_visibility.scss */
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .hide-for-xlarge-only, .hide-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  /* line 251, app/scss/foundation/foundation/components/_visibility.scss */
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .visible-for-xlarge-only, .visible-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  /* line 254, app/scss/foundation/foundation/components/_visibility.scss */
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .hidden-for-xlarge-only, .hidden-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  /* line 259, app/scss/foundation/foundation/components/_visibility.scss */
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.show-for-xlarge-only, table.show-for-xlarge-up, table.show-for-xlarge, table.show-for-xlarge-down, table.hide-for-xxlarge-only, table.hide-for-xxlarge-up, table.hide-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  /* line 262, app/scss/foundation/foundation/components/_visibility.scss */
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.show-for-xlarge-only, thead.show-for-xlarge-up, thead.show-for-xlarge, thead.show-for-xlarge-down, thead.hide-for-xxlarge-only, thead.hide-for-xxlarge-up, thead.hide-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  /* line 265, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.show-for-xlarge-only, tbody.show-for-xlarge-up, tbody.show-for-xlarge, tbody.show-for-xlarge-down, tbody.hide-for-xxlarge-only, tbody.hide-for-xxlarge-up, tbody.hide-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  /* line 268, app/scss/foundation/foundation/components/_visibility.scss */
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.show-for-xlarge-only, tr.show-for-xlarge-up, tr.show-for-xlarge, tr.show-for-xlarge-down, tr.hide-for-xxlarge-only, tr.hide-for-xxlarge-up, tr.hide-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  /* line 271, app/scss/foundation/foundation/components/_visibility.scss */
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.show-for-xlarge-only, td.show-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.show-for-xlarge, td.show-for-xlarge, th.show-for-xlarge-down, td.show-for-xlarge-down, th.hide-for-xxlarge-only, td.hide-for-xxlarge-only, th.hide-for-xxlarge-up, td.hide-for-xxlarge-up, th.hide-for-xxlarge, td.hide-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* xxlarge displays */
@media only screen and (min-width: 120.0625em) {
  /* line 244, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-for-small-only, .show-for-small-up, .hide-for-small, .hide-for-small-down, .hide-for-medium-only, .show-for-medium-up, .hide-for-medium, .hide-for-medium-down, .hide-for-large-only, .show-for-large-up, .hide-for-large, .hide-for-large-down, .hide-for-xlarge-only, .show-for-xlarge-up, .hide-for-xlarge, .hide-for-xlarge-down, .show-for-xxlarge-only, .show-for-xxlarge-up, .show-for-xxlarge, .show-for-xxlarge-down {
    display: inherit !important; }
  /* line 247, app/scss/foundation/foundation/components/_visibility.scss */
  .show-for-small-only, .hide-for-small-up, .show-for-small, .show-for-small-down, .show-for-medium-only, .hide-for-medium-up, .show-for-medium, .show-for-medium-down, .show-for-large-only, .hide-for-large-up, .show-for-large, .show-for-large-down, .show-for-xlarge-only, .hide-for-xlarge-up, .show-for-xlarge, .show-for-xlarge-down, .hide-for-xxlarge-only, .hide-for-xxlarge-up, .hide-for-xxlarge, .hide-for-xxlarge-down {
    display: none !important; }
  /* line 251, app/scss/foundation/foundation/components/_visibility.scss */
  .hidden-for-small-only, .visible-for-small-up, .hidden-for-small, .hidden-for-small-down, .hidden-for-medium-only, .visible-for-medium-up, .hidden-for-medium, .hidden-for-medium-down, .hidden-for-large-only, .visible-for-large-up, .hidden-for-large, .hidden-for-large-down, .hidden-for-xlarge-only, .visible-for-xlarge-up, .hidden-for-xlarge, .hidden-for-xlarge-down, .visible-for-xxlarge-only, .visible-for-xxlarge-up, .visible-for-xxlarge, .visible-for-xxlarge-down {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }
  /* line 254, app/scss/foundation/foundation/components/_visibility.scss */
  .visible-for-small-only, .hidden-for-small-up, .visible-for-small, .visible-for-small-down, .visible-for-medium-only, .hidden-for-medium-up, .visible-for-medium, .visible-for-medium-down, .visible-for-large-only, .hidden-for-large-up, .visible-for-large, .visible-for-large-down, .visible-for-xlarge-only, .hidden-for-xlarge-up, .visible-for-xlarge, .visible-for-xlarge-down, .hidden-for-xxlarge-only, .hidden-for-xxlarge-up, .hidden-for-xxlarge, .hidden-for-xxlarge-down {
    clip: rect(1px, 1px, 1px, 1px);
    height: 1px;
    overflow: hidden;
    position: absolute !important;
    width: 1px; }
  /* line 259, app/scss/foundation/foundation/components/_visibility.scss */
  table.hide-for-small-only, table.show-for-small-up, table.hide-for-small, table.hide-for-small-down, table.hide-for-medium-only, table.show-for-medium-up, table.hide-for-medium, table.hide-for-medium-down, table.hide-for-large-only, table.show-for-large-up, table.hide-for-large, table.hide-for-large-down, table.hide-for-xlarge-only, table.show-for-xlarge-up, table.hide-for-xlarge, table.hide-for-xlarge-down, table.show-for-xxlarge-only, table.show-for-xxlarge-up, table.show-for-xxlarge, table.show-for-xxlarge-down {
    display: table !important; }
  /* line 262, app/scss/foundation/foundation/components/_visibility.scss */
  thead.hide-for-small-only, thead.show-for-small-up, thead.hide-for-small, thead.hide-for-small-down, thead.hide-for-medium-only, thead.show-for-medium-up, thead.hide-for-medium, thead.hide-for-medium-down, thead.hide-for-large-only, thead.show-for-large-up, thead.hide-for-large, thead.hide-for-large-down, thead.hide-for-xlarge-only, thead.show-for-xlarge-up, thead.hide-for-xlarge, thead.hide-for-xlarge-down, thead.show-for-xxlarge-only, thead.show-for-xxlarge-up, thead.show-for-xxlarge, thead.show-for-xxlarge-down {
    display: table-header-group !important; }
  /* line 265, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.hide-for-small-only, tbody.show-for-small-up, tbody.hide-for-small, tbody.hide-for-small-down, tbody.hide-for-medium-only, tbody.show-for-medium-up, tbody.hide-for-medium, tbody.hide-for-medium-down, tbody.hide-for-large-only, tbody.show-for-large-up, tbody.hide-for-large, tbody.hide-for-large-down, tbody.hide-for-xlarge-only, tbody.show-for-xlarge-up, tbody.hide-for-xlarge, tbody.hide-for-xlarge-down, tbody.show-for-xxlarge-only, tbody.show-for-xxlarge-up, tbody.show-for-xxlarge, tbody.show-for-xxlarge-down {
    display: table-row-group !important; }
  /* line 268, app/scss/foundation/foundation/components/_visibility.scss */
  tr.hide-for-small-only, tr.show-for-small-up, tr.hide-for-small, tr.hide-for-small-down, tr.hide-for-medium-only, tr.show-for-medium-up, tr.hide-for-medium, tr.hide-for-medium-down, tr.hide-for-large-only, tr.show-for-large-up, tr.hide-for-large, tr.hide-for-large-down, tr.hide-for-xlarge-only, tr.show-for-xlarge-up, tr.hide-for-xlarge, tr.hide-for-xlarge-down, tr.show-for-xxlarge-only, tr.show-for-xxlarge-up, tr.show-for-xxlarge, tr.show-for-xxlarge-down {
    display: table-row; }
  /* line 271, app/scss/foundation/foundation/components/_visibility.scss */
  th.hide-for-small-only, td.hide-for-small-only, th.show-for-small-up, td.show-for-small-up, th.hide-for-small, td.hide-for-small, th.hide-for-small-down, td.hide-for-small-down, th.hide-for-medium-only, td.hide-for-medium-only, th.show-for-medium-up, td.show-for-medium-up, th.hide-for-medium, td.hide-for-medium, th.hide-for-medium-down, td.hide-for-medium-down, th.hide-for-large-only, td.hide-for-large-only, th.show-for-large-up, td.show-for-large-up, th.hide-for-large, td.hide-for-large, th.hide-for-large-down, td.hide-for-large-down, th.hide-for-xlarge-only, td.hide-for-xlarge-only, th.show-for-xlarge-up, td.show-for-xlarge-up, th.hide-for-xlarge, td.hide-for-xlarge, th.hide-for-xlarge-down, td.hide-for-xlarge-down, th.show-for-xxlarge-only, td.show-for-xxlarge-only, th.show-for-xxlarge-up, td.show-for-xxlarge-up, th.show-for-xxlarge, td.show-for-xxlarge, th.show-for-xxlarge-down, td.show-for-xxlarge-down {
    display: table-cell !important; } }

/* Orientation targeting */
/* line 285, app/scss/foundation/foundation/components/_visibility.scss */
.show-for-landscape,
.hide-for-portrait {
  display: inherit !important; }

/* line 287, app/scss/foundation/foundation/components/_visibility.scss */
.hide-for-landscape,
.show-for-portrait {
  display: none !important; }

/* Specific visibility for tables */
/* line 292, app/scss/foundation/foundation/components/_visibility.scss */
table.hide-for-landscape, table.show-for-portrait {
  display: table !important; }

/* line 296, app/scss/foundation/foundation/components/_visibility.scss */
thead.hide-for-landscape, thead.show-for-portrait {
  display: table-header-group !important; }

/* line 300, app/scss/foundation/foundation/components/_visibility.scss */
tbody.hide-for-landscape, tbody.show-for-portrait {
  display: table-row-group !important; }

/* line 304, app/scss/foundation/foundation/components/_visibility.scss */
tr.hide-for-landscape, tr.show-for-portrait {
  display: table-row !important; }

/* line 309, app/scss/foundation/foundation/components/_visibility.scss */
td.hide-for-landscape, td.show-for-portrait,
th.hide-for-landscape,
th.show-for-portrait {
  display: table-cell !important; }

@media only screen and (orientation: landscape) {
  /* line 314, app/scss/foundation/foundation/components/_visibility.scss */
  .show-for-landscape,
  .hide-for-portrait {
    display: inherit !important; }
  /* line 316, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-for-landscape,
  .show-for-portrait {
    display: none !important; }
  /* Specific visibility for tables */
  /* line 321, app/scss/foundation/foundation/components/_visibility.scss */
  table.show-for-landscape, table.hide-for-portrait {
    display: table !important; }
  /* line 325, app/scss/foundation/foundation/components/_visibility.scss */
  thead.show-for-landscape, thead.hide-for-portrait {
    display: table-header-group !important; }
  /* line 329, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.show-for-landscape, tbody.hide-for-portrait {
    display: table-row-group !important; }
  /* line 333, app/scss/foundation/foundation/components/_visibility.scss */
  tr.show-for-landscape, tr.hide-for-portrait {
    display: table-row !important; }
  /* line 338, app/scss/foundation/foundation/components/_visibility.scss */
  td.show-for-landscape, td.hide-for-portrait,
  th.show-for-landscape,
  th.hide-for-portrait {
    display: table-cell !important; } }

@media only screen and (orientation: portrait) {
  /* line 344, app/scss/foundation/foundation/components/_visibility.scss */
  .show-for-portrait,
  .hide-for-landscape {
    display: inherit !important; }
  /* line 346, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-for-portrait,
  .show-for-landscape {
    display: none !important; }
  /* Specific visibility for tables */
  /* line 351, app/scss/foundation/foundation/components/_visibility.scss */
  table.show-for-portrait, table.hide-for-landscape {
    display: table !important; }
  /* line 355, app/scss/foundation/foundation/components/_visibility.scss */
  thead.show-for-portrait, thead.hide-for-landscape {
    display: table-header-group !important; }
  /* line 359, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.show-for-portrait, tbody.hide-for-landscape {
    display: table-row-group !important; }
  /* line 363, app/scss/foundation/foundation/components/_visibility.scss */
  tr.show-for-portrait, tr.hide-for-landscape {
    display: table-row !important; }
  /* line 368, app/scss/foundation/foundation/components/_visibility.scss */
  td.show-for-portrait, td.hide-for-landscape,
  th.show-for-portrait,
  th.hide-for-landscape {
    display: table-cell !important; } }

/* Touch-enabled device targeting */
/* line 374, app/scss/foundation/foundation/components/_visibility.scss */
.show-for-touch {
  display: none !important; }

/* line 375, app/scss/foundation/foundation/components/_visibility.scss */
.hide-for-touch {
  display: inherit !important; }

/* line 376, app/scss/foundation/foundation/components/_visibility.scss */
.touch .show-for-touch {
  display: inherit !important; }

/* line 377, app/scss/foundation/foundation/components/_visibility.scss */
.touch .hide-for-touch {
  display: none !important; }

/* Specific visibility for tables */
/* line 380, app/scss/foundation/foundation/components/_visibility.scss */
table.hide-for-touch {
  display: table !important; }

/* line 381, app/scss/foundation/foundation/components/_visibility.scss */
.touch table.show-for-touch {
  display: table !important; }

/* line 382, app/scss/foundation/foundation/components/_visibility.scss */
thead.hide-for-touch {
  display: table-header-group !important; }

/* line 383, app/scss/foundation/foundation/components/_visibility.scss */
.touch thead.show-for-touch {
  display: table-header-group !important; }

/* line 384, app/scss/foundation/foundation/components/_visibility.scss */
tbody.hide-for-touch {
  display: table-row-group !important; }

/* line 385, app/scss/foundation/foundation/components/_visibility.scss */
.touch tbody.show-for-touch {
  display: table-row-group !important; }

/* line 386, app/scss/foundation/foundation/components/_visibility.scss */
tr.hide-for-touch {
  display: table-row !important; }

/* line 387, app/scss/foundation/foundation/components/_visibility.scss */
.touch tr.show-for-touch {
  display: table-row !important; }

/* line 388, app/scss/foundation/foundation/components/_visibility.scss */
td.hide-for-touch {
  display: table-cell !important; }

/* line 389, app/scss/foundation/foundation/components/_visibility.scss */
.touch td.show-for-touch {
  display: table-cell !important; }

/* line 390, app/scss/foundation/foundation/components/_visibility.scss */
th.hide-for-touch {
  display: table-cell !important; }

/* line 391, app/scss/foundation/foundation/components/_visibility.scss */
.touch th.show-for-touch {
  display: table-cell !important; }

/* Screen reader-specific classes */
/* line 394, app/scss/foundation/foundation/components/_visibility.scss */
.show-for-sr {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }

/* line 397, app/scss/foundation/foundation/components/_visibility.scss */
.show-on-focus {
  clip: rect(1px, 1px, 1px, 1px);
  height: 1px;
  overflow: hidden;
  position: absolute !important;
  width: 1px; }
  /* line 400, app/scss/foundation/foundation/components/_visibility.scss */
  .show-on-focus:focus, .show-on-focus:active {
    position: static !important;
    height: auto;
    width: auto;
    overflow: visible;
    clip: auto; }

/* Print visibility */
/* line 408, app/scss/foundation/foundation/components/_visibility.scss */
.print-only,
.show-for-print {
  display: none !important; }

@media print {
  /* line 411, app/scss/foundation/foundation/components/_visibility.scss */
  .print-only,
  .show-for-print {
    display: block !important; }
  /* line 413, app/scss/foundation/foundation/components/_visibility.scss */
  .hide-on-print,
  .hide-for-print {
    display: none !important; }
  /* line 416, app/scss/foundation/foundation/components/_visibility.scss */
  table.show-for-print {
    display: table !important; }
  /* line 417, app/scss/foundation/foundation/components/_visibility.scss */
  thead.show-for-print {
    display: table-header-group !important; }
  /* line 418, app/scss/foundation/foundation/components/_visibility.scss */
  tbody.show-for-print {
    display: table-row-group !important; }
  /* line 419, app/scss/foundation/foundation/components/_visibility.scss */
  tr.show-for-print {
    display: table-row !important; }
  /* line 420, app/scss/foundation/foundation/components/_visibility.scss */
  td.show-for-print {
    display: table-cell !important; }
  /* line 421, app/scss/foundation/foundation/components/_visibility.scss */
  th.show-for-print {
    display: table-cell !important; } }

/* line 23, app/scss/partials/foundation_components/_visibility.scss */
.Hidden {
  display: none; }

/* line 23, app/scss/partials/vanilla_components/_avatars.scss */
.ProfilePhoto,
.ProfilePhotoMedium {
  width: 50px;
  height: 50px; }

/* line 33, app/scss/partials/vanilla_components/_avatars.scss */
.Activities .Author,
.Conversations .Author,
.Discussion .Author {
  width: 2.5rem;
  margin-top: 1.875rem;
  padding-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 33, app/scss/partials/vanilla_components/_avatars.scss */
    .Activities .Author,
    .Conversations .Author,
    .Discussion .Author {
      padding-left: 1.5625rem; } }
  /* line 40, app/scss/partials/vanilla_components/_avatars.scss */
  .Activities .Author a, .Activities .Author img,
  .Conversations .Author a,
  .Conversations .Author img,
  .Discussion .Author a,
  .Discussion .Author img {
    width: 2.5rem;
    height: 2.5rem; }
  /* line 44, app/scss/partials/vanilla_components/_avatars.scss */
  .Activities .Author img,
  .Conversations .Author img,
  .Discussion .Author img {
    position: static;
    margin-top: 0.3125rem; }

/* line 52, app/scss/partials/vanilla_components/_avatars.scss */
.Author .PhotoWrap {
  margin-right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 52, app/scss/partials/vanilla_components/_avatars.scss */
    .Author .PhotoWrap {
      margin-right: 1.25rem; } }

/* line 13, app/scss/partials/vanilla_components/_general.scss */
.is-content h1 {
  font-size: 1.5rem;
  line-height: 2.125rem;
  margin: 0;
  padding: 0.9375rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 13, app/scss/partials/vanilla_components/_general.scss */
    .is-content h1 {
      padding: 0.9375rem 1.5625rem; } }
  /* line 21, app/scss/partials/vanilla_components/_general.scss */
  .is-content h1.H {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }

/* line 29, app/scss/partials/vanilla_components/_general.scss */
.ItemDiscussion {
  padding-top: 0;
  margin-bottom: 0; }

/* line 35, app/scss/partials/vanilla_components/_general.scss */
a {
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }

/* line 40, app/scss/partials/vanilla_components/_general.scss */
.Empty {
  padding-bottom: 1.5625rem;
  line-height: 1.375rem;
  margin: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 40, app/scss/partials/vanilla_components/_general.scss */
    .Empty {
      margin: 0.625rem 1.5625rem; } }

/* line 50, app/scss/partials/vanilla_components/_general.scss */
.PageDescription {
  line-height: 1.375rem;
  margin: 0.3125rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 50, app/scss/partials/vanilla_components/_general.scss */
    .PageDescription {
      margin: 0.3125rem 1.5625rem; } }

/* line 59, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta {
  padding-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 59, app/scss/partials/vanilla_components/_general.scss */
    .Discussions .Meta {
      padding-left: 1.5625rem; } }

/* line 69, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta .Tag:first-child, .CategoryList .Meta .Tag:first-child {
  padding-left: 0; }

/* line 72, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta .HasNew, .CategoryList .Meta .HasNew {
  margin-right: 0.5rem; }

/* line 76, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Item, .CategoryList .Item {
  padding-left: 1.5625rem;
  padding-right: 1.5625rem;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  border-top: 1px solid transparent; }
  /* line 81, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Item div.Title, .Discussions .Item .TitleWrap, .CategoryList .Item div.Title, .CategoryList .Item .TitleWrap {
    margin-left: 0.625rem; }
    @media only screen and (min-width: 768px) and (max-width: 1024px) {
      /* line 81, app/scss/partials/vanilla_components/_general.scss */
      .Discussions .Item div.Title, .Discussions .Item .TitleWrap, .CategoryList .Item div.Title, .CategoryList .Item .TitleWrap {
        width: 55%; } }
    @media only screen and (min-width: 768px) {
      /* line 81, app/scss/partials/vanilla_components/_general.scss */
      .Discussions .Item div.Title, .Discussions .Item .TitleWrap, .CategoryList .Item div.Title, .CategoryList .Item .TitleWrap {
        margin-left: 1.5625rem; } }
    @media only screen and (min-width: 64.0625em) {
      /* line 81, app/scss/partials/vanilla_components/_general.scss */
      .Discussions .Item div.Title, .Discussions .Item .TitleWrap, .CategoryList .Item div.Title, .CategoryList .Item .TitleWrap {
        width: 70%; } }
    /* line 92, app/scss/partials/vanilla_components/_general.scss */
    .Discussions .Item div.Title a, .Discussions .Item .TitleWrap a, .CategoryList .Item div.Title a, .CategoryList .Item .TitleWrap a {
      font-size: 1.5rem;
      line-height: 2.125rem;
      border-bottom: 1px solid transparent;
      display: inline-block; }
  /* line 99, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Item .MItem, .CategoryList .Item .MItem {
    font-size: 0.9375rem;
    line-height: 1.375rem; }
    /* line 102, app/scss/partials/vanilla_components/_general.scss */
    .Discussions .Item .MItem.LastCommentBy, .CategoryList .Item .MItem.LastCommentBy {
      margin-left: 0; }
    /* line 108, app/scss/partials/vanilla_components/_general.scss */
    .Discussions .Item .MItem.Category a, .Discussions .Item .MItem.LastDiscussionTitle a, .Discussions .Item .MItem.LastCommentBy a, .CategoryList .Item .MItem.Category a, .CategoryList .Item .MItem.LastDiscussionTitle a, .CategoryList .Item .MItem.LastCommentBy a {
      padding-bottom: 0.1875rem;
      border-bottom: 1px solid transparent; }

@media only screen and (max-width: 40em) {
  /* line 121, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta .CommentCount.MItem, .Discussions .Options .CommentCount.MItem {
    margin-left: -0.9375rem; }
  /* line 125, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta .CommentCount.MItem {
    margin-left: -1.5625rem;
    padding-left: 3.4375rem; }
  /* line 132, app/scss/partials/vanilla_components/_general.scss */
  .CategoryList .Meta .CommentCount.MItem, .CategoryList .Options .CommentCount.MItem {
    margin-left: -0.3125rem; }
  /* line 136, app/scss/partials/vanilla_components/_general.scss */
  .CategoryList .Meta .CommentCount.MItem {
    margin-left: -1.875rem;
    padding-left: 4.375rem; } }

@media only screen and (min-width: 768px) {
  /* line 146, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta .ViewCount,
  .Discussions .Meta .CommentCount,
  .Discussions .Meta .DiscussionCount, .Discussions .Options .ViewCount,
  .Discussions .Options .CommentCount,
  .Discussions .Options .DiscussionCount, .CategoryList .Meta .ViewCount,
  .CategoryList .Meta .CommentCount,
  .CategoryList .Meta .DiscussionCount, .CategoryList .Options .ViewCount,
  .CategoryList .Options .CommentCount,
  .CategoryList .Options .DiscussionCount {
    position: absolute;
    top: 1.25rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; } }

/* line 156, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta .ViewCount, .Discussions .Options .ViewCount, .CategoryList .Meta .ViewCount, .CategoryList .Options .ViewCount {
  top: 1.125rem; }
  /* line 158, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta .ViewCount .Number, .Discussions .Options .ViewCount .Number, .CategoryList .Meta .ViewCount .Number, .CategoryList .Options .ViewCount .Number {
    padding-top: 0.1875rem; }

/* line 162, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta .DiscussionCount, .Discussions .Options .DiscussionCount, .CategoryList .Meta .DiscussionCount, .CategoryList .Options .DiscussionCount {
  top: 1.875rem; }

/* line 165, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta .ViewCount,
.Discussions .Meta .DiscussionCount, .Discussions .Options .ViewCount,
.Discussions .Options .DiscussionCount, .CategoryList .Meta .ViewCount,
.CategoryList .Meta .DiscussionCount, .CategoryList .Options .ViewCount,
.CategoryList .Options .DiscussionCount {
  right: 8.125rem; }
  @media only screen and (max-width: 40em) {
    /* line 165, app/scss/partials/vanilla_components/_general.scss */
    .Discussions .Meta .ViewCount,
    .Discussions .Meta .DiscussionCount, .Discussions .Options .ViewCount,
    .Discussions .Options .DiscussionCount, .CategoryList .Meta .ViewCount,
    .CategoryList .Meta .DiscussionCount, .CategoryList .Options .ViewCount,
    .CategoryList .Options .DiscussionCount {
      display: none; } }

/* line 172, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta .CommentCount, .Discussions .Options .CommentCount, .CategoryList .Meta .CommentCount, .CategoryList .Options .CommentCount {
  right: 3.75rem; }
  @media only screen and (max-width: 40em) {
    /* line 175, app/scss/partials/vanilla_components/_general.scss */
    .Discussions .Meta .CommentCount.Item, .Discussions .Options .CommentCount.Item, .CategoryList .Meta .CommentCount.Item, .CategoryList .Options .CommentCount.Item {
      margin-left: 0; } }

/* line 186, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta span.DiscussionCount, .Discussions .Options span.DiscussionCount, .CategoryList .Meta span.DiscussionCount, .CategoryList .Options span.DiscussionCount {
  background: url(images/icons/forum.discussions.svg) no-repeat center;
  height: 0.9375rem;
  width: 1rem;
  padding-left: 2.5rem;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 192, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta span.DiscussionCount:hover, .Discussions .Meta span.DiscussionCount.Active, .Discussions .Meta span.DiscussionCount.Active:hover, .Discussions .Options span.DiscussionCount:hover, .Discussions .Options span.DiscussionCount.Active, .Discussions .Options span.DiscussionCount.Active:hover, .CategoryList .Meta span.DiscussionCount:hover, .CategoryList .Meta span.DiscussionCount.Active, .CategoryList .Meta span.DiscussionCount.Active:hover, .CategoryList .Options span.DiscussionCount:hover, .CategoryList .Options span.DiscussionCount.Active, .CategoryList .Options span.DiscussionCount.Active:hover {
    background-image: url(images/icons/forum.discussions.active.svg); }

/* line 186, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta span.ViewCount, .Discussions .Options span.ViewCount, .CategoryList .Meta span.ViewCount, .CategoryList .Options span.ViewCount {
  background: url(images/icons/forum.views-icon.svg) no-repeat center;
  height: 0.9375rem;
  width: 1rem;
  padding-left: 2.5rem;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 192, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta span.ViewCount:hover, .Discussions .Meta span.ViewCount.Active, .Discussions .Meta span.ViewCount.Active:hover, .Discussions .Options span.ViewCount:hover, .Discussions .Options span.ViewCount.Active, .Discussions .Options span.ViewCount.Active:hover, .CategoryList .Meta span.ViewCount:hover, .CategoryList .Meta span.ViewCount.Active, .CategoryList .Meta span.ViewCount.Active:hover, .CategoryList .Options span.ViewCount:hover, .CategoryList .Options span.ViewCount.Active, .CategoryList .Options span.ViewCount.Active:hover {
    background-image: url(images/icons/forum.views-icon.active.svg); }

/* line 186, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta span.CommentCount, .Discussions .Options span.CommentCount, .CategoryList .Meta span.CommentCount, .CategoryList .Options span.CommentCount {
  background: url(images/icons/forum.comment-dark.svg) no-repeat center;
  height: 0.9375rem;
  width: 1rem;
  padding-left: 2.5rem;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 192, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta span.CommentCount:hover, .Discussions .Meta span.CommentCount.Active, .Discussions .Meta span.CommentCount.Active:hover, .Discussions .Options span.CommentCount:hover, .Discussions .Options span.CommentCount.Active, .Discussions .Options span.CommentCount.Active:hover, .CategoryList .Meta span.CommentCount:hover, .CategoryList .Meta span.CommentCount.Active, .CategoryList .Meta span.CommentCount.Active:hover, .CategoryList .Options span.CommentCount:hover, .CategoryList .Options span.CommentCount.Active, .CategoryList .Options span.CommentCount.Active:hover {
    background-image: url(images/icons/forum.comment-dark.active.svg); }

/* line 186, app/scss/partials/vanilla_components/_general.scss */
.Discussions .Meta span.OptionsTitle, .Discussions .Options span.OptionsTitle, .CategoryList .Meta span.OptionsTitle, .CategoryList .Options span.OptionsTitle {
  background: url(images/icons/forum.options.svg) no-repeat center;
  height: 0.9375rem;
  width: 1rem;
  padding-left: 2.5rem;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 192, app/scss/partials/vanilla_components/_general.scss */
  .Discussions .Meta span.OptionsTitle:hover, .Discussions .Meta span.OptionsTitle.Active, .Discussions .Meta span.OptionsTitle.Active:hover, .Discussions .Options span.OptionsTitle:hover, .Discussions .Options span.OptionsTitle.Active, .Discussions .Options span.OptionsTitle.Active:hover, .CategoryList .Meta span.OptionsTitle:hover, .CategoryList .Meta span.OptionsTitle.Active, .CategoryList .Meta span.OptionsTitle.Active:hover, .CategoryList .Options span.OptionsTitle:hover, .CategoryList .Options span.OptionsTitle.Active, .CategoryList .Options span.OptionsTitle.Active:hover {
    background-image: url(images/icons/forum.options.active.svg); }

/* line 204, app/scss/partials/vanilla_components/_general.scss */
.Section-CategoryList .Meta .CommentCount {
  top: 1.875rem;
  padding-bottom: 0.5rem; }

/* line 208, app/scss/partials/vanilla_components/_general.scss */
.Section-CategoryList .Meta .DiscussionCount {
  top: 1.75rem;
  padding-bottom: 0.1875rem; }

/* line 218, app/scss/partials/vanilla_components/_general.scss */
.Section-DiscussionList .Meta .ViewCount .Number {
  padding-bottom: 0.3125rem; }

/* line 221, app/scss/partials/vanilla_components/_general.scss */
.Section-DiscussionList .Meta .CommentCount .Number {
  padding-bottom: 0.3125rem; }

@media only screen and (min-width: 768px) {
  /* line 228, app/scss/partials/vanilla_components/_general.scss */
  .Meta {
    padding-right: 3.75rem; } }

@media only screen and (min-width: 64.0625em) {
  /* line 228, app/scss/partials/vanilla_components/_general.scss */
  .Meta {
    padding-right: 1.875rem; } }

/* line 236, app/scss/partials/vanilla_components/_general.scss */
.Meta .LastDiscussionTitle a, .Meta .LastCommentBy a {
  white-space: pre-wrap;
  word-break: break-word; }
  @media only screen and (min-width: 64.0625em) {
    /* line 236, app/scss/partials/vanilla_components/_general.scss */
    .Meta .LastDiscussionTitle a, .Meta .LastCommentBy a {
      width: 100%;
      white-space: pre-wrap;
      word-wrap: break-all;
      white-space: normal; } }

/* line 247, app/scss/partials/vanilla_components/_general.scss */
.Meta .LastCommentDate {
  display: inline-block;
  margin-left: 0; }

/* line 253, app/scss/partials/vanilla_components/_general.scss */
.Meta-Discussion {
  padding-right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 253, app/scss/partials/vanilla_components/_general.scss */
    .Meta-Discussion {
      padding-right: 7.8125rem; } }

@media only screen and (max-width: 40em) {
  /* line 263, app/scss/partials/vanilla_components/_general.scss */
  .Section-CategoryList .CommentCount {
    z-index: 1; }
  /* line 266, app/scss/partials/vanilla_components/_general.scss */
  .Section-CategoryList .RSS {
    z-index: 9999;
    position: relative; } }

/* line 9, app/scss/partials/vanilla_components/_listings.scss */
.DataList {
  margin: 0 0 1.25rem;
  list-style: none; }
  /* line 13, app/scss/partials/vanilla_components/_listings.scss */
  .DataList .Item {
    padding: 1.25rem 0;
    border-color: #DDDDDD;
    border-style: solid;
    border-width: 1px 0; }
    /* line 18, app/scss/partials/vanilla_components/_listings.scss */
    .DataList .Item:first-child {
      border-top: 1px solid transparent; }
    /* line 22, app/scss/partials/vanilla_components/_listings.scss */
    .DataList .Item + .Item {
      border-top: 1px solid transparent; }

/* line 28, app/scss/partials/vanilla_components/_listings.scss */
.DataList.ActivityComments {
  padding-left: 50px;
  margin: 1.25rem 0 0 1em; }

/* line 7, app/scss/partials/vanilla_components/_discussion-header.scss */
.Discussion .PageTitle {
  min-height: 4.6875rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding-right: 0.625rem; }
  @media only screen and (max-width: 40em) {
    /* line 7, app/scss/partials/vanilla_components/_discussion-header.scss */
    .Discussion .PageTitle {
      display: block;
      padding-top: 0.625rem; } }
  @media only screen and (min-width: 768px) {
    /* line 7, app/scss/partials/vanilla_components/_discussion-header.scss */
    .Discussion .PageTitle {
      padding-right: 1.5625rem; } }
  /* line 21, app/scss/partials/vanilla_components/_discussion-header.scss */
  .Discussion .PageTitle h1 {
    white-space: pre-wrap;
    word-break: break-word; }
  /* line 25, app/scss/partials/vanilla_components/_discussion-header.scss */
  .Discussion .PageTitle .Options {
    position: static;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse; }

/* line 32, app/scss/partials/vanilla_components/_discussion-header.scss */
.Title a, .TitleWrap a {
  max-width: 75%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  padding-right: 0; }
  @media only screen and (min-width: 768px) {
    /* line 32, app/scss/partials/vanilla_components/_discussion-header.scss */
    .Title a, .TitleWrap a {
      max-width: 100%; } }

/* line 42, app/scss/partials/vanilla_components/_discussion-header.scss */
.TitleWrap a {
  white-space: pre-wrap;
  word-break: break-word; }
  @media only screen and (max-width: 40em) {
    /* line 42, app/scss/partials/vanilla_components/_discussion-header.scss */
    .TitleWrap a {
      max-width: 50%; } }

/* line 52, app/scss/partials/vanilla_components/_discussion-header.scss */
.Item.Read {
  background: rgba(0, 0, 0, 0.075); }

/* line 53, app/scss/partials/vanilla_components/_discussion-header.scss */
.Item.Checked {
  background: rgba(0, 0, 0, 0.1); }

/* line 54, app/scss/partials/vanilla_components/_discussion-header.scss */
.Item:hover {
  background: rgba(255, 255, 255, 0.2); }

/* line 59, app/scss/partials/vanilla_components/_discussion-header.scss */
.is-content .ItemDiscussion {
  padding-left: 0;
  padding-right: 0; }

/* line 64, app/scss/partials/vanilla_components/_discussion-header.scss */
.is-content .Discussion .Author, .is-content .Comment .Author {
  padding-left: 0; }
  /* line 66, app/scss/partials/vanilla_components/_discussion-header.scss */
  .is-content .Discussion .Author .Username, .is-content .Comment .Author .Username {
    font-size: 1.5rem;
    line-height: 2.125rem;
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem;
    white-space: pre-wrap;
    word-break: break-word; }

/* line 79, app/scss/partials/vanilla_components/_discussion-header.scss */
.DiscussionHeader {
  border-top: 1px solid;
  padding: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 79, app/scss/partials/vanilla_components/_discussion-header.scss */
    .DiscussionHeader {
      padding: 1.5625rem; } }

/* line 88, app/scss/partials/vanilla_components/_discussion-header.scss */
.CommentHeader {
  padding: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 88, app/scss/partials/vanilla_components/_discussion-header.scss */
    .CommentHeader {
      padding: 1.5625rem; } }

/* line 95, app/scss/partials/vanilla_components/_discussion-header.scss */
.DiscussionHeader .AuthorInfo, .CommentHeader .AuthorInfo {
  margin-top: 0.3125rem; }
  @media only screen and (max-width: 40em) {
    /* line 95, app/scss/partials/vanilla_components/_discussion-header.scss */
    .DiscussionHeader .AuthorInfo, .CommentHeader .AuthorInfo {
      display: block; } }
  @media only screen and (min-width: 768px) {
    /* line 95, app/scss/partials/vanilla_components/_discussion-header.scss */
    .DiscussionHeader .AuthorInfo, .CommentHeader .AuthorInfo {
      float: right; } }

/* line 104, app/scss/partials/vanilla_components/_discussion-header.scss */
.DiscussionHeader .MItem, .CommentHeader .MItem {
  font-size: 0.8125rem;
  line-height: 1.375rem;
  margin: 0; }
  /* line 108, app/scss/partials/vanilla_components/_discussion-header.scss */
  .DiscussionHeader .MItem.Category a, .CommentHeader .MItem.Category a {
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }
  /* line 113, app/scss/partials/vanilla_components/_discussion-header.scss */
  .DiscussionHeader .MItem.RoleTitle:before, .DiscussionHeader .MItem.Category:before, .DiscussionHeader .MItem .DateUpdated:before, .CommentHeader .MItem.RoleTitle:before, .CommentHeader .MItem.Category:before, .CommentHeader .MItem .DateUpdated:before {
    content: '\2022';
    margin: 0 0.3125rem; }

/* line 120, app/scss/partials/vanilla_components/_discussion-header.scss */
.DiscussionHeader .DiscussionMeta .DateCreated time, .CommentHeader .DiscussionMeta .DateCreated time {
  border-bottom: 1px solid transparent;
  padding-bottom: 0.1875rem; }

/* line 131, app/scss/partials/vanilla_components/_discussion-header.scss */
.Discussion .PageTitle .Options span.OptionsTitle, .Discussion .Comment .Options span.OptionsTitle {
  background: url(images/icons/forum.options.svg) no-repeat center;
  height: 0.9375rem;
  width: 1rem;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  /* line 136, app/scss/partials/vanilla_components/_discussion-header.scss */
  .Discussion .PageTitle .Options span.OptionsTitle:hover, .Discussion .PageTitle .Options span.OptionsTitle.Active, .Discussion .PageTitle .Options span.OptionsTitle.Active:hover, .Discussion .Comment .Options span.OptionsTitle:hover, .Discussion .Comment .Options span.OptionsTitle.Active, .Discussion .Comment .Options span.OptionsTitle.Active:hover {
    background-image: url(images/icons/forum.options.active.svg); }

/* line 140, app/scss/partials/vanilla_components/_discussion-header.scss */
.Discussion .PageTitle .Options .Bookmark, .Discussion .Comment .Options .Bookmark {
  background: url(images/icons/forum.bookmark-main.svg) no-repeat center; }
  /* line 142, app/scss/partials/vanilla_components/_discussion-header.scss */
  .Discussion .PageTitle .Options .Bookmark:hover, .Discussion .PageTitle .Options .Bookmark.Active, .Discussion .PageTitle .Options .Bookmark.Active:hover, .Discussion .PageTitle .Options .Bookmark.Bookmarked, .Discussion .Comment .Options .Bookmark:hover, .Discussion .Comment .Options .Bookmark.Active, .Discussion .Comment .Options .Bookmark.Active:hover, .Discussion .Comment .Options .Bookmark.Bookmarked {
    background-image: url(images/icons/forum.bookmark.active.svg); }
  /* line 145, app/scss/partials/vanilla_components/_discussion-header.scss */
  .Discussion .PageTitle .Options .Bookmark.Bookmarked:hover, .Discussion .Comment .Options .Bookmark.Bookmarked:hover {
    background-image: url(images/icon/forum.bookmark-main.svg) no-repeat center; }

/* line 155, app/scss/partials/vanilla_components/_discussion-header.scss */
.Discussion .DataList .Item {
  padding: 0; }

/* line 163, app/scss/partials/vanilla_components/_discussion-header.scss */
.CommentHeader .MItem.IPAddress {
  border-bottom: 1px solid transparent;
  margin: 0 0.3125rem;
  padding-bottom: 0.1875rem; }

/* line 173, app/scss/partials/vanilla_components/_discussion-header.scss */
.Comment .Options {
  top: 3.75rem; }

/* line 180, app/scss/partials/vanilla_components/_discussion-header.scss */
.MessageList .Warning {
  margin: 0 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 180, app/scss/partials/vanilla_components/_discussion-header.scss */
    .MessageList .Warning {
      margin: 0 1.5625rem; } }

/* line 189, app/scss/partials/vanilla_components/_discussion-header.scss */
.Foot {
  padding: 0 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 189, app/scss/partials/vanilla_components/_discussion-header.scss */
    .Foot {
      padding: 0 1.5625rem; } }

@media only screen and (max-width: 40em) {
  /* line 199, app/scss/partials/vanilla_components/_discussion-header.scss */
  .CommentHeader .CommentMeta, .CommentHeader .DiscussionMeta, .DiscussionHeader .CommentMeta, .DiscussionHeader .DiscussionMeta {
    margin-left: 3.125rem; } }

/* line 8, app/scss/partials/vanilla_components/_discussion-body.scss */
.Discussion .Item-Body .Message, .Discussion .Item-Body .UserSignature {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  border-top: none;
  padding: 1.5625rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 8, app/scss/partials/vanilla_components/_discussion-body.scss */
    .Discussion .Item-Body .Message, .Discussion .Item-Body .UserSignature {
      padding: 1.5625rem 5.3125rem; } }
  /* line 16, app/scss/partials/vanilla_components/_discussion-body.scss */
  .Discussion .Item-Body .Message h1, .Discussion .Item-Body .UserSignature h1 {
    padding-left: 0;
    font-size: 2.8125rem; }
  /* line 20, app/scss/partials/vanilla_components/_discussion-body.scss */
  .Discussion .Item-Body .Message li, .Discussion .Item-Body .UserSignature li {
    padding-left: 0.625rem; }
  /* line 23, app/scss/partials/vanilla_components/_discussion-body.scss */
  .Discussion .Item-Body .Message a, .Discussion .Item-Body .UserSignature a {
    border-bottom: 1px solid transparent;
    text-decoration: none;
    padding-bottom: 0.1875rem; }

/* line 33, app/scss/partials/vanilla_components/_discussion-body.scss */
pre {
  padding: 1.5625rem;
  overflow: auto;
  word-wrap: normal;
  white-space: pre;
  border-radius: 0.9375rem;
  margin: 1.5625rem 0;
  border: 1px solid; }

/* line 45, app/scss/partials/vanilla_components/_discussion-body.scss */
.QuoteAuthor a {
  border-bottom: 1px solid transparent;
  padding-bottom: 0.1875rem; }

/* line 53, app/scss/partials/vanilla_components/_discussion-body.scss */
.Message i {
  font-style: italic; }

/* line 57, app/scss/partials/vanilla_components/_discussion-body.scss */
.editor-upload-saved {
  margin: 0 4.0625rem; }

/* line 62, app/scss/partials/vanilla_components/_discussion-body.scss */
.editor-upload-previews {
  margin: 0 0 0.5rem;
  border-radius: 0.25rem; }
  /* line 65, app/scss/partials/vanilla_components/_discussion-body.scss */
  .editor-upload-previews .editor-file-preview {
    text-shadow: none;
    margin: 0; }
    /* line 68, app/scss/partials/vanilla_components/_discussion-body.scss */
    .editor-upload-previews .editor-file-preview .editor-file-remove:after {
      -webkit-transition: all .3s ease;
      transition: all .3s ease; }

/* line 75, app/scss/partials/vanilla_components/_discussion-body.scss */
div.UserSpoiler {
  background-color: transparent;
  border: 1px solid;
  padding: 1.5625rem;
  border-radius: 0.9375rem; }
  /* line 81, app/scss/partials/vanilla_components/_discussion-body.scss */
  div.UserSpoiler .SpoilerTitle, div.UserSpoiler .SpoilerTitle .SpoilerToggle {
    font-size: 0.8125rem;
    font-weight: 700;
    text-transform: uppercase; }
  /* line 86, app/scss/partials/vanilla_components/_discussion-body.scss */
  div.UserSpoiler .SpoilerTitle .SpoilerToggle {
    background: transparent;
    padding: 0.3125rem 0.625rem 0.4375rem; }
  /* line 91, app/scss/partials/vanilla_components/_discussion-body.scss */
  div.UserSpoiler div.SpoilerText {
    border-left: none;
    font-size: 0.9375rem;
    line-height: 1.375rem;
    font-weight: 300;
    padding-left: 0; }

/* line 101, app/scss/partials/vanilla_components/_discussion-body.scss */
blockquote.Quote,
blockquote {
  border-left: 3px solid;
  padding-left: 1.25rem; }

/* line 108, app/scss/partials/vanilla_components/_discussion-body.scss */
code.CodeInline {
  border: none; }

/* line 113, app/scss/partials/vanilla_components/_discussion-body.scss */
.Reactions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0 0.625rem 1.5625rem; }
  @media only screen and (min-width: 768px) {
    /* line 113, app/scss/partials/vanilla_components/_discussion-body.scss */
    .Reactions {
      margin: 0 5.3125rem 1.5625rem; } }
  /* line 121, app/scss/partials/vanilla_components/_discussion-body.scss */
  .Reactions a {
    font-size: 0.8125rem;
    font-weight: 300;
    line-height: 1.375rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    text-transform: uppercase; }
    /* line 128, app/scss/partials/vanilla_components/_discussion-body.scss */
    .Reactions a .ReactQuote {
      background: url(images/icons/quote.forum.svg) no-repeat center;
      margin-right: 0.5rem;
      height: 0.8125rem;
      width: 0.8125rem;
      -webkit-transition: all .3s ease;
      transition: all .3s ease; }
    /* line 135, app/scss/partials/vanilla_components/_discussion-body.scss */
    .Reactions a.Quote {
      margin-left: 0;
      width: 5.3125rem; }
      /* line 139, app/scss/partials/vanilla_components/_discussion-body.scss */
      .Reactions a.Quote:hover .ReactQuote {
        background-image: url(images/icons/quote.forum.active.svg); }
  /* line 146, app/scss/partials/vanilla_components/_discussion-body.scss */
  .Reactions .CommentFlag .FlagContent {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    /* line 149, app/scss/partials/vanilla_components/_discussion-body.scss */
    .Reactions .CommentFlag .FlagContent:before {
      content: '';
      width: 0.8125rem;
      height: 0.8125rem;
      background: url(images/icons/forum.flag.svg) no-repeat center;
      margin-right: 0.5rem;
      -webkit-transition: all .3s ease;
      transition: all .3s ease; }
    /* line 157, app/scss/partials/vanilla_components/_discussion-body.scss */
    .Reactions .CommentFlag .FlagContent:hover:before {
      background-image: url(images/icons/forum.flag.active.svg); }

/* line 165, app/scss/partials/vanilla_components/_discussion-body.scss */
.CommentHeading {
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.625rem;
  border-top: 1px solid;
  margin-top: 0;
  padding: 1.5625rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 165, app/scss/partials/vanilla_components/_discussion-body.scss */
    .CommentHeading {
      padding: 1.5625rem 5.3125rem; } }

/* line 179, app/scss/partials/vanilla_components/_discussion-body.scss */
.Profile.discussions .DataList.Discussions {
  padding-bottom: 1.5625rem; }

/* line 5, app/scss/partials/vanilla_components/_online.scss */
.onlineNow {
  padding: 1.5625rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 5, app/scss/partials/vanilla_components/_online.scss */
    .onlineNow {
      padding: 1.5625rem; } }
  /* line 10, app/scss/partials/vanilla_components/_online.scss */
  .onlineNow h4 {
    font-size: 1.5rem;
    line-height: 2.125rem; }
  /* line 15, app/scss/partials/vanilla_components/_online.scss */
  .onlineNow .PanelInfo li {
    font-size: 0.9375rem;
    line-height: 1.375rem;
    display: inline-block; }
    /* line 19, app/scss/partials/vanilla_components/_online.scss */
    .onlineNow .PanelInfo li a {
      padding: 0.4375rem 0 0.1875rem;
      border-bottom: 1px solid transparent; }

@media only screen and (max-width: 40em) {
  /* line 6, app/scss/partials/vanilla_components/_new-discussion.scss */
  .DiscussionForm .Buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column; } }

/* line 12, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P label {
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.625rem; }

/* line 17, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P select option {
  font-size: 1.125rem;
  line-height: 1.625rem; }

/* line 22, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P .TextBoxWrapper .InputBox {
  font-size: 1.125rem;
  line-height: 1.625rem;
  height: 3.125rem; }

/* line 27, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P .TextBoxWrapper textarea {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  font-weight: 300; }

/* line 35, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P .Inline li b {
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.625rem; }

/* line 41, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P .Inline li .RadioLabel, .DiscussionForm .P .Inline li .RadioLabel b {
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.375rem; }

/* line 50, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P .PostOptions b:first-child {
  display: block; }

/* line 53, app/scss/partials/vanilla_components/_new-discussion.scss */
.DiscussionForm .P .PostOptions .Inline {
  margin-left: 0; }
  /* line 55, app/scss/partials/vanilla_components/_new-discussion.scss */
  .DiscussionForm .P .PostOptions .Inline li {
    padding-right: 0.75rem; }
    /* line 57, app/scss/partials/vanilla_components/_new-discussion.scss */
    .DiscussionForm .P .PostOptions .Inline li input {
      margin-right: 0.3125rem; }

/* line 6, app/scss/partials/custom_components/_general.scss */
#OldPosts {
  border-radius: 0.25rem; }
  /* line 8, app/scss/partials/custom_components/_general.scss */
  #OldPosts input[type=checkbox] {
    margin-top: 0.125rem; }

/* line 14, app/scss/partials/custom_components/_general.scss */
.FlyoutMenu,
.MenuItems {
  min-width: 9.0625rem; }

/* line 18, app/scss/partials/custom_components/_general.scss */
.Note.SignInOrRegister {
  padding-bottom: 1.5625rem; }
  /* line 20, app/scss/partials/custom_components/_general.scss */
  .Note.SignInOrRegister a {
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }

/* line 9, app/scss/partials/custom_components/_optionsMenu.scss */
.OptionsMenu .MenuItems {
  left: -3.75rem; }
  @media only screen and (min-width: 768px) {
    /* line 9, app/scss/partials/custom_components/_optionsMenu.scss */
    .OptionsMenu .MenuItems {
      left: 0.125rem; } }

/* line 19, app/scss/partials/custom_components/_optionsMenu.scss */
.OptionsMenu .Flyout:before,
.OptionsMenu .Flyout:after {
  left: 4.5rem;
  right: auto; }
  @media only screen and (min-width: 768px) {
    /* line 19, app/scss/partials/custom_components/_optionsMenu.scss */
    .OptionsMenu .Flyout:before,
    .OptionsMenu .Flyout:after {
      left: 0.5625rem; } }

/* line 30, app/scss/partials/custom_components/_optionsMenu.scss */
.Options {
  position: absolute;
  top: 1.25rem;
  right: 0; }
  @media only screen and (max-width: 40em) {
    /* line 30, app/scss/partials/custom_components/_optionsMenu.scss */
    .Options {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; } }
  @media only screen and (min-width: 768px) {
    /* line 30, app/scss/partials/custom_components/_optionsMenu.scss */
    .Options {
      top: 3.4375rem;
      right: 2.8125rem; } }
  /* line 43, app/scss/partials/custom_components/_optionsMenu.scss */
  .Options .OptionsTitle {
    padding-left: 0; }

/* line 50, app/scss/partials/custom_components/_optionsMenu.scss */
.Section-Discussion .Options {
  right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 50, app/scss/partials/custom_components/_optionsMenu.scss */
    .Section-Discussion .Options {
      right: 1.25rem; } }
  /* line 55, app/scss/partials/custom_components/_optionsMenu.scss */
  .Section-Discussion .Options .OptionsTitle {
    margin-right: 0.9375rem; }
  /* line 59, app/scss/partials/custom_components/_optionsMenu.scss */
  .Section-Discussion .Options .OptionsMenu .MenuItems {
    left: -4.5625rem; }
    @media only screen and (min-width: 768px) {
      /* line 59, app/scss/partials/custom_components/_optionsMenu.scss */
      .Section-Discussion .Options .OptionsMenu .MenuItems {
        left: -0.5625rem; } }

/* line 71, app/scss/partials/custom_components/_optionsMenu.scss */
.Section-CategoryList .Options {
  right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 71, app/scss/partials/custom_components/_optionsMenu.scss */
    .Section-CategoryList .Options {
      right: 3.125rem; } }

@media only screen and (max-width: 40em) {
  /* line 82, app/scss/partials/custom_components/_optionsMenu.scss */
  .Section-DiscussionList .Options .MenuItems {
    left: -6.25rem; }
  /* line 85, app/scss/partials/custom_components/_optionsMenu.scss */
  .Section-DiscussionList .Flyout:before,
  .Section-DiscussionList .Flyout:after {
    left: 7rem; } }

/* line 95, app/scss/partials/custom_components/_optionsMenu.scss */
.ItemDiscussion .Options .Bookmark {
  float: left;
  margin-right: 0.3125rem;
  background: url(images/icons/forum.bookmark-main.svg) no-repeat center;
  -webkit-transition: all .3s ease;
  transition: all .3s ease; }
  @media only screen and (max-width: 40em) {
    /* line 95, app/scss/partials/custom_components/_optionsMenu.scss */
    .ItemDiscussion .Options .Bookmark {
      margin-top: 0.625rem;
      margin-right: 0; } }
  @media only screen and (min-width: 768px) {
    /* line 95, app/scss/partials/custom_components/_optionsMenu.scss */
    .ItemDiscussion .Options .Bookmark {
      display: none; } }
  /* line 107, app/scss/partials/custom_components/_optionsMenu.scss */
  .ItemDiscussion .Options .Bookmark:hover, .ItemDiscussion .Options .Bookmark.Active, .ItemDiscussion .Options .Bookmark.Active:hover, .ItemDiscussion .Options .Bookmark.Bookmarked {
    background-image: url(images/icons/forum.bookmark.active.svg); }
  /* line 110, app/scss/partials/custom_components/_optionsMenu.scss */
  .ItemDiscussion .Options .Bookmark.Bookmarked:hover {
    background-image: url(images/icons/forum.bookmark-main.svg); }

@media only screen and (min-width: 768px) {
  /* line 118, app/scss/partials/custom_components/_optionsMenu.scss */
  .ItemDiscussion .AdminCheck {
    display: none; } }

/* line 125, app/scss/partials/custom_components/_optionsMenu.scss */
.ItemDiscussion:hover .Options .Bookmark {
  display: inline-block; }

/* line 129, app/scss/partials/custom_components/_optionsMenu.scss */
.ItemDiscussion:hover .AdminCheck {
  display: inline-block; }

/* line 15, app/scss/partials/custom_components/_sub-header.scss */
.sub-header {
  background: url(images/generic-subheader-bg.jpg) no-repeat center;
  height: 9.25rem;
  background-size: cover;
  position: relative; }

/* line 24, app/scss/partials/custom_components/_sub-header.scss */
.big-search {
  width: 43.75rem;
  height: 3.75rem;
  position: absolute;
  top: calc(48.5% - 3.75rem / 2);
  left: calc(50% - 43.75rem / 2);
  margin: 0 auto;
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  border: 2px solid;
  border-radius: 0.1875rem;
  max-width: 100%; }
  @media only screen and (max-width: 40em) {
    /* line 24, app/scss/partials/custom_components/_sub-header.scss */
    .big-search {
      left: 0; } }
  /* line 38, app/scss/partials/custom_components/_sub-header.scss */
  .big-search .InputBox, .big-search .Button {
    height: 3.75rem; }
  /* line 41, app/scss/partials/custom_components/_sub-header.scss */
  .big-search .InputBox {
    width: calc(43.75rem - 3.75rem);
    max-width: 100%;
    left: 0;
    padding-left: 1.25rem;
    border-width: 0;
    border-radius: 0.1875rem 0 0 0.1875rem;
    font-size: 1.125rem;
    line-height: 1.625rem; }
  /* line 51, app/scss/partials/custom_components/_sub-header.scss */
  .big-search .Button {
    width: 3.75rem;
    position: absolute;
    right: 0;
    top: 0;
    border-left: 1px solid;
    border-radius: 0 0.1875rem 0.1875rem 0;
    padding: 0;
    -webkit-box-shadow: none;
            box-shadow: none; }

/* line 9, app/scss/partials/custom_components/_main-content.scss */
.is-content, .BoxFilter, .BoxButtons, .BoxCategories, .Box {
  -webkit-box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
          box-shadow: 0px 2px 0px 0px rgba(0, 0, 0, 0.2);
  background: #F1F1F1;
  margin-bottom: 1.875rem;
  border-radius: 0.125rem; }

/* line 16, app/scss/partials/custom_components/_main-content.scss */
.Search .is-content {
  margin-bottom: 0; }

/* line 17, app/scss/partials/custom_components/_footer.scss */
.global-footer {
  margin-top: 1.25rem;
  border-top: 1px solid; }

@media only screen and (min-width: 768px) {
  /* line 25, app/scss/partials/custom_components/_footer.scss */
  .global-footer .footer-links {
    height: 6.25rem; } }

/* line 29, app/scss/partials/custom_components/_footer.scss */
.global-footer .footer-links ul {
  text-align: center;
  margin: 0; }

/* line 33, app/scss/partials/custom_components/_footer.scss */
.global-footer .footer-links li {
  margin: 0 1.25rem;
  padding: 0.9375rem 0; }
  @media only screen and (min-width: 768px) {
    /* line 33, app/scss/partials/custom_components/_footer.scss */
    .global-footer .footer-links li {
      padding: 0 0 0.3125rem;
      display: inline; } }

/* line 41, app/scss/partials/custom_components/_footer.scss */
.global-footer .footer-links a {
  font-size: 1.125rem;
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid transparent; }
  @media only screen and (min-width: 768px) {
    /* line 41, app/scss/partials/custom_components/_footer.scss */
    .global-footer .footer-links a {
      line-height: 6.25rem;
      font-size: 0.875rem; } }

/* line 56, app/scss/partials/custom_components/_footer.scss */
.global-footer .footer-main {
  position: relative;
  text-align: center;
  height: calc(12.5rem * 2); }
  @media only screen and (min-width: 768px) {
    /* line 56, app/scss/partials/custom_components/_footer.scss */
    .global-footer .footer-main {
      background: url(images/generic-subheader-bg.jpg) no-repeat center;
      background-size: cover;
      height: 12.5rem; } }

/* line 71, app/scss/partials/custom_components/_footer.scss */
.global-footer .footer-button {
  border: 2px solid #000000;
  color: #000000;
  font-size: 0.9375rem;
  padding: 0.875rem 3rem 0.9375rem 3rem;
  border-radius: 3.125rem;
  line-height: 12.5rem; }
  /* line 78, app/scss/partials/custom_components/_footer.scss */
  .global-footer .footer-button:hover {
    -webkit-transition: border-width .3s ease;
    transition: border-width .3s ease;
    border-width: 0.3125rem; }

/* line 87, app/scss/partials/custom_components/_footer.scss */
.global-footer .footer-logo {
  height: 3.83333rem;
  width: 8.83333rem;
  position: absolute;
  top: calc(60% - 3.83333rem / 2);
  right: calc(50% - 8.83333rem / 2);
  background: url("/themes/sanmyaku/design/images/vanilla-logo.png") no-repeat center;
  background-size: contain; }
  @media only screen and (min-width: 768px) {
    /* line 87, app/scss/partials/custom_components/_footer.scss */
    .global-footer .footer-logo {
      top: calc(50% - 3.83333rem / 2);
      right: 2.5rem; } }

/* line 104, app/scss/partials/custom_components/_footer.scss */
.global-footer .footer-copyright {
  height: 3.75rem;
  line-height: 3.75rem;
  font-size: 0.75rem;
  padding-left: 2.5rem;
  position: relative; }

/* line 115, app/scss/partials/custom_components/_footer.scss */
.global-footer .social-icons {
  position: absolute;
  padding: 0;
  top: 0;
  right: 2.5rem; }
  @media only screen and (max-width: 40em) {
    /* line 115, app/scss/partials/custom_components/_footer.scss */
    .global-footer .social-icons {
      display: none; } }

/* line 126, app/scss/partials/custom_components/_footer.scss */
.footer-logo {
  width: 70px; }

/* line 131, app/scss/partials/custom_components/_footer.scss */
.pre-footer-links li {
  display: inline-block; }

/* line 5, app/scss/partials/custom_components/_guest-box.scss */
.GuestBox {
  margin-top: 0;
  padding: 1.5625rem; }
  /* line 8, app/scss/partials/custom_components/_guest-box.scss */
  .GuestBox h4 {
    font-size: 1.5rem;
    line-height: 2.125rem; }
  /* line 12, app/scss/partials/custom_components/_guest-box.scss */
  .GuestBox p {
    font-size: 0.9375rem;
    line-height: 1.375rem; }
  /* line 16, app/scss/partials/custom_components/_guest-box.scss */
  .GuestBox .P {
    margin: 0; }

/* line 23, app/scss/partials/custom_components/_guest-box.scss */
.JsConnect-Connect .UserPhoto {
  border-radius: 50%; }

/* line 26, app/scss/partials/custom_components/_guest-box.scss */
.JsConnect-Connect .ConnectLabel {
  display: inline-block;
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid transparent;
  font-weight: normal;
  -webkit-transition: border .3s ease;
  transition: border .3s ease; }

/* line 7, app/scss/partials/custom_components/user-profile/_profile.scss */
.ProfileOptions {
  margin: 1.5625rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 7, app/scss/partials/custom_components/user-profile/_profile.scss */
    .ProfileOptions {
      margin: 1.5625rem; } }

/* line 16, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile #Status {
  font-size: 1.125rem;
  margin-left: 1.5625rem; }
  /* line 19, app/scss/partials/custom_components/user-profile/_profile.scss */
  .Profile #Status a {
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }

/* line 28, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile .H {
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 2.125rem;
  white-space: pre-wrap;
  word-break: break-word; }
  /* line 34, app/scss/partials/custom_components/user-profile/_profile.scss */
  .Profile .H a {
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }

/* line 39, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile .DataListWrap {
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 39, app/scss/partials/custom_components/user-profile/_profile.scss */
    .Profile .DataListWrap {
      margin-left: 1.5625rem;
      margin-right: 1.5625rem; } }

/* line 47, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile .About {
  padding-bottom: 1.25rem; }
  /* line 49, app/scss/partials/custom_components/user-profile/_profile.scss */
  .Profile .About a {
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }
  /* line 53, app/scss/partials/custom_components/user-profile/_profile.scss */
  .Profile .About:not(dl) {
    border-bottom: 1px solid transparent;
    margin: 3.125rem 0.625rem; }
    @media only screen and (min-width: 768px) {
      /* line 53, app/scss/partials/custom_components/user-profile/_profile.scss */
      .Profile .About:not(dl) {
        margin: 3.125rem 1.5625rem; } }
    /* line 59, app/scss/partials/custom_components/user-profile/_profile.scss */
    .Profile .About:not(dl) dt, .Profile .About:not(dl) dd {
      font-size: 1rem;
      font-weight: 300;
      line-height: 1.375rem;
      background: none;
      margin-bottom: 1.25rem; }
    /* line 66, app/scss/partials/custom_components/user-profile/_profile.scss */
    .Profile .About:not(dl) dd {
      margin-right: 0.625rem; }
      @media only screen and (max-width: 40em) {
        /* line 66, app/scss/partials/custom_components/user-profile/_profile.scss */
        .Profile .About:not(dl) dd {
          padding: 0;
          margin-right: 0; }
          /* line 71, app/scss/partials/custom_components/user-profile/_profile.scss */
          .Profile .About:not(dl) dd:after {
            content: '';
            display: block; } }
    /* line 77, app/scss/partials/custom_components/user-profile/_profile.scss */
    .Profile .About:not(dl) dt {
      padding-left: 0; }
      @media only screen and (min-width: 768px) {
        /* line 77, app/scss/partials/custom_components/user-profile/_profile.scss */
        .Profile .About:not(dl) dt {
          display: inline-block; } }
      /* line 82, app/scss/partials/custom_components/user-profile/_profile.scss */
      .Profile .About:not(dl) dt:after {
        content: ':';
        padding: 0; }
        @media only screen and (min-width: 768px) {
          /* line 82, app/scss/partials/custom_components/user-profile/_profile.scss */
          .Profile .About:not(dl) dt:after {
            padding: 0 0.1875rem; } }

/* line 96, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile .Warnings {
  border-bottom: 1px solid transparent;
  padding-bottom: 3.125rem;
  margin: 0 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 96, app/scss/partials/custom_components/user-profile/_profile.scss */
    .Profile .Warnings {
      margin: 0 1.5625rem; } }
  /* line 103, app/scss/partials/custom_components/user-profile/_profile.scss */
  .Profile .Warnings div {
    text-align: left;
    font-size: 0.9375rem;
    line-height: 1.375rem; }

/* line 110, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile .DataListWrap .Empty {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  padding-bottom: 3.125rem;
  margin-left: 0; }

/* line 124, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile.notifications .DataListWrap .Item:first-child,
.Profile.activity .DataListWrap .Item:first-child {
  margin-top: 1.875rem; }

/* line 128, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile.notifications .DataListWrap .Item .ActivityComment .Excerpt,
.Profile.activity .DataListWrap .Item .ActivityComment .Excerpt {
  padding: 0; }

/* line 131, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile.notifications .DataListWrap .Item .ActivityComment .Meta,
.Profile.activity .DataListWrap .Item .ActivityComment .Meta {
  padding-left: 1.25rem; }

/* line 135, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile.notifications .DataListWrap .Item .Photo,
.Profile.activity .DataListWrap .Item .Photo {
  padding-left: 0; }

/* line 138, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile.notifications .DataListWrap .Item .Activity,
.Profile.activity .DataListWrap .Item .Activity {
  margin-left: 3.125rem; }
  /* line 141, app/scss/partials/custom_components/user-profile/_profile.scss */
  .Profile.notifications .DataListWrap .Item .Activity .Title a,
  .Profile.activity .DataListWrap .Item .Activity .Title a {
    margin-left: 0; }

/* line 151, app/scss/partials/custom_components/user-profile/_profile.scss */
.DataList.ActivityComments .ActivityComment a {
  display: inline-block;
  margin-left: 0; }

/* line 159, app/scss/partials/custom_components/user-profile/_profile.scss */
.Title a,
.ItemContent a {
  white-space: pre-wrap;
  word-break: break-word; }

/* line 164, app/scss/partials/custom_components/user-profile/_profile.scss */
.ItemContent {
  padding-right: 1.5625rem; }

/* line 171, app/scss/partials/custom_components/user-profile/_profile.scss */
.Profile .CommentForm .CommentLink {
  margin: 0; }

/* line 178, app/scss/partials/custom_components/user-profile/_profile.scss */
.PhotoWrapLarge {
  margin: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 16.25rem;
  background: url(images/profile-background.png) repeat center; }
  /* line 186, app/scss/partials/custom_components/user-profile/_profile.scss */
  .PhotoWrapLarge .ChangePicture {
    position: absolute;
    top: 0;
    left: 0;
    border-bottom: 1px solid transparent; }
  /* line 192, app/scss/partials/custom_components/user-profile/_profile.scss */
  .PhotoWrapLarge .ProfilePhotoLarge {
    width: 10rem;
    height: 10rem;
    border-radius: 50%;
    border: 3px solid; }

@media only screen and (max-width: 40em) {
  /* line 203, app/scss/partials/custom_components/user-profile/_profile.scss */
  .Profile .ItemContent.Activity .Meta, .Profile .ItemContent.Activity .Excerpt {
    margin-left: 3.125rem; } }

/* line 8, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
.Profile .ProfileOptions .ProfileButtons {
  border-bottom: 1px solid transparent;
  padding-bottom: 0.1875rem; }

/* line 17, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
body.Profile.Section-EditProfile .FormTitleWrapper {
  margin-right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 17, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
    body.Profile.Section-EditProfile .FormTitleWrapper {
      margin-right: 1.5625rem; } }
  /* line 22, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
  body.Profile.Section-EditProfile .FormTitleWrapper ul {
    margin-left: 0.625rem; }
    @media only screen and (min-width: 768px) {
      /* line 22, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
      body.Profile.Section-EditProfile .FormTitleWrapper ul {
        margin-left: 1.5625rem; } }

/* line 31, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
body.Profile.Section-EditProfile ul li label {
  padding-bottom: 0.3125rem;
  font-size: 1.125rem;
  line-height: 1.625rem; }
  /* line 35, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
  body.Profile.Section-EditProfile ul li label.CheckBoxLabel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    font-size: 0.9375rem;
    line-height: 1.375rem; }
    /* line 40, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
    body.Profile.Section-EditProfile ul li label.CheckBoxLabel input {
      margin-right: 0.625rem; }
  /* line 44, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
  body.Profile.Section-EditProfile ul li label.RadioLabel {
    font-size: 0.9375rem;
    line-height: 1.375rem; }
    /* line 47, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
    body.Profile.Section-EditProfile ul li label.RadioLabel input {
      margin-right: 0.3125rem; }

/* line 52, app/scss/partials/custom_components/user-profile/_edit-profile.scss */
body.Profile.Section-EditProfile ul li .InputBox {
  border-radius: 0.1875rem;
  border: 1px solid;
  font-size: 1.125rem;
  line-height: 1.625rem;
  padding: 0.625rem;
  height: 3.25rem; }

/* line 6, app/scss/partials/custom_components/user-profile/_side-menu.scss */
.UserBox {
  margin: 0;
  padding: 1.25rem 1.5625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border-top-left-radius: 0.125rem;
  border-top-right-radius: 0.125rem; }
  /* line 13, app/scss/partials/custom_components/user-profile/_side-menu.scss */
  .UserBox .PhotoWrap, .UserBox .ProfilePhoto {
    width: 2.5rem;
    height: 2.5rem; }
  /* line 17, app/scss/partials/custom_components/user-profile/_side-menu.scss */
  .UserBox .ProfilePhoto {
    position: static; }
  /* line 20, app/scss/partials/custom_components/user-profile/_side-menu.scss */
  .UserBox .WhoIs {
    overflow: hidden;
    text-overflow: ellipsis; }
    /* line 23, app/scss/partials/custom_components/user-profile/_side-menu.scss */
    .UserBox .WhoIs .Username, .UserBox .WhoIs .Email {
      font-size: 1rem;
      margin-left: 0.3125rem; }
    /* line 27, app/scss/partials/custom_components/user-profile/_side-menu.scss */
    .UserBox .WhoIs .Username {
      border-bottom: 1px solid transparent;
      padding-bottom: 0.1875rem; }

/* line 36, app/scss/partials/custom_components/user-profile/_side-menu.scss */
.Profile.Section-EditProfile .SideMenu {
  margin-top: 0; }
  /* line 38, app/scss/partials/custom_components/user-profile/_side-menu.scss */
  .Profile.Section-EditProfile .SideMenu .PanelInfo {
    border-bottom-right-radius: 0.125rem;
    border-bottom-left-radius: 0.125rem;
    padding-bottom: 1.25rem; }
    /* line 42, app/scss/partials/custom_components/user-profile/_side-menu.scss */
    .Profile.Section-EditProfile .SideMenu .PanelInfo li {
      border: none;
      padding: 0;
      margin: 0; }
      /* line 46, app/scss/partials/custom_components/user-profile/_side-menu.scss */
      .Profile.Section-EditProfile .SideMenu .PanelInfo li a {
        padding: 0.625rem 1.5625rem;
        height: 100%;
        font-size: 1rem; }

/* line 6, app/scss/partials/custom_components/user-profile/_change-password.scss */
.PasswordStrength .Background {
  border-radius: 0.1875rem; }

/* line 9, app/scss/partials/custom_components/user-profile/_change-password.scss */
.PasswordStrength .StrengthText {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  padding-top: 0.3125rem; }

/* line 6, app/scss/partials/custom_components/user-profile/_preferences.scss */
.Preferences h2 {
  font-size: 1.5rem;
  line-height: 2.125rem;
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 6, app/scss/partials/custom_components/user-profile/_preferences.scss */
    .Preferences h2 {
      margin-left: 1.5625rem; } }

/* line 14, app/scss/partials/custom_components/user-profile/_preferences.scss */
.Preferences .PreferenceGroup {
  width: 100%;
  border: none;
  margin-bottom: 1.875rem; }
  /* line 18, app/scss/partials/custom_components/user-profile/_preferences.scss */
  .Preferences .PreferenceGroup thead, .Preferences .PreferenceGroup tbody, .Preferences .PreferenceGroup tr, .Preferences .PreferenceGroup td {
    border: none;
    padding: 0 0.625rem; }
    @media only screen and (min-width: 768px) {
      /* line 18, app/scss/partials/custom_components/user-profile/_preferences.scss */
      .Preferences .PreferenceGroup thead, .Preferences .PreferenceGroup tbody, .Preferences .PreferenceGroup tr, .Preferences .PreferenceGroup td {
        padding: 0 1.5625rem; } }
  /* line 25, app/scss/partials/custom_components/user-profile/_preferences.scss */
  .Preferences .PreferenceGroup thead td {
    font-size: 0.8125rem;
    padding-bottom: 1.25rem;
    line-height: 1.375rem; }
    /* line 29, app/scss/partials/custom_components/user-profile/_preferences.scss */
    .Preferences .PreferenceGroup thead td.PrefCheckBox, .Preferences .PreferenceGroup thead td.TopHeading {
      padding-left: 0; }
      @media only screen and (min-width: 768px) {
        /* line 29, app/scss/partials/custom_components/user-profile/_preferences.scss */
        .Preferences .PreferenceGroup thead td.PrefCheckBox, .Preferences .PreferenceGroup thead td.TopHeading {
          padding-left: 0.9375rem; } }
    /* line 35, app/scss/partials/custom_components/user-profile/_preferences.scss */
    .Preferences .PreferenceGroup thead td.TopHeading {
      padding-bottom: 0; }
  /* line 39, app/scss/partials/custom_components/user-profile/_preferences.scss */
  .Preferences .PreferenceGroup tbody td {
    font-size: 0.9375rem;
    line-height: 1.625rem; }
    @media only screen and (min-width: 768px) {
      /* line 39, app/scss/partials/custom_components/user-profile/_preferences.scss */
      .Preferences .PreferenceGroup tbody td {
        line-height: 2.5rem; } }

/* line 47, app/scss/partials/custom_components/user-profile/_preferences.scss */
.Preferences .InfoMessage {
  border: none;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  text-align: center;
  padding: 1.875rem 0 2.1875rem;
  border-top: 1px solid;
  border-bottom: 1px solid;
  margin: 1.5625rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 47, app/scss/partials/custom_components/user-profile/_preferences.scss */
    .Preferences .InfoMessage {
      margin: 1.5625rem; } }

/* line 63, app/scss/partials/custom_components/user-profile/_preferences.scss */
body.Profile.preferences .FormTitleWrapper {
  margin: 0; }

/* line 8, app/scss/partials/custom_components/user-profile/_change-picture.scss */
.Profile.Section-EditProfile .CurrentPicture table, .Profile.Section-EditProfile .Thumbnail table {
  border: none; }
  /* line 10, app/scss/partials/custom_components/user-profile/_change-picture.scss */
  .Profile.Section-EditProfile .CurrentPicture table thead, .Profile.Section-EditProfile .Thumbnail table thead {
    border-bottom: 1px solid; }
    /* line 12, app/scss/partials/custom_components/user-profile/_change-picture.scss */
    .Profile.Section-EditProfile .CurrentPicture table thead td, .Profile.Section-EditProfile .Thumbnail table thead td {
      font-size: 0.8125rem;
      line-height: 1.375rem;
      padding-bottom: 1.25rem; }
      /* line 16, app/scss/partials/custom_components/user-profile/_change-picture.scss */
      .Profile.Section-EditProfile .CurrentPicture table thead td:first-child, .Profile.Section-EditProfile .Thumbnail table thead td:first-child {
        padding-left: 0; }

/* line 27, app/scss/partials/custom_components/user-profile/_change-picture.scss */
.Profile.Section-EditProfile.picture .WarningMessage {
  border-radius: 0.1875rem;
  margin-bottom: 3.125rem;
  font-size: 0.9375rem;
  line-height: 1.375rem;
  text-align: center;
  padding: 1.25rem 3.125rem;
  border: none;
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 27, app/scss/partials/custom_components/user-profile/_change-picture.scss */
    .Profile.Section-EditProfile.picture .WarningMessage {
      margin-left: 1.5625rem; } }

/* line 44, app/scss/partials/custom_components/user-profile/_change-picture.scss */
.Profile.Section-EditProfile input[type=file] {
  font-size: 0.8125rem;
  padding-bottom: 1.5625rem;
  border-bottom: 1px solid; }

/* line 51, app/scss/partials/custom_components/user-profile/_change-picture.scss */
.Profile.Section-EditProfile .CurrentPicture table tbody td, .Profile.Section-EditProfile .Thumbnail table tbody td {
  padding-top: 1.5625rem; }
  /* line 53, app/scss/partials/custom_components/user-profile/_change-picture.scss */
  .Profile.Section-EditProfile .CurrentPicture table tbody td:first-child, .Profile.Section-EditProfile .Thumbnail table tbody td:first-child {
    padding-left: 0; }

/* line 6, app/scss/partials/custom_components/user-profile/_edit-thumbnail.scss */
.Profile.Section-EditProfile.thumbnail .Thumbnail {
  margin: 1rem 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 6, app/scss/partials/custom_components/user-profile/_edit-thumbnail.scss */
    .Profile.Section-EditProfile.thumbnail .Thumbnail {
      margin: 1rem 1.5625rem; } }
  /* line 11, app/scss/partials/custom_components/user-profile/_edit-thumbnail.scss */
  .Profile.Section-EditProfile.thumbnail .Thumbnail .Info {
    font-size: 0.9375rem;
    line-height: 1.375rem;
    padding-left: 0;
    border: none; }
  /* line 17, app/scss/partials/custom_components/user-profile/_edit-thumbnail.scss */
  .Profile.Section-EditProfile.thumbnail .Thumbnail .Buttons {
    border-top: 1px solid;
    padding-top: 1.5625rem;
    margin-left: 0; }

/* line 27, app/scss/partials/custom_components/user-profile/_edit-thumbnail.scss */
.jcrop-holder img {
  max-width: none; }

/* line 30, app/scss/partials/custom_components/user-profile/_edit-thumbnail.scss */
.jcrop-holder .jcrop-tracker {
  background: transparent; }

/* line 36, app/scss/partials/custom_components/user-profile/_edit-thumbnail.scss */
#preview {
  width: 100%;
  max-width: none; }

/* line 6, app/scss/partials/custom_components/user-profile/_online-settings.scss */
.Profile.Section-EditProfile.OnlineNow h2 {
  padding-top: 0.9375rem;
  font-size: 1.5rem;
  font-weight: 300;
  line-height: 2.125rem;
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 6, app/scss/partials/custom_components/user-profile/_online-settings.scss */
    .Profile.Section-EditProfile.OnlineNow h2 {
      margin-left: 1.5625rem; } }

/* line 17, app/scss/partials/custom_components/user-profile/_online-settings.scss */
.Profile.Section-EditProfile.OnlineNow form ul {
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 17, app/scss/partials/custom_components/user-profile/_online-settings.scss */
    .Profile.Section-EditProfile.OnlineNow form ul {
      margin-left: 1.5625rem; } }

/* line 6, app/scss/partials/custom_components/user-profile/_quotes-settings.scss */
.Profile.Section-EditProfile.quotes .H {
  padding-top: 0.9375rem;
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 6, app/scss/partials/custom_components/user-profile/_quotes-settings.scss */
    .Profile.Section-EditProfile.quotes .H {
      margin-left: 1.5625rem; } }

/* line 14, app/scss/partials/custom_components/user-profile/_quotes-settings.scss */
.Profile.Section-EditProfile.quotes form ul {
  margin-left: 0.625rem;
  margin-right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 14, app/scss/partials/custom_components/user-profile/_quotes-settings.scss */
    .Profile.Section-EditProfile.quotes form ul {
      margin-left: 1.5625rem;
      margin-right: 1.5625rem; } }
  /* line 21, app/scss/partials/custom_components/user-profile/_quotes-settings.scss */
  .Profile.Section-EditProfile.quotes form ul div {
    padding-bottom: 0.625rem; }

/* line 7, app/scss/partials/custom_components/user-profile/_signature.scss */
.Profile.Section-EditProfile.signature .FormTitleWrapper h2.H {
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 7, app/scss/partials/custom_components/user-profile/_signature.scss */
    .Profile.Section-EditProfile.signature .FormTitleWrapper h2.H {
      margin-left: 1.5625rem; } }

/* line 13, app/scss/partials/custom_components/user-profile/_signature.scss */
.Profile.Section-EditProfile.signature .FormTitleWrapper .SignatureRules {
  font-size: 0.8125rem; }

/* line 17, app/scss/partials/custom_components/user-profile/_signature.scss */
.Profile.Section-EditProfile.signature .FormTitleWrapper .TextBoxWrapper textarea {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  border-radius: 0.1875rem;
  padding: 0.625rem 0.9375rem; }

/* line 7, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
.PageControls.Top {
  padding-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 7, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
    .PageControls.Top {
      padding-left: 1.5625rem; } }
  /* line 12, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
  .PageControls.Top .BoxButtons {
    -webkit-box-shadow: none;
            box-shadow: none; }
    /* line 14, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
    .PageControls.Top .BoxButtons .Button {
      text-transform: uppercase;
      font-size: 0.875rem;
      border-radius: 0.25rem;
      border: 2px solid; }

/* line 25, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
body.inbox .DataListWrap {
  margin-left: 0;
  margin-right: 0; }
  /* line 28, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
  body.inbox .DataListWrap .Item {
    padding: 0; }
    /* line 30, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
    body.inbox .DataListWrap .Item .Users > a {
      border-bottom: 1px solid transparent;
      padding-bottom: 0.1875rem; }
    /* line 34, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
    body.inbox .DataListWrap .Item .Excerpt {
      padding-left: 0; }
    /* line 37, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
    body.inbox .DataListWrap .Item .Meta {
      padding-left: 0; }

/* line 46, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
.Conversation .Author {
  margin-top: 0;
  padding-top: 1.875rem; }
  /* line 49, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
  .Conversation .Author .PhotoWrap {
    font-size: 1.5rem;
    line-height: 2.125rem;
    height: 5rem; }

/* line 56, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
.Conversation .Excerpt .Message {
  font-size: 1.125rem;
  line-height: 1.625rem; }

/* line 61, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
.Conversation .Meta {
  margin-left: 5.3125rem; }
  /* line 63, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
  .Conversation .Meta span {
    font-size: 0.8125rem; }
  /* line 66, app/scss/partials/custom_components/user-profile/_user-inbox.scss */
  .Conversation .Meta strong {
    text-transform: uppercase;
    font-family: 0.8125rem; }

/* line 9, app/scss/partials/custom_components/user-profile/_comments.scss */
body.comments .Item .ItemContent .Message {
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.625rem; }

/* line 14, app/scss/partials/custom_components/user-profile/_comments.scss */
body.comments .Item .ItemContent .Meta {
  padding-top: 0.3125rem; }

/* line 18, app/scss/partials/custom_components/user-profile/_comments.scss */
body.comments .Item .ItemContent .MItem, body.comments .Item .ItemContent .MItem a {
  font-size: 0.8125rem;
  font-weight: 300;
  line-height: 1.375rem; }

/* line 23, app/scss/partials/custom_components/user-profile/_comments.scss */
body.comments .Item .ItemContent .MItem a {
  border-bottom: 1px solid transparent;
  padding-bottom: 0.1875rem; }

/* line 27, app/scss/partials/custom_components/user-profile/_comments.scss */
body.comments .Item .ItemContent .MItem:last-child {
  margin-left: 0; }

/* line 37, app/scss/partials/custom_components/user-profile/_comments.scss */
body.comments .DataList {
  margin-top: 1.875rem;
  padding-bottom: 1.875rem; }

/* line 46, app/scss/partials/custom_components/user-profile/_comments.scss */
body.comments .DataList .MorePager {
  padding: 1.25rem 0;
  text-align: center; }
  /* line 49, app/scss/partials/custom_components/user-profile/_comments.scss */
  body.comments .DataList .MorePager a {
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }

/* line 8, app/scss/partials/custom_components/user-profile/_ignore.scss */
.Profile.ignore .is-content .H {
  padding-top: 0.9375rem;
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 8, app/scss/partials/custom_components/user-profile/_ignore.scss */
    .Profile.ignore .is-content .H {
      margin-left: 1.5625rem; } }

/* line 15, app/scss/partials/custom_components/user-profile/_ignore.scss */
.Profile.ignore .is-content form {
  margin: 0 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 15, app/scss/partials/custom_components/user-profile/_ignore.scss */
    .Profile.ignore .is-content form {
      margin: 0 1.5625rem; } }
  /* line 21, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .is-content form div ul {
    margin-left: 0; }
    /* line 24, app/scss/partials/custom_components/user-profile/_ignore.scss */
    .Profile.ignore .is-content form div ul li label {
      font-size: 1.125rem;
      font-weight: 300;
      line-height: 1.625rem; }
  /* line 31, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .is-content form div .Buttons {
    margin-left: 0; }

/* line 41, app/scss/partials/custom_components/user-profile/_ignore.scss */
.Profile.ignore .IgnoreList {
  background: transparent;
  width: 100%;
  border: none; }
  /* line 45, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .IgnoreList thead {
    background: transparent; }
    /* line 48, app/scss/partials/custom_components/user-profile/_ignore.scss */
    .Profile.ignore .IgnoreList thead tr th {
      font-weight: 300;
      padding-left: 0; }
  /* line 55, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .IgnoreList tbody tr {
    background: transparent; }
  /* line 59, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .IgnoreList tbody td.IgnoreUserPhoto {
    padding: 0; }
    /* line 61, app/scss/partials/custom_components/user-profile/_ignore.scss */
    .Profile.ignore .IgnoreList tbody td.IgnoreUserPhoto .PhotoWrap {
      height: 2.5rem;
      width: 2.5rem; }
      /* line 64, app/scss/partials/custom_components/user-profile/_ignore.scss */
      .Profile.ignore .IgnoreList tbody td.IgnoreUserPhoto .PhotoWrap .ProfilePhoto {
        position: static;
        height: 2.5rem;
        width: 2.5rem; }
  /* line 72, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .IgnoreList tbody td.IgnoreUserName a {
    font-size: 0.9375rem;
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }
  /* line 78, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .IgnoreList tbody td.IgnoreUserDate {
    font-size: 0.9375rem; }
  /* line 81, app/scss/partials/custom_components/user-profile/_ignore.scss */
  .Profile.ignore .IgnoreList tbody td.IgnoreUserAction {
    float: right; }

/* line 9, app/scss/partials/custom_components/_comment-activity.scss */
.Activities .ActivityComments,
.Conversations .ActivityComments {
  background: transparent;
  margin-top: 0; }
  /* line 12, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .ActivityComments .ActivityComment,
  .Conversations .ActivityComments .ActivityComment {
    border-top: 1px solid; }
    /* line 14, app/scss/partials/custom_components/_comment-activity.scss */
    .Activities .ActivityComments .ActivityComment .Excerpt,
    .Conversations .ActivityComments .ActivityComment .Excerpt {
      padding-left: 1.25rem; }
    /* line 17, app/scss/partials/custom_components/_comment-activity.scss */
    .Activities .ActivityComments .ActivityComment .Meta,
    .Conversations .ActivityComments .ActivityComment .Meta {
      padding-left: 0.625rem; }
      @media only screen and (min-width: 768px) {
        /* line 17, app/scss/partials/custom_components/_comment-activity.scss */
        .Activities .ActivityComments .ActivityComment .Meta,
        .Conversations .ActivityComments .ActivityComment .Meta {
          padding-left: 2.8125rem; } }

/* line 25, app/scss/partials/custom_components/_comment-activity.scss */
.Activities .Activity,
.Activities .ActivityComment,
.Activities .Conversation,
.Conversations .Activity,
.Conversations .ActivityComment,
.Conversations .Conversation {
  background: transparent;
  padding-bottom: 1.5625rem; }
  /* line 30, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .Activity li,
  .Activities .ActivityComment li,
  .Activities .Conversation li,
  .Conversations .Activity li,
  .Conversations .ActivityComment li,
  .Conversations .Conversation li {
    background: transparent; }
  /* line 33, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .Activity:last-child,
  .Activities .ActivityComment:last-child,
  .Activities .Conversation:last-child,
  .Conversations .Activity:last-child,
  .Conversations .ActivityComment:last-child,
  .Conversations .Conversation:last-child {
    border: none; }
  /* line 36, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .Activity .Title a,
  .Activities .Activity .Meta:not(.Photo) a,
  .Activities .Activity .Name,
  .Activities .ActivityComment .Title a,
  .Activities .ActivityComment .Meta:not(.Photo) a,
  .Activities .ActivityComment .Name,
  .Activities .Conversation .Title a,
  .Activities .Conversation .Meta:not(.Photo) a,
  .Activities .Conversation .Name,
  .Conversations .Activity .Title a,
  .Conversations .Activity .Meta:not(.Photo) a,
  .Conversations .Activity .Name,
  .Conversations .ActivityComment .Title a,
  .Conversations .ActivityComment .Meta:not(.Photo) a,
  .Conversations .ActivityComment .Name,
  .Conversations .Conversation .Title a,
  .Conversations .Conversation .Meta:not(.Photo) a,
  .Conversations .Conversation .Name {
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }
  /* line 42, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .Activity .Title a,
  .Activities .Activity .Title,
  .Activities .ActivityComment .Title a,
  .Activities .ActivityComment .Title,
  .Activities .Conversation .Title a,
  .Activities .Conversation .Title,
  .Conversations .Activity .Title a,
  .Conversations .Activity .Title,
  .Conversations .ActivityComment .Title a,
  .Conversations .ActivityComment .Title,
  .Conversations .Conversation .Title a,
  .Conversations .Conversation .Title {
    font-size: 1.125rem; }
  /* line 46, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .Activity .Delete,
  .Activities .ActivityComment .Delete,
  .Activities .Conversation .Delete,
  .Conversations .Activity .Delete,
  .Conversations .ActivityComment .Delete,
  .Conversations .Conversation .Delete {
    font-size: 1.25rem; }
    /* line 48, app/scss/partials/custom_components/_comment-activity.scss */
    .Activities .Activity .Delete:hover,
    .Activities .ActivityComment .Delete:hover,
    .Activities .Conversation .Delete:hover,
    .Conversations .Activity .Delete:hover,
    .Conversations .ActivityComment .Delete:hover,
    .Conversations .Conversation .Delete:hover {
      background: transparent;
      border: none; }

/* line 55, app/scss/partials/custom_components/_comment-activity.scss */
.Activities .ItemContent .Title, .Activities .ItemContent .Excerpt,
.Conversations .ItemContent .Title,
.Conversations .ItemContent .Excerpt {
  font-size: 1.125rem;
  line-height: 1.625rem;
  padding-right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 55, app/scss/partials/custom_components/_comment-activity.scss */
    .Activities .ItemContent .Title, .Activities .ItemContent .Excerpt,
    .Conversations .ItemContent .Title,
    .Conversations .ItemContent .Excerpt {
      padding-right: 1.875rem; } }

/* line 63, app/scss/partials/custom_components/_comment-activity.scss */
.Activities .ItemContent .Title,
.Conversations .ItemContent .Title {
  margin-right: 0.3125rem; }
  /* line 65, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .ItemContent .Title.Name,
  .Conversations .ItemContent .Title.Name {
    font-size: 1rem;
    line-height: 1.375rem; }

/* line 70, app/scss/partials/custom_components/_comment-activity.scss */
.Activities .ItemContent .Meta,
.Conversations .ItemContent .Meta {
  font-size: 0.8125rem;
  line-height: 1.375rem;
  padding-right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 70, app/scss/partials/custom_components/_comment-activity.scss */
    .Activities .ItemContent .Meta,
    .Conversations .ItemContent .Meta {
      padding-right: 1.875rem; } }
  /* line 77, app/scss/partials/custom_components/_comment-activity.scss */
  .Activities .ItemContent .Meta .AddComment,
  .Activities .ItemContent .Meta .DeleteComment,
  .Conversations .ItemContent .Meta .AddComment,
  .Conversations .ItemContent .Meta .DeleteComment {
    margin-left: 0.3125rem; }

/* line 86, app/scss/partials/custom_components/_comment-activity.scss */
.Activity .Reactions {
  margin: 0 0.625rem 1.5625rem; }
  @media only screen and (min-width: 768px) {
    /* line 86, app/scss/partials/custom_components/_comment-activity.scss */
    .Activity .Reactions {
      margin: 0 1.875rem 1.5625rem; } }

/* line 95, app/scss/partials/custom_components/_comment-activity.scss */
.Form-Header .Author {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  padding-left: 0; }
  /* line 100, app/scss/partials/custom_components/_comment-activity.scss */
  .Form-Header .Author .PhotoWrap {
    margin-top: 0; }
    /* line 102, app/scss/partials/custom_components/_comment-activity.scss */
    .Form-Header .Author .PhotoWrap .ProfilePhoto {
      margin-top: 0; }
  /* line 106, app/scss/partials/custom_components/_comment-activity.scss */
  .Form-Header .Author .Username {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-left: 0.9375rem;
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent;
    font-size: 1.5rem;
    width: auto; }

/* line 121, app/scss/partials/custom_components/_comment-activity.scss */
.Activity .Item.Activity .ItemContent.Activity,
.Profile .Item.Activity .ItemContent.Activity {
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 121, app/scss/partials/custom_components/_comment-activity.scss */
    .Activity .Item.Activity .ItemContent.Activity,
    .Profile .Item.Activity .ItemContent.Activity {
      margin-left: 5.3125rem; } }
  /* line 126, app/scss/partials/custom_components/_comment-activity.scss */
  .Activity .Item.Activity .ItemContent.Activity .Reactions,
  .Profile .Item.Activity .ItemContent.Activity .Reactions {
    margin-left: 0; }

@media only screen and (max-width: 40em) {
  /* line 135, app/scss/partials/custom_components/_comment-activity.scss */
  .Activity.index.Section-ActivityList .Meta, .Activity.index.Section-ActivityList .Excerpt, .Activity.index.Section-ActivityList .Title {
    padding-left: 3.125rem; } }

/* line 7, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .H a {
  border-bottom: 1px solid transparent;
  padding-bottom: 0.1875rem; }

/* line 12, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .Conversation .Meta {
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 12, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .Conversation .Meta {
      margin-left: 1.5625rem; } }
  /* line 17, app/scss/partials/custom_components/_messages.scss */
  body.Section-Conversation .Conversation .Meta .Author {
    padding: 0; }
    /* line 19, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .Conversation .Meta .Author .Name {
      font-size: 1.125rem; }
    /* line 22, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .Conversation .Meta .Author .PhotoWrap:hover {
      border: none; }

/* line 27, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .Conversation .Message {
  font-size: 1.125rem;
  padding-right: 3.75rem;
  margin-left: 3.125rem; }
  @media only screen and (min-width: 768px) {
    /* line 27, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .Conversation .Message {
      margin-left: 5.3125rem; } }

/* line 37, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .CommentForm .H {
  font-size: 1.5rem; }

/* line 40, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .CommentForm .PhotoWrap {
  margin-left: 1.5625rem; }

/* line 43, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .CommentForm .editor-help-text {
  font-size: 0.8125rem; }

/* line 46, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .CommentForm .Buttons {
  margin-top: 1.5625rem; }

/* line 50, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .BigButton {
  margin-top: 0; }

/* line 59, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .page-sidebar .Box h4 {
  padding-top: 1.25rem;
  margin-left: 0; }
  @media only screen and (min-width: 768px) {
    /* line 59, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .page-sidebar .Box h4 {
      margin-left: 1.5625rem; } }

/* line 67, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .page-sidebar .Box.InThisConversation h4 {
  margin-left: 0; }
  @media only screen and (min-width: 768px) {
    /* line 67, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .page-sidebar .Box.InThisConversation h4 {
      margin-left: 1.5625rem; } }

/* line 74, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .page-sidebar .Box.InThisConversation .PanelInfo li {
  margin: 0; }
  /* line 77, app/scss/partials/custom_components/_messages.scss */
  body.Section-Conversation .page-sidebar .Box.InThisConversation .PanelInfo li a .Conversation-User {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    /* line 80, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .page-sidebar .Box.InThisConversation .PanelInfo li a .Conversation-User .ProfilePhoto {
      position: static; }
    /* line 83, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .page-sidebar .Box.InThisConversation .PanelInfo li a .Conversation-User .Username {
      margin-left: 0.625rem;
      font-size: 0.9375rem; }
  @media only screen and (max-width: 40em) {
    /* line 76, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .page-sidebar .Box.InThisConversation .PanelInfo li a {
      padding-left: 0;
      padding-right: 0; } }

/* line 97, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .page-sidebar .Box.AddPeople .TextBoxWrapper {
  margin: 1.5625rem 0; }
  @media only screen and (min-width: 768px) {
    /* line 97, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .page-sidebar .Box.AddPeople .TextBoxWrapper {
      margin: 1.5625rem; } }
  /* line 102, app/scss/partials/custom_components/_messages.scss */
  body.Section-Conversation .page-sidebar .Box.AddPeople .TextBoxWrapper textarea {
    font-size: 1.125rem; }

/* line 106, app/scss/partials/custom_components/_messages.scss */
body.Section-Conversation .page-sidebar .Box.AddPeople .Buttons {
  margin-left: 0; }
  @media only screen and (min-width: 768px) {
    /* line 106, app/scss/partials/custom_components/_messages.scss */
    body.Section-Conversation .page-sidebar .Box.AddPeople .Buttons {
      margin-left: 1.5625rem; } }

@media only screen and (max-width: 40em) {
  /* line 117, app/scss/partials/custom_components/_messages.scss */
  .Conversation .Meta {
    margin-left: 3.125rem; } }

/* line 125, app/scss/partials/custom_components/_messages.scss */
.Conversations.Messages .Conversations .ItemContent .Excerpt {
  margin-left: 0; }

/* line 129, app/scss/partials/custom_components/_messages.scss */
.Conversations.Messages .Conversation .Meta {
  padding-left: 0; }

/* line 133, app/scss/partials/custom_components/_messages.scss */
.Conversations.Messages .Conversation .Users .PhotoWrap {
  margin-top: 1.25rem; }

/* line 136, app/scss/partials/custom_components/_messages.scss */
.Conversations.Messages .Conversation .Users a {
  font-size: 1.5rem;
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid transparent; }

/* line 7, app/scss/partials/custom_components/_new-message.scss */
.Section-PostConversation .FormWrapper {
  padding: 0; }

/* line 11, app/scss/partials/custom_components/_new-message.scss */
.Section-PostConversation .P label {
  font-size: 0.8125rem;
  padding-bottom: 0.3125rem; }

/* line 15, app/scss/partials/custom_components/_new-message.scss */
.Section-PostConversation .P .editor-help-text {
  font-size: 0.8125rem; }

/* line 19, app/scss/partials/custom_components/_new-message.scss */
.Section-PostConversation .Buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

/* line 8, app/scss/partials/custom_components/_popup.scss */
.Popup .Border {
  background: transparent; }
  @media only screen and (max-width: 40em) {
    /* line 8, app/scss/partials/custom_components/_popup.scss */
    .Popup .Border {
      width: 100%; } }
  /* line 13, app/scss/partials/custom_components/_popup.scss */
  .Popup .Border .Body {
    border-top: 0.9375rem solid #FFFFFF;
    border-bottom: 0.9375rem solid #FFFFFF;
    overflow-y: auto;
    max-height: calc(100vh - 175px);
    border-radius: 0.25rem;
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-shadow: 0 0 5px #000000;
            box-shadow: 0 0 5px #000000;
    padding: 1.5625rem 0; }
    @media only screen and (min-width: 768px) {
      /* line 13, app/scss/partials/custom_components/_popup.scss */
      .Popup .Border .Body {
        width: 37.5rem;
        padding: 1.5625rem; } }
    /* line 30, app/scss/partials/custom_components/_popup.scss */
    .Popup .Border .Body .Content {
      width: 100%; }
      /* line 32, app/scss/partials/custom_components/_popup.scss */
      .Popup .Border .Body .Content .P {
        font-size: 1.125rem; }
      /* line 35, app/scss/partials/custom_components/_popup.scss */
      .Popup .Border .Body .Content .Buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
        /* line 38, app/scss/partials/custom_components/_popup.scss */
        .Popup .Border .Body .Content .Buttons div {
          display: none; }

/* line 49, app/scss/partials/custom_components/_popup.scss */
.Popup .Footer.Buttons {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  width: 50%; }

/* line 54, app/scss/partials/custom_components/_popup.scss */
.Popup .Buttons {
  margin-top: 3.125rem; }

/* line 59, app/scss/partials/custom_components/_popup.scss */
.Profile.EditMode .Buttons.Buttons-Confirm {
  margin-left: 0; }
  /* line 61, app/scss/partials/custom_components/_popup.scss */
  .Profile.EditMode .Buttons.Buttons-Confirm div {
    display: none; }

/* line 70, app/scss/partials/custom_components/_popup.scss */
.Popup .Errors ul, .Popup .Messages ul {
  margin-left: 0; }

/* line 78, app/scss/partials/custom_components/_popup.scss */
.Profile .Popup .Warnings {
  margin-left: 0;
  margin-right: 0; }

/* line 86, app/scss/partials/custom_components/_popup.scss */
.Popup .WarningMessage {
  font-weight: 300;
  line-height: 1.375rem;
  font-size: 0.9375rem;
  border: none;
  border-radius: 0.1875rem; }
  /* line 92, app/scss/partials/custom_components/_popup.scss */
  .Popup .WarningMessage a {
    font-weight: 700;
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }

/* line 98, app/scss/partials/custom_components/_popup.scss */
.Popup .CheckBoxLabel {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  /* line 101, app/scss/partials/custom_components/_popup.scss */
  .Popup .CheckBoxLabel input[type=checkbox] {
    margin-right: 0.3125rem; }

/* line 111, app/scss/partials/custom_components/_popup.scss */
.Popup .Body .Content h2 {
  margin-bottom: 0.9375rem;
  text-align: left; }

/* line 116, app/scss/partials/custom_components/_popup.scss */
.Popup .Body .Content form div ul {
  margin-left: 0;
  text-align: left; }
  /* line 120, app/scss/partials/custom_components/_popup.scss */
  .Popup .Body .Content form div ul li a {
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }
  /* line 124, app/scss/partials/custom_components/_popup.scss */
  .Popup .Body .Content form div ul li label {
    font-size: 1.125rem;
    line-height: 1.625rem;
    font-weight: 300; }
    /* line 128, app/scss/partials/custom_components/_popup.scss */
    .Popup .Body .Content form div ul li label.CheckBoxLabel {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      /* line 131, app/scss/partials/custom_components/_popup.scss */
      .Popup .Body .Content form div ul li label.CheckBoxLabel input[type=checkbox] {
        margin-right: 0.3125rem; }

/* line 138, app/scss/partials/custom_components/_popup.scss */
.Popup .Body .Content form div textarea {
  border-radius: 0.1875rem;
  border: 1px solid;
  font-size: 0.9375rem;
  font-weight: 300;
  line-height: 1.375rem; }

/* line 153, app/scss/partials/custom_components/_popup.scss */
.Popup.SignInPopup .Body .Content {
  text-align: left;
  width: 100%; }
  /* line 156, app/scss/partials/custom_components/_popup.scss */
  .Popup.SignInPopup .Body .Content h1 {
    margin: 0 1.5625rem 0.5rem;
    font-size: 1.5rem;
    line-height: 2.125rem;
    font-weight: 300; }
  /* line 162, app/scss/partials/custom_components/_popup.scss */
  .Popup.SignInPopup .Body .Content .Entry {
    margin: 0; }
  /* line 165, app/scss/partials/custom_components/_popup.scss */
  .Popup.SignInPopup .Body .Content .Buttons {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin: 0 1.5625rem; }
    /* line 169, app/scss/partials/custom_components/_popup.scss */
    .Popup.SignInPopup .Body .Content .Buttons .Button.Primary {
      width: 7.8125rem; }
    /* line 172, app/scss/partials/custom_components/_popup.scss */
    .Popup.SignInPopup .Body .Content .Buttons .CheckBoxLabel {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      /* line 174, app/scss/partials/custom_components/_popup.scss */
      .Popup.SignInPopup .Body .Content .Buttons .CheckBoxLabel input {
        margin-right: 0.3125rem; }
    /* line 178, app/scss/partials/custom_components/_popup.scss */
    .Popup.SignInPopup .Body .Content .Buttons .CreateAccount {
      margin: 0;
      padding-top: 0.3125rem; }
      /* line 181, app/scss/partials/custom_components/_popup.scss */
      .Popup.SignInPopup .Body .Content .Buttons .CreateAccount a {
        border-bottom: 1px solid transparent;
        padding-bottom: 0.1875rem; }
  /* line 187, app/scss/partials/custom_components/_popup.scss */
  .Popup.SignInPopup .Body .Content .MainForm {
    margin: 0; }
    /* line 189, app/scss/partials/custom_components/_popup.scss */
    .Popup.SignInPopup .Body .Content .MainForm ul {
      margin-left: 0; }
      /* line 192, app/scss/partials/custom_components/_popup.scss */
      .Popup.SignInPopup .Body .Content .MainForm ul li .TextBoxWrapper {
        margin: 0; }
      /* line 195, app/scss/partials/custom_components/_popup.scss */
      .Popup.SignInPopup .Body .Content .MainForm ul li .InputBox {
        width: 100%;
        max-width: 100%;
        font-size: 1.125rem;
        line-height: 1.625rem;
        border-radius: 0.1875rem; }
      /* line 202, app/scss/partials/custom_components/_popup.scss */
      .Popup.SignInPopup .Body .Content .MainForm ul li label {
        font-size: 1.125rem;
        line-height: 1.625rem;
        font-weight: 300; }
      /* line 207, app/scss/partials/custom_components/_popup.scss */
      .Popup.SignInPopup .Body .Content .MainForm ul li a {
        margin-left: 0;
        border-bottom: 1px solid transparent;
        padding-bottom: 0.1875rem; }

/* line 220, app/scss/partials/custom_components/_popup.scss */
.Overlay > .Popup a.Close {
  top: 0.9375rem;
  right: 1.25rem;
  font-weight: 300; }
  /* line 224, app/scss/partials/custom_components/_popup.scss */
  .Overlay > .Popup a.Close span {
    -webkit-transition: all .3s ease;
    transition: all .3s ease; }

@media only screen and (max-width: 40em) {
  /* line 231, app/scss/partials/custom_components/_popup.scss */
  #Form_User_SignIn .MainForm {
    width: 100%; }
    /* line 233, app/scss/partials/custom_components/_popup.scss */
    #Form_User_SignIn .MainForm ul {
      margin: 0; } }

/* line 7, app/scss/partials/custom_components/_checkmarks.scss */
.AdminCheck {
  position: absolute;
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  top: 4.375rem;
  right: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 7, app/scss/partials/custom_components/_checkmarks.scss */
    .AdminCheck {
      top: 3.3125rem;
      right: 7.8125rem; } }

/* line 19, app/scss/partials/custom_components/_checkmarks.scss */
.H .AdminCheck {
  position: static;
  display: inline-block;
  padding-left: 0; }
  /* line 23, app/scss/partials/custom_components/_checkmarks.scss */
  .H .AdminCheck input[name=Toggle] {
    margin-right: 1.25rem; }

/* line 30, app/scss/partials/custom_components/_checkmarks.scss */
.ItemComment .AdminCheck {
  top: -0.1875rem;
  right: 3.125rem; }
  @media only screen and (min-width: 768px) {
    /* line 30, app/scss/partials/custom_components/_checkmarks.scss */
    .ItemComment .AdminCheck {
      display: none; } }

/* line 38, app/scss/partials/custom_components/_checkmarks.scss */
.ItemComment:hover .AdminCheck {
  display: inline-block; }

/* line 45, app/scss/partials/custom_components/_checkmarks.scss */
.PageTitle {
  position: relative; }
  /* line 47, app/scss/partials/custom_components/_checkmarks.scss */
  .PageTitle .AdminCheck {
    position: static;
    display: inline-block;
    margin-top: -0.1875rem; }
    /* line 51, app/scss/partials/custom_components/_checkmarks.scss */
    .PageTitle .AdminCheck input[name=Toggle] {
      margin-right: 1.25rem; }

/* line 58, app/scss/partials/custom_components/_checkmarks.scss */
label[for="Form_NoBump"] {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0.625rem 0; }
  /* line 62, app/scss/partials/custom_components/_checkmarks.scss */
  label[for="Form_NoBump"] input[type=checkbox] {
    display: inline-block;
    margin-right: 0.3125rem; }

/* line 69, app/scss/partials/custom_components/_checkmarks.scss */
input[type=checkbox] {
  position: relative;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  width: 1.125rem;
  height: 1.25rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  border: 1px solid;
  border-radius: 4px;
  cursor: pointer;
  margin: 0; }
  /* line 81, app/scss/partials/custom_components/_checkmarks.scss */
  input[type=checkbox]:checked {
    background: transparent; }
  /* line 84, app/scss/partials/custom_components/_checkmarks.scss */
  input[type=checkbox]:after {
    position: absolute;
    top: 0.25rem;
    right: 0.125rem;
    content: "";
    width: 0.75rem;
    height: 0.4375rem;
    border: 2px solid;
    border-top: none;
    border-right: none;
    background: transparent;
    opacity: 0;
    -webkit-transform: rotate(-50deg);
            transform: rotate(-50deg);
    -webkit-transition: opacity 250ms;
    transition: opacity 250ms; }
  /* line 99, app/scss/partials/custom_components/_checkmarks.scss */
  input[type=checkbox]:hover:after {
    opacity: 0.3; }
  /* line 102, app/scss/partials/custom_components/_checkmarks.scss */
  input[type=checkbox]:checked:after {
    opacity: 1; }

/* line 6, app/scss/partials/custom_components/_category.scss */
.CategoryList {
  padding-bottom: 1.875rem; }

/* line 13, app/scss/partials/custom_components/_category.scss */
.CategoryList .Meta span {
  font-weight: normal; }

/* line 16, app/scss/partials/custom_components/_category.scss */
.CategoryList .Meta .MItem.CommentCount {
  margin-right: 0.5rem; }

/* line 21, app/scss/partials/custom_components/_category.scss */
.CategoryList .Category .PhotoWrap-Category {
  margin: 0.625rem 1.25rem 0.625rem 1.5625rem; }
  @media only screen and (max-width: 40em) {
    /* line 21, app/scss/partials/custom_components/_category.scss */
    .CategoryList .Category .PhotoWrap-Category {
      display: none; } }
  /* line 26, app/scss/partials/custom_components/_category.scss */
  .CategoryList .Category .PhotoWrap-Category, .CategoryList .Category .PhotoWrap-Category .CategoryPhoto {
    border-radius: 50%;
    height: 2.5rem;
    width: 2.5rem; }
  /* line 31, app/scss/partials/custom_components/_category.scss */
  .CategoryList .Category .PhotoWrap-Category .CategoryPhoto {
    border: 2px solid; }

/* line 36, app/scss/partials/custom_components/_category.scss */
.CategoryList .Category .Options .OptionsTitle {
  margin-right: -0.625rem; }

/* line 44, app/scss/partials/custom_components/_category.scss */
.DataList .Meta .RSS {
  margin-right: 0; }

@media only screen {
  /* line 50, app/scss/partials/custom_components/_category.scss */
  .CategoryList .Meta .MItem.LastDiscussionTitle {
    white-space: pre-wrap; } }

@media only screen and (min-width: 64.0625em) {
  /* line 50, app/scss/partials/custom_components/_category.scss */
  .CategoryList .Meta .MItem.LastDiscussionTitle {
    white-space: nowrap; } }

/* line 57, app/scss/partials/custom_components/_category.scss */
.CategoryList .Meta .MItem.LastDiscussionTitle a:first-child {
  margin: 0 0.3125rem; }

/* line 66, app/scss/partials/custom_components/_category.scss */
.CategoryList .Item .CategoryDescription {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  width: 75%; }

/* line 78, app/scss/partials/custom_components/_category.scss */
.CategoryList .Item .PhotoWrap-Category.NoPhoto + .TitleWrap, .CategoryList .Item .PhotoWrap-Category.NoPhoto ~ .Meta,
.CategoryList .Item .PhotoWrap-Category.NoPhoto ~ .CategoryDescription {
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 78, app/scss/partials/custom_components/_category.scss */
    .CategoryList .Item .PhotoWrap-Category.NoPhoto + .TitleWrap, .CategoryList .Item .PhotoWrap-Category.NoPhoto ~ .Meta,
    .CategoryList .Item .PhotoWrap-Category.NoPhoto ~ .CategoryDescription {
      margin-left: 1.5625rem; } }

/* line 87, app/scss/partials/custom_components/_category.scss */
.CategoryList .Item .PhotoWrap-Category:not(.NoPhoto) + .TitleWrap, .CategoryList .Item .PhotoWrap-Category:not(.NoPhoto) ~ .Meta,
.CategoryList .Item .PhotoWrap-Category:not(.NoPhoto) ~ .CategoryDescription {
  margin-left: 0.625rem; }
  @media only screen and (min-width: 768px) {
    /* line 87, app/scss/partials/custom_components/_category.scss */
    .CategoryList .Item .PhotoWrap-Category:not(.NoPhoto) + .TitleWrap, .CategoryList .Item .PhotoWrap-Category:not(.NoPhoto) ~ .Meta,
    .CategoryList .Item .PhotoWrap-Category:not(.NoPhoto) ~ .CategoryDescription {
      margin-left: 5.3125rem; } }

/* line 102, app/scss/partials/custom_components/_category.scss */
.CategoryList .Category .ChildCategories {
  border: none; }
  /* line 104, app/scss/partials/custom_components/_category.scss */
  .CategoryList .Category .ChildCategories b {
    text-transform: uppercase;
    font-weight: 700; }
  /* line 108, app/scss/partials/custom_components/_category.scss */
  .CategoryList .Category .ChildCategories, .CategoryList .Category .ChildCategories b, .CategoryList .Category .ChildCategories a {
    font-size: 0.8125rem;
    line-height: 1.375rem; }
  /* line 112, app/scss/partials/custom_components/_category.scss */
  .CategoryList .Category .ChildCategories a {
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }

/* line 122, app/scss/partials/custom_components/_category.scss */
.ChildCategoryList .Category {
  width: 100%; }
  /* line 124, app/scss/partials/custom_components/_category.scss */
  .ChildCategoryList .Category .CategoryDescription {
    margin-left: 0.625rem; }
    @media only screen and (min-width: 768px) {
      /* line 124, app/scss/partials/custom_components/_category.scss */
      .ChildCategoryList .Category .CategoryDescription {
        margin-left: 1.5625rem; } }

/* line 9, app/scss/partials/custom_components/_sign-in.scss */
.signin .SingleEntryMethod .MainForm ul {
  margin: 0 1.5625rem 1.25rem; }
  /* line 11, app/scss/partials/custom_components/_sign-in.scss */
  .signin .SingleEntryMethod .MainForm ul label {
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.625rem; }
  /* line 16, app/scss/partials/custom_components/_sign-in.scss */
  .signin .SingleEntryMethod .MainForm ul .InputBox {
    max-width: 100%;
    width: 100%;
    border-radius: 0.1875rem;
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.625rem; }
  /* line 24, app/scss/partials/custom_components/_sign-in.scss */
  .signin .SingleEntryMethod .MainForm ul .ForgotPassword {
    margin-left: 0;
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }

/* line 35, app/scss/partials/custom_components/_sign-in.scss */
.signin .Messages {
  padding-right: 1.5625rem;
  padding-left: 0.3125rem; }

/* line 41, app/scss/partials/custom_components/_sign-in.scss */
.signin .Buttons,
#Form_User_SignIn .Buttons {
  padding-bottom: 1.5625rem; }
  /* line 44, app/scss/partials/custom_components/_sign-in.scss */
  .signin .Buttons .CheckBoxLabel,
  #Form_User_SignIn .Buttons .CheckBoxLabel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-bottom: 0.3125rem; }
    /* line 48, app/scss/partials/custom_components/_sign-in.scss */
    .signin .Buttons .CheckBoxLabel input,
    #Form_User_SignIn .Buttons .CheckBoxLabel input {
      margin-right: 0.625rem; }
  /* line 53, app/scss/partials/custom_components/_sign-in.scss */
  .signin .Buttons .CreateAccount a,
  #Form_User_SignIn .Buttons .CreateAccount a {
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }

/* line 61, app/scss/partials/custom_components/_sign-in.scss */
#Form_User_SignIn {
  padding-bottom: 1.5625rem; }
  /* line 63, app/scss/partials/custom_components/_sign-in.scss */
  #Form_User_SignIn ul {
    margin: 0 1.5625rem; }
    /* line 65, app/scss/partials/custom_components/_sign-in.scss */
    #Form_User_SignIn ul label {
      font-size: 1.125rem;
      font-weight: 300;
      line-height: 1.625rem; }
    /* line 70, app/scss/partials/custom_components/_sign-in.scss */
    #Form_User_SignIn ul .InputBox {
      max-width: 100%;
      width: 100%;
      border-radius: 0.1875rem;
      font-size: 1.125rem;
      font-weight: 300;
      line-height: 1.625rem; }
    /* line 78, app/scss/partials/custom_components/_sign-in.scss */
    #Form_User_SignIn ul .ForgotPassword {
      margin-left: 0;
      border-bottom: 1px solid transparent;
      padding-bottom: 0.1875rem; }
  /* line 85, app/scss/partials/custom_components/_sign-in.scss */
  #Form_User_SignIn .CreateAccount a {
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }

/* line 6, app/scss/partials/custom_components/_register.scss */
.register .FormWrapper ul label, .register .FormWrapper ul .InputBox {
  font-size: 1.125rem;
  font-weight: 300;
  line-height: 1.625rem; }

/* line 11, app/scss/partials/custom_components/_register.scss */
.register .FormWrapper ul .Gloss {
  font-size: 0.8125rem; }

/* line 14, app/scss/partials/custom_components/_register.scss */
.register .FormWrapper ul .Gender .RadioLabel, .register .FormWrapper ul .CaptchaInput,
.register .FormWrapper ul .CaptchaInput a, .register .FormWrapper ul .CheckBoxLabel {
  font-size: 0.9375rem;
  line-height: 1.375rem; }

/* line 24, app/scss/partials/custom_components/_register.scss */
.register .FormWrapper ul {
  margin-left: 0; }
  /* line 26, app/scss/partials/custom_components/_register.scss */
  .register .FormWrapper ul .InputBox {
    height: 3.125rem;
    border-radius: 0.1875rem; }
  /* line 31, app/scss/partials/custom_components/_register.scss */
  .register .FormWrapper ul .Gender .RadioLabel input {
    margin-right: 0.3125rem; }
  /* line 35, app/scss/partials/custom_components/_register.scss */
  .register .FormWrapper ul .CaptchaInput {
    padding-bottom: 0.3125rem; }
  /* line 38, app/scss/partials/custom_components/_register.scss */
  .register .FormWrapper ul .CheckBoxLabel {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    /* line 41, app/scss/partials/custom_components/_register.scss */
    .register .FormWrapper ul .CheckBoxLabel a {
      padding-left: 0.3125rem;
      border-bottom: 1px solid transparent; }
    /* line 45, app/scss/partials/custom_components/_register.scss */
    .register .FormWrapper ul .CheckBoxLabel input {
      margin-right: 0.625rem; }
  /* line 49, app/scss/partials/custom_components/_register.scss */
  .register .FormWrapper ul .Buttons {
    margin-top: 1.5625rem; }

/* line 7, app/scss/partials/custom_components/_editor-actions.scss */
.editor-dropdown [class^="emoji"] {
  padding: 0.125rem;
  -webkit-transition: background .3s ease-in;
  transition: background .3s ease-in;
  border-radius: 0.1875rem; }

/* line 16, app/scss/partials/custom_components/_editor-actions.scss */
.editor-dropdown-link .Flyout {
  max-width: 18.75rem;
  width: 18.75rem;
  padding: 0.9375rem; }
  /* line 20, app/scss/partials/custom_components/_editor-actions.scss */
  .editor-dropdown-link .Flyout .InputBox {
    border-radius: 0.1875rem;
    font-size: 0.9375rem; }
  /* line 24, app/scss/partials/custom_components/_editor-actions.scss */
  .editor-dropdown-link .Flyout .MenuButtons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    /* line 27, app/scss/partials/custom_components/_editor-actions.scss */
    .editor-dropdown-link .Flyout .MenuButtons .Button {
      -webkit-appearance: none;
      background: transparent;
      text-transform: uppercase;
      border: 2px solid;
      border-radius: 0.1875rem;
      text-shadow: none;
      -webkit-box-shadow: none;
              box-shadow: none;
      margin-top: 1.25rem;
      font-weight: 300;
      font-size: 0.875rem;
      padding: 0.25rem 1.25rem 0.375rem; }

/* line 46, app/scss/partials/custom_components/_editor-actions.scss */
.editor-dropdown .drop-section {
  margin: 0.9375rem; }
  /* line 48, app/scss/partials/custom_components/_editor-actions.scss */
  .editor-dropdown .drop-section .InputBox {
    border-radius: 0.01172rem;
    font-size: 0.9375rem; }

/* line 58, app/scss/partials/custom_components/_editor-actions.scss */
.editor-fullpage #editor-fullpage-candidate .TextBoxWrapper .TextBox {
  border-radius: 0.1875rem;
  font-size: 0.9375rem;
  line-height: 1.375rem; }

/* line 64, app/scss/partials/custom_components/_editor-actions.scss */
.editor-fullpage #editor-fullpage-candidate .Preview {
  margin: 3.125rem auto;
  max-width: 50rem; }

/* line 7, app/scss/partials/custom_components/_my-drafts.scss */
.Drafts .Draft {
  padding: 1.25rem 1.5625rem; }
  /* line 10, app/scss/partials/custom_components/_my-drafts.scss */
  .Drafts .Draft .ItemContent .Title {
    max-width: 80%;
    display: inline-block;
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2.125rem;
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }
  /* line 20, app/scss/partials/custom_components/_my-drafts.scss */
  .Drafts .Draft .ItemContent .Excerpt a {
    font-size: 0.9375rem;
    font-weight: 300;
    line-height: 1.375rem;
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }

/* line 36, app/scss/partials/custom_components/_my-drafts.scss */
.Drafts .Draft .Options .Delete {
  position: absolute;
  top: -0.625rem;
  right: 0.3125rem; }

/* line 5, app/scss/partials/custom_components/_splash-info.scss */
.SplashInfo {
  padding-top: 0.625rem;
  padding-bottom: 0.625rem; }

/* line 6, app/scss/partials/custom_components/_discussion-polls.scss */
.DP_Question {
  border: none;
  padding: 0; }

/* line 11, app/scss/partials/custom_components/_discussion-polls.scss */
#DP_NextQuestion {
  position: absolute;
  margin-left: -0.625rem; }

/* line 15, app/scss/partials/custom_components/_discussion-polls.scss */
#DP_NextQuestion, #DP_PreviousQuestion, #DP_AddOption {
  text-indent: -9999px; }
  /* line 17, app/scss/partials/custom_components/_discussion-polls.scss */
  #DP_NextQuestion:hover, #DP_PreviousQuestion:hover, #DP_AddOption:hover {
    border: none; }

/* line 23, app/scss/partials/custom_components/_discussion-polls.scss */
.DP_AnswerForm, .DP_ResultsForm {
  font-size: 1.5rem;
  line-height: 2.125rem;
  font-weight: 300;
  margin: 0 1.5625rem !important;
  padding: 0 !important;
  border: none !important; }
  @media only screen and (min-width: 768px) {
    /* line 23, app/scss/partials/custom_components/_discussion-polls.scss */
    .DP_AnswerForm, .DP_ResultsForm {
      margin: 0 5.3125rem !important; } }
  /* line 35, app/scss/partials/custom_components/_discussion-polls.scss */
  .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion:not(:first-child), .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion:not(:first-child), .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion:not(:first-child), .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion:not(:first-child), .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion:not(:first-child), .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion:not(:first-child), .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion:not(:first-child), .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion:not(:first-child) {
    padding-top: 0.9375rem; }
  /* line 38, app/scss/partials/custom_components/_discussion-polls.scss */
  .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion span, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion span, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion span, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion span, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion span, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion span, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion span, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion span {
    font-size: 1.125rem;
    line-height: 1.375rem;
    font-weight: 300; }
    /* line 42, app/scss/partials/custom_components/_discussion-polls.scss */
    .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion span.DP_VoteCount, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion span.DP_VoteCount, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion span.DP_VoteCount, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion span.DP_VoteCount, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion span.DP_VoteCount, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion span.DP_VoteCount, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion span.DP_VoteCount, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion span.DP_VoteCount {
      margin-left: 3.125rem; }
  /* line 46, app/scss/partials/custom_components/_discussion-polls.scss */
  .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions, .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions {
    margin-top: 0.9375rem; }
    /* line 48, app/scss/partials/custom_components/_discussion-polls.scss */
    .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .RadioLabel, .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .RadioLabel, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .RadioLabel, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .RadioLabel, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .RadioLabel, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .RadioLabel, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .RadioLabel, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .RadioLabel, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .RadioLabel, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .RadioLabel, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .RadioLabel, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .RadioLabel, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .RadioLabel, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .RadioLabel, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .RadioLabel, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .RadioLabel {
      font-size: 0.9375rem;
      line-height: 1.375rem; }
    /* line 53, app/scss/partials/custom_components/_discussion-polls.scss */
    .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption, .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption, .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar {
      font-size: 0.9375rem;
      line-height: 1.375rem;
      margin-top: 0.9375rem; }
    /* line 58, app/scss/partials/custom_components/_discussion-polls.scss */
    .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_AnswerForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_AnswerQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_AnswerQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_AnswerOptions .DP_ResultOption .DP_Bar, .DP_ResultsForm .DP_ResultQuestions .DP_ResultQuestion .DP_ResultOptions .DP_ResultOption .DP_Bar {
      margin: 0.625rem 0.3125rem; }

/* line 68, app/scss/partials/custom_components/_discussion-polls.scss */
#DP_Tools {
  margin-left: 3.125rem; }
  /* line 70, app/scss/partials/custom_components/_discussion-polls.scss */
  #DP_Tools li {
    display: inline-block;
    margin-right: 0.9375rem; }
    /* line 73, app/scss/partials/custom_components/_discussion-polls.scss */
    #DP_Tools li a {
      background-image: none;
      float: none;
      padding-bottom: 0.1875rem;
      border-bottom: 1px solid transparent; }

/* line 84, app/scss/partials/custom_components/_discussion-polls.scss */
.DiscussionForm .P label[for=Form_DP_Attach] {
  font-size: 0.9375rem;
  line-height: 1.375rem;
  font-weight: 300; }
  /* line 88, app/scss/partials/custom_components/_discussion-polls.scss */
  .DiscussionForm .P label[for=Form_DP_Attach] input {
    margin-bottom: -0.3125rem;
    display: inline-block; }

/* line 7, app/scss/partials/custom_components/_inform-messages.scss */
.InformMessages div {
  font-size: 0.8125rem;
  line-height: 1.1875rem; }
  /* line 11, app/scss/partials/custom_components/_inform-messages.scss */
  .InformMessages div.Actions .Delete, .InformMessages div.Actions .Move, .InformMessages div.Actions .Merge, .InformMessages div.Actions .CancelAction, .InformMessages div.Actions .Split {
    text-transform: uppercase;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem; }

/* line 5, app/scss/partials/custom_components/_tags.scss */
.JustNew {
  display: inline-block; }

/* line 6, app/scss/partials/custom_components/_warnings.scss */
span.Warning, div.Warning {
  border-radius: 0.1875rem;
  border: none;
  font-weight: 300; }
  /* line 10, app/scss/partials/custom_components/_warnings.scss */
  span.Warning a, div.Warning a {
    border-bottom: 1px solid transparent;
    padding-bottom: 0.1875rem;
    font-weight: 700; }

/* line 18, app/scss/partials/custom_components/_warnings.scss */
.Profile .Warnings div {
  text-shadow: none;
  border-radius: 0.1875rem; }

/* line 22, app/scss/partials/custom_components/_warnings.scss */
.Warnings .WarningReason {
  margin-bottom: 1.5625rem; }

/* line 26, app/scss/partials/custom_components/_warnings.scss */
.WarningTogggleHistory {
  border-bottom: 1px solid transparent;
  padding-bottom: 0.1875rem; }

/* line 33, app/scss/partials/custom_components/_warnings.scss */
.Hero, .Hero.Warning {
  margin: 0.625rem 1.5625rem; }

/* line 6, app/scss/partials/custom_components/_search-results.scss */
.SearchForm {
  padding: 1.5625rem;
  margin-top: 0; }
  /* line 9, app/scss/partials/custom_components/_search-results.scss */
  .SearchForm .SiteSearch {
    max-width: 100%; }
    /* line 11, app/scss/partials/custom_components/_search-results.scss */
    .SearchForm .SiteSearch .InputBox {
      border-radius: 0.1875rem;
      border: 1px solid;
      font-size: 1.125rem;
      line-height: 1.625rem;
      height: 3.125rem;
      padding-left: 0.9375rem; }
    /* line 19, app/scss/partials/custom_components/_search-results.scss */
    .SearchForm .SiteSearch .Button {
      background: url(images/icons/forum.search-icon.svg) no-repeat center;
      top: 0.9375rem;
      right: 0.9375rem;
      height: 1.25rem;
      width: 1.25rem;
      -webkit-transition: background .3s ease;
      transition: background .3s ease; }
      /* line 26, app/scss/partials/custom_components/_search-results.scss */
      .SearchForm .SiteSearch .Button:hover {
        background-image: url(images/icons/forum.search-icon.active.svg); }

/* line 34, app/scss/partials/custom_components/_search-results.scss */
.Search .NoResults {
  margin: 1.5625rem;
  font-size: 1rem; }

/* line 41, app/scss/partials/custom_components/_search-results.scss */
.Search .Next, .Search .Previous {
  padding-bottom: 0.1875rem;
  border-bottom: 1px solid transparent;
  padding: 0.0625rem 0 0.1875rem;
  margin-right: 0.9375rem;
  border-radius: 0; }

/* line 51, app/scss/partials/custom_components/_search-results.scss */
.Item.Item-Search {
  padding: 1.25rem 1.5625rem;
  -webkit-transition: background .3s ease;
  transition: background .3s ease;
  border-top: 1px solid;
  list-style-type: none; }
  /* line 56, app/scss/partials/custom_components/_search-results.scss */
  .Item.Item-Search h3 a {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 2.125rem;
    padding-bottom: 0.1875rem;
    border-bottom: 1px solid transparent; }
  /* line 64, app/scss/partials/custom_components/_search-results.scss */
  .Item.Item-Search .Media-Body span {
    font-size: 0.9375rem;
    font-weight: 300;
    line-height: 1.375rem; }
    /* line 68, app/scss/partials/custom_components/_search-results.scss */
    .Item.Item-Search .Media-Body span.Bullet {
      padding: 0 0.3125rem;
      font-weight: 700; }
    /* line 73, app/scss/partials/custom_components/_search-results.scss */
    .Item.Item-Search .Media-Body span.MItem-Author a {
      padding-bottom: 0.1875rem;
      border-bottom: 1px solid transparent; }

/* line 84, app/scss/partials/custom_components/_search-results.scss */
.Search .page-sidebar {
  display: none; }

/* line 89, app/scss/partials/custom_components/_search-results.scss */
#search-results {
  margin-bottom: 0; }

/* line 7, app/scss/partials/custom_components/_post-bg.scss */
.Comments [class*="Tier-"]:not(.MessageForm), .Discussion [class*="Tier-"]:not(.MessageForm) {
  background: url(images/dark/post-bg.png) center; }

/* line 10, app/scss/partials/custom_components/_post-bg.scss */
.Comments [class*="Tier-"] .CommentHeader, .Comments [class*="Tier-"] .DiscussionHeader, .Discussion [class*="Tier-"] .CommentHeader, .Discussion [class*="Tier-"] .DiscussionHeader {
  border-top: 1px solid; }
  /* line 13, app/scss/partials/custom_components/_post-bg.scss */
  .Comments [class*="Tier-"] .CommentHeader .AuthorInfo [class*='Tier-'], .Comments [class*="Tier-"] .DiscussionHeader .AuthorInfo [class*='Tier-'], .Discussion [class*="Tier-"] .CommentHeader .AuthorInfo [class*='Tier-'], .Discussion [class*="Tier-"] .DiscussionHeader .AuthorInfo [class*='Tier-'] {
    background: transparent; }

/* line 24, app/scss/partials/custom_components/_post-bg.scss */
.onlineNow .PanelInfo [class*='Tier-'] {
  background: transparent; }

/* line 6, app/scss/partials/custom_components/_connect.scss */
.connect .Connect form {
  margin: 0 1.5625rem 1rem; }
  /* line 8, app/scss/partials/custom_components/_connect.scss */
  .connect .Connect form ul {
    margin-left: 0; }

/* line 17, app/scss/partials/custom_components/_connect.scss */
.connect .Connect .PhotoWrap .ProfilePhoto {
  position: static; }

/* line 26, app/scss/partials/custom_components/_connect.scss */
.connect .Connect .WhoIs h3 {
  font-size: 1.375rem; }

/* line 34, app/scss/partials/custom_components/_connect.scss */
.connect .Connect .FinePrint {
  font-size: 0.875rem; }

/* line 37, app/scss/partials/custom_components/_connect.scss */
.connect .Connect .ExistingUsername {
  font-size: 1rem; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tLmNzcyIsInNvdXJjZXMiOlsiY3VzdG9tLnNjc3MiLCJmb3VuZGF0aW9uL25vcm1hbGl6ZS5zY3NzIiwiX3ZhcmlhYmxlcy5zY3NzIiwiX3NldHRpbmdzLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vX2Z1bmN0aW9ucy5zY3NzIiwicGFydGlhbHMvX2Jhc2Uuc2NzcyIsIm1vZHVsZXMvX2FsbC5zY3NzIiwibW9kdWxlcy9faWNvbnMuc2NzcyIsIm1vZHVsZXMvX2ZvbnRzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX2FsbC5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19ncmlkLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZ3JpZC5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2dsb2JhbC5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fYWxlcnQtYm94ZXMuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19hbGVydC1ib3hlcy5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19ibG9jay1ncmlkLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYmxvY2stZ3JpZC5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2JyZWFkY3J1bWJzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX2J1dHRvbi1ncm91cHMuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19idXR0b24tZ3JvdXBzLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fYnV0dG9ucy5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19idXR0b25zLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX2NsZWFyaW5nLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fY2xlYXJpbmcuc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fZHJvcGRvd24uc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19kcm9wZG93bi1idXR0b25zLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZHJvcGRvd24tYnV0dG9ucy5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19mbGV4LXZpZGVvLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3R5cGUuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL190eXBlLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fZmxleC12aWRlby5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19mb3Jtcy5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2Zvcm1zLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX2ljb24tYmFyLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9faWNvbi1iYXIuc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9faW5saW5lLWxpc3RzLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9faW5saW5lLWxpc3RzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX2pveXJpZGUuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19qb3lyaWRlLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX2tleXN0cm9rZXMuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19rZXlzdHJva2VzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX2xhYmVscy5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX2xhYmVscy5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19tYWdlbGxhbi5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX21hZ2VsbGFuLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fcGFnaW5hdGlvbi5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcGFuZWxzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3ByaWNpbmctdGFibGVzLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcHJpY2luZy10YWJsZXMuc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFycy5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhcnMuc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fcmFuZ2Utc2xpZGVyLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL19zaWRlLW5hdi5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3NpZGUtbmF2LnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3NwbGl0LWJ1dHRvbnMuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19zcGxpdC1idXR0b25zLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3N1Yi1uYXYuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL19zdWItbmF2LnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3N3aXRjaGVzLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fc3dpdGNoZXMuc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9fdGFibGVzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL190YWJzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3RodW1icy5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3RodW1icy5zY3NzIiwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL190b29sdGlwcy5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Rvb2x0aXBzLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCJwYXJ0aWFscy9mb3VuZGF0aW9uX2NvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvX3RhYi1iYXIuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19zaWRlLW1lbnUuc2NzcyIsInBhcnRpYWxzL2ZvdW5kYXRpb25fY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvX3Zpc2liaWxpdHkuc2NzcyIsInBhcnRpYWxzL3ZhbmlsbGFfY29tcG9uZW50cy9fYXZhdGFycy5zY3NzIiwicGFydGlhbHMvdmFuaWxsYV9jb21wb25lbnRzL19nZW5lcmFsLnNjc3MiLCJwYXJ0aWFscy92YW5pbGxhX2NvbXBvbmVudHMvX2xpc3RpbmdzLnNjc3MiLCJwYXJ0aWFscy92YW5pbGxhX2NvbXBvbmVudHMvX2Rpc2N1c3Npb24taGVhZGVyLnNjc3MiLCJwYXJ0aWFscy92YW5pbGxhX2NvbXBvbmVudHMvX2Rpc2N1c3Npb24tYm9keS5zY3NzIiwicGFydGlhbHMvdmFuaWxsYV9jb21wb25lbnRzL19vbmxpbmUuc2NzcyIsInBhcnRpYWxzL3ZhbmlsbGFfY29tcG9uZW50cy9fbmV3LWRpc2N1c3Npb24uc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19nZW5lcmFsLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fb3B0aW9uc01lbnUuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19zdWItaGVhZGVyLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fbWFpbi1jb250ZW50LnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fZ3Vlc3QtYm94LnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGUvX3Byb2ZpbGUuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9fZWRpdC1wcm9maWxlLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGUvX3NpZGUtbWVudS5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL19jaGFuZ2UtcGFzc3dvcmQuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9fcHJlZmVyZW5jZXMuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9fY2hhbmdlLXBpY3R1cmUuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9fZWRpdC10aHVtYm5haWwuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9fb25saW5lLXNldHRpbmdzLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGUvX3F1b3Rlcy1zZXR0aW5ncy5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL19zaWduYXR1cmUuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9fdXNlci1pbmJveC5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL19jb21tZW50cy5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL19pZ25vcmUuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19jb21tZW50LWFjdGl2aXR5LnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fbWVzc2FnZXMuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19uZXctbWVzc2FnZS5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvX3BvcHVwLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fY2hlY2ttYXJrcy5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvX2NhdGVnb3J5LnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fc2lnbi1pbi5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvX3JlZ2lzdGVyLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fZWRpdG9yLWFjdGlvbnMuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19teS1kcmFmdHMuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19zcGxhc2gtaW5mby5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvX2Rpc2N1c3Npb24tcG9sbHMuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19pbmZvcm0tbWVzc2FnZXMuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL190YWdzLnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fd2FybmluZ3Muc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19zZWFyY2gtcmVzdWx0cy5zY3NzIiwicGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvX3Bvc3QtYmcuc2NzcyIsInBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL19jb25uZWN0LnNjc3MiLCJwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy9fc2hhbWUuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBjdXN0b20uc2NzcyAtLU1BSU4gRklMRVxuLy8gVGhpcyBpcyBvdXIgbWFpbiBzdGFydGluZyBzY3NzIGZpbGUuIEl0IHNldHMgdXAgdGhlIHByb2plY3QsXG4vLyBpbXBvcnRzIGZvdW5kYXRpb24sIHNldHMgZm91bmRhdGlvbiBzZXR0aW5ncywgdGhlbiBjYWxscyBvdXIgcGFydGlhbHMuXG4vLyBEb24ndCBtb2RpZnkgdW5sZXNzIHlvdSBrbm93IHdoYXQgeW91IGFyZSBkb2luZy5cbi8vIE5vIHN0eWxpbmcgY29kZSBoZXJlLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5AY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIEZpcnN0IE5vcm1hbGl6ZVxuQGltcG9ydCBcImZvdW5kYXRpb24vbm9ybWFsaXplXCI7XG5cbi8vIFNldCBvdXIgdmFyaWFibGVzXG5AaW1wb3J0IFwidmFyaWFibGVzXCI7XG5cbi8vIEltcG9ydCBhbmQgU2V0dXAgRm91bmRhdGlvblxuQGltcG9ydCBcInNldHRpbmdzXCI7XG5cbi8vIFN0YXJ0IHdyaXRpbmcgb3VyIG93biBzdHVmZlxuQGltcG9ydCBcInBhcnRpYWxzL2Jhc2VcIjtcbiIsIi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvLyBfdmFyaWFibGVzLnNjc3MgLS1yb290IHN0eWxlcyBmb2xkZXJcbi8vIFdlIHVzZSB0aGlzIGZpbGUgdG8gc2V0dXAgdGhlIHZhcmlhYmxlcyB0aGF0IHdpbGwgYmUgdXNlIHRocm91Z2hvdXQgdGhlXG4vLyBwcm9qZWN0LiBDb2xvcidzIGFuZCBvdGhlciBnbG9iYWwgdGhpbmdzIGFyZSBnb29kIGhlcmUuXG4vLyBObyBzdHlsaW5nIGNvZGUgaGVyZS4gT25seSB2YXJpYWJsZXMuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuJGJsYWNrICAgICAgICAgICA6ICMwMDAwMDA7XG4kY29kLWdyYXkgICAgICAgIDogIzEwMTAxMDtcbiRvbnl4ICAgICAgICAgICAgOiAjMTMxMzEzO1xuJHJhbmdvb24tZ3JlZW4gICA6ICMxOTE5MTk7XG4kbGlnaHRibGFjayAgICAgIDogIzFGMUYxRjtcbiRkYXJrLW9pbCAgICAgICAgOiAjMjAyMDIwO1xuJGJsdWUgICAgICAgICAgICA6ICMyMTk2RjM7XG4kb2lsICAgICAgICAgICAgIDogIzIyMjIyMjtcbiRsaWdodC1vaWwgICAgICAgOiAjMjQyNDI0O1xuJGJhc3RpbGxlICAgICAgICA6ICMyRjJGMkY7XG4kbWlkbmlnaHQtYmx1ZSAgIDogIzJGNEU2RjtcbiRzaGFyayAgICAgICAgICAgOiAjMzgzODM4O1xuJGNoYXJjb2FsICAgICAgICA6ICM0MTQxNDE7XG4kYXJtYWRpbGxvICAgICAgIDogIzRBNEE0QTtcbiRzaGlwLWdyYXkgICAgICAgOiAjNEU0RTRFO1xuJGdyZWVuICAgICAgICAgICA6ICM0Q0FGNTA7XG4kcGljdG9uLWJsdWUgICAgIDogIzU1QzJFNztcbiRkYXJrLWdyYXktMiAgICAgOiAjNTc1NzU3O1xuJGJvdWxkZXIgICAgICAgICA6ICM3QjdCN0E7XG4kdGluICAgICAgICAgICAgIDogIzgwODA4MDtcbiRtb3VudGFpbi1taXN0ICAgOiAjOTI5MjkyO1xuJG5lcGFsICAgICAgICAgICA6ICM5OEIxQzQ7XG4kYWx1bWludW0gICAgICAgIDogIzk5OTk5OTtcbiRkYXJrLWdyYXkgICAgICAgOiAjQTdBN0E3O1xuJHNpbHZlci1zYW5kICAgICA6ICNCQkJCQkI7XG4kY2FyZGluYWwgICAgICAgIDogI0MxMjIzQjtcbiRib3R0aWNlbGxpICAgICAgOiAjQzhEN0UzO1xuJHNpbHZlciAgICAgICAgICA6ICNDQ0NDQ0M7XG4kZGFyay10ZXJyYS1jb3RhIDogI0NENEU2MTtcbiR3YW4td2hpdGUgICAgICAgOiAjRTRFMkREO1xuJHNlYXNoZWxsICAgICAgICA6ICNGMUYxRjE7XG4kc2NhcmxldCAgICAgICAgIDogI0Y5MkU0RDtcbiRnb2xkICAgICAgICAgICAgOiAjRkZENDMwO1xuJHNub3cgICAgICAgICAgICA6ICNGRkZDRkM7XG4kd2hpdGUgICAgICAgICAgIDogI0ZGRkZGRjtcblxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gRm9udHNcbiRvcGVuLXNhbnM6ICAgICAgJ09wZW4gU2FucycsIEhlbHZldGljYSwgQXJpYWwsIHNhbnMtc2VyaWY7XG4kam9zZWZpbi1zYW5zOiAgICdKb3NlZmluIFNhbnMnLCBIZWx2ZXRpY2EsIEFyaWFsLCBzYW5zLXNlcmlmO1xuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBEZWZhdWx0IFNldHRpbmdzXG4kZm9vdGVyLWxvZ286ICcvdGhlbWVzL3Nhbm15YWt1L2Rlc2lnbi9pbWFnZXMvdmFuaWxsYS1sb2dvLnBuZyc7XG4kdGFiLWJhci1sb2dvOiAnL3RoZW1lcy9zYW5teWFrdS9kZXNpZ24vaW1hZ2VzL3ZhbmlsbGEtbG9nby5wbmcnO1xuJGxvZ28td2lkdGg6IDYuMjVyZW07IC8vIDEwMHB4XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vL1xuXG4vLyBUYWJsZSBvZiBDb250ZW50c1xuLy8gRm91bmRhdGlvbiBTZXR0aW5nc1xuLy9cbi8vIGEuIEJhc2Vcbi8vIGIuIEdyaWRcbi8vIGMuIEdsb2JhbFxuLy8gZC4gTWVkaWEgUXVlcnkgUmFuZ2VzXG4vLyBlLiBUeXBvZ3JhcGh5XG4vLyAwMS4gQWNjb3JkaW9uXG4vLyAwMi4gQWxlcnQgQm94ZXNcbi8vIDAzLiBCbG9jayBHcmlkXG4vLyAwNC4gQnJlYWRjcnVtYnNcbi8vIDA1LiBCdXR0b25zXG4vLyAwNi4gQnV0dG9uIEdyb3Vwc1xuLy8gMDcuIENsZWFyaW5nXG4vLyAwOC4gRHJvcGRvd25cbi8vIDA5LiBEcm9wZG93biBCdXR0b25zXG4vLyAxMC4gRmxleCBWaWRlb1xuLy8gMTEuIEZvcm1zXG4vLyAxMi4gSWNvbiBCYXJcbi8vIDEzLiBJbmxpbmUgTGlzdHNcbi8vIDE0LiBKb3lyaWRlXG4vLyAxNS4gS2V5c3Ryb2tlc1xuLy8gMTYuIExhYmVsc1xuLy8gMTcuIE1hZ2VsbGFuXG4vLyAxOC4gT2ZmLWNhbnZhc1xuLy8gMTkuIE9yYml0XG4vLyAyMC4gUGFnaW5hdGlvblxuLy8gMjEuIFBhbmVsc1xuLy8gMjIuIFByaWNpbmcgVGFibGVzXG4vLyAyMy4gUHJvZ3Jlc3MgQmFyXG4vLyAyNC4gUmFuZ2UgU2xpZGVyXG4vLyAyNS4gUmV2ZWFsXG4vLyAyNi4gU2lkZSBOYXZcbi8vIDI3LiBTcGxpdCBCdXR0b25zXG4vLyAyOC4gU3ViIE5hdlxuLy8gMjkuIFN3aXRjaFxuLy8gMzAuIFRhYmxlc1xuLy8gMzEuIFRhYnNcbi8vIDMyLiBUaHVtYm5haWxzXG4vLyAzMy4gVG9vbHRpcHNcbi8vIDM0LiBUb3AgQmFyXG4vLyAzNi4gVmlzaWJpbGl0eSBDbGFzc2VzXG5cbi8vIGEuIEJhc2Vcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gVGhpcyBpcyB0aGUgZGVmYXVsdCBodG1sIGFuZCBib2R5IGZvbnQtc2l6ZSBmb3IgdGhlIGJhc2UgcmVtIHZhbHVlLlxuLy8gJHJlbS1iYXNlOiAxNnB4O1xuXG4vLyBBbGxvd3MgdGhlIHVzZSBvZiByZW0tY2FsYygpIG9yIGxvd2VyLWJvdW5kKCkgaW4geW91ciBzZXR0aW5nc1xuQGltcG9ydCAnZm91bmRhdGlvbi9mb3VuZGF0aW9uL2Z1bmN0aW9ucyc7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQtc2l6ZSBpcyBzZXQgdG8gMTAwJSBvZiB0aGUgYnJvd3NlciBzdHlsZSBzaGVldCAodXN1YWxseSAxNnB4KVxuLy8gZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBicm93c2VyLWJhc2VkIHRleHQgem9vbSBvciB1c2VyLXNldCBkZWZhdWx0cy5cblxuLy8gU2luY2UgdGhlIHR5cGljYWwgZGVmYXVsdCBicm93c2VyIGZvbnQtc2l6ZSBpcyAxNnB4LCB0aGF0IG1ha2VzIHRoZSBjYWxjdWxhdGlvbiBmb3IgZ3JpZCBzaXplLlxuLy8gSWYgeW91IHdhbnQgeW91ciBiYXNlIGZvbnQtc2l6ZSB0byBiZSBkaWZmZXJlbnQgYW5kIG5vdCBoYXZlIGl0IGFmZmVjdCB0aGUgZ3JpZCBicmVha3BvaW50cyxcbi8vIHNldCAkcmVtLWJhc2UgdG8gJGJhc2UtZm9udC1zaXplIGFuZCBtYWtlIHN1cmUgJGJhc2UtZm9udC1zaXplIGlzIGEgcHggdmFsdWUuXG4vLyAkYmFzZS1mb250LXNpemU6IDEwMCU7XG5cbi8vIFRoZSAkYmFzZS1mb250LXNpemUgaXMgMTAwJSB3aGlsZSAkYmFzZS1saW5lLWhlaWdodCBpcyAxNTAlXG4vLyAkYmFzZS1saW5lLWhlaWdodDogMTUwJTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aGV0aGVyIG9yIG5vdCBDU1MgY2xhc3NlcyBjb21lIHRocm91Z2ggaW4gdGhlIGdlbSBmaWxlcy5cbiRpbmNsdWRlLWh0bWwtY2xhc3NlczogdHJ1ZTtcbi8vICRpbmNsdWRlLXByaW50LXN0eWxlczogdHJ1ZTtcbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gYi4gR3JpZFxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuLy8gJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXM6IGZhbHNlO1xuXG4kcm93LXdpZHRoOiByZW0tY2FsYygxMTU0KTtcbiR0b3RhbC1jb2x1bW5zOiAxNjtcbi8vICRjb2x1bW4tZ3V0dGVyOiByZW0tY2FsYygzMCk7XG5cbi8vIGMuIEdsb2JhbFxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCBzdGFja3Ncbi8vICRmb250LWZhbWlseS1zYW5zLXNlcmlmOiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbi8vICRmb250LWZhbWlseS1zZXJpZjogR2VvcmdpYSwgQ2FtYnJpYSwgXCJUaW1lcyBOZXcgUm9tYW5cIiwgVGltZXMsIHNlcmlmO1xuLy8gJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGRlZmluZSBkZWZhdWx0IGZvbnQgd2VpZ2h0c1xuLy8gJGZvbnQtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuLy8gJGZvbnQtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG5cbi8vICR3aGl0ZSAgICAgICA6ICNGRkZGRkY7XG4vLyAkZ2hvc3QgICAgICAgOiAjRkFGQUZBO1xuLy8gJHNub3cgICAgICAgIDogI0Y5RjlGOTtcbi8vICR2YXBvciAgICAgICA6ICNGNkY2RjY7XG4vLyAkd2hpdGUtc21va2UgOiAjRjVGNUY1O1xuLy8gJHNpbHZlciAgICAgIDogI0VGRUZFRjtcbi8vICRzbW9rZSAgICAgICA6ICNFRUVFRUU7XG4vLyAkZ2FpbnNib3JvICAgOiAjREREREREO1xuLy8gJGlyb24gICAgICAgIDogI0NDQ0NDQztcbi8vICRiYXNlICAgICAgICA6ICNBQUFBQUE7XG4vLyAkYWx1bWludW0gICAgOiAjOTk5OTk5O1xuLy8gJGp1bWJvICAgICAgIDogIzg4ODg4ODtcbi8vICRtb25zb29uICAgICA6ICM3Nzc3Nzc7XG4vLyAkc3RlZWwgICAgICAgOiAjNjY2NjY2O1xuLy8gJGNoYXJjb2FsICAgIDogIzU1NTU1NTtcbi8vICR0dWF0YXJhICAgICA6ICM0NDQ0NDQ7XG4vLyAkb2lsICAgICAgICAgOiAjMzMzMzMzO1xuLy8gJGpldCAgICAgICAgIDogIzIyMjIyMjtcbi8vICRibGFjayAgICAgICA6ICMwMDAwMDA7XG5cbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XG4vLyAkcHJpbWFyeS1jb2xvcjogIzAwOENCQTtcbi8vICRzZWNvbmRhcnktY29sb3I6ICNlN2U3ZTc7XG4vLyAkYWxlcnQtY29sb3I6ICNmMDQxMjQ7XG4vLyAkc3VjY2Vzcy1jb2xvcjogIzQzQUM2QTtcbi8vICR3YXJuaW5nLWNvbG9yOiAjZjA4YTI0O1xuLy8gJGluZm8tY29sb3I6ICNhMGQzZTg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgZ2xvYmFsIHN0eWxlc1xuLy8gJGJvZHktYmc6ICR3aGl0ZTtcbi8vICRib2R5LWZvbnQtY29sb3I6ICRqZXQ7XG4vLyAkYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY7XG4vLyAkYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRib2R5LWZvbnQtc3R5bGU6IG5vcm1hbDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBmb250LXNtb290aGluZ1xuLy8gJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBkaXJlY3Rpb24gc2V0dGluZ3Ncbi8vICR0ZXh0LWRpcmVjdGlvbjogbHRyO1xuLy8gJG9wcG9zaXRlLWRpcmVjdGlvbjogcmlnaHQ7XG4vLyAkZGVmYXVsdC1mbG9hdDogbGVmdDtcbi8vICRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gbWFrZSBzdXJlIGJvcmRlciByYWRpdXMgbWF0Y2hlcyB1bmxlc3Mgd2Ugd2FudCBpdCBkaWZmZXJlbnQuXG4vLyAkZ2xvYmFsLXJhZGl1czogM3B4O1xuLy8gJGdsb2JhbC1yb3VuZGVkOiAxMDAwcHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGluc2V0IHNoYWRvdyBzaGlueSBlZGdlcyBhbmQgZGVwcmVzc2lvbnMuXG4vLyAkc2hpbnktZWRnZS1zaXplOiAwIDFweCAwO1xuLy8gJHNoaW55LWVkZ2UtY29sb3I6IHJnYmEoJHdoaXRlLCAuNSk7XG4vLyAkc2hpbnktZWRnZS1hY3RpdmUtY29sb3I6IHJnYmEoJGJsYWNrLCAuMik7XG5cbi8vIGQuIE1lZGlhIFF1ZXJ5IFJhbmdlc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkc21hbGwtcmFuZ2U6ICgwZW0sIDQwZW0pO1xuJG1lZGl1bS1yYW5nZTogKDc2OHB4LCAxMDI0cHgpO1xuLy8gJGxhcmdlLXJhbmdlOiAoNjQuMDYyNWVtLCA5MGVtKTtcbi8vICR4bGFyZ2UtcmFuZ2U6ICg5MC4wNjI1ZW0sIDEyMGVtKTtcbi8vICR4eGxhcmdlLXJhbmdlOiAoMTIwLjA2MjVlbSwgOTk5OTk5OTllbSk7XG5cbi8vICRzY3JlZW46IFwib25seSBzY3JlZW5cIjtcblxuLy8gJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIjtcbi8vICRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiO1xuXG4vLyAkc21hbGwtdXA6ICRzY3JlZW47XG4vLyAkc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiO1xuXG4vLyAkbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG4vLyAkbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCI7XG5cbi8vICRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCI7XG5cbi8vICR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcbi8vICR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIjtcblxuLy8gJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG4vLyAkeHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCI7XG5cbi8vIExlZ2FjeVxuLy8gJHNtYWxsOiAkbWVkaXVtLXVwO1xuLy8gJG1lZGl1bTogJG1lZGl1bS11cDtcbi8vICRsYXJnZTogJGxhcmdlLXVwO1xuXG4vLyBXZSB1c2UgdGhpcyBhcyBjdXJzb3JzIHZhbHVlcyBmb3IgZW5hYmxpbmcgdGhlIG9wdGlvbiBvZiBoYXZpbmcgY3VzdG9tIGN1cnNvcnMgaW4gdGhlIHdob2xlIHNpdGUncyBzdHlsZXNoZWV0XG4vLyAkY3Vyc29yLWNyb3NzaGFpci12YWx1ZTogY3Jvc3NoYWlyO1xuLy8gJGN1cnNvci1kZWZhdWx0LXZhbHVlOiBkZWZhdWx0O1xuLy8gJGN1cnNvci1kaXNhYmxlZC12YWx1ZTogbm90LWFsbG93ZWQ7XG4vLyAkY3Vyc29yLXBvaW50ZXItdmFsdWU6IHBvaW50ZXI7XG4vLyAkY3Vyc29yLWhlbHAtdmFsdWU6IGhlbHA7XG4vLyAkY3Vyc29yLXRleHQtdmFsdWU6IHRleHQ7XG5cbi8vIGUuIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4vLyAkaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRoZWFkZXItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vICRoZWFkZXItZm9udC1jb2xvcjogJGpldDtcbi8vICRoZWFkZXItbGluZS1oZWlnaHQ6IDEuNDtcbi8vICRoZWFkZXItdG9wLW1hcmdpbjogLjJyZW07XG4vLyAkaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtO1xuLy8gJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkZXIgZm9udCBzaXplc1xuLy8gJGgxLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDQpO1xuLy8gJGgyLWZvbnQtc2l6ZTogcmVtLWNhbGMoMzcpO1xuLy8gJGgzLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjcpO1xuLy8gJGg0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuLy8gJGg1LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuLy8gJGg2LWZvbnQtc2l6ZTogMXJlbTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIHNpemUgcmVkdWN0aW9uIG9uIHNtYWxsIHNjcmVlbnNcbi8vICRoMS1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApO1xuLy8gJGgyLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYygxMCk7XG4vLyAkaDMtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDUpO1xuLy8gJGg0LWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KTtcbi8vICRoNS1mb250LXJlZHVjdGlvbjogMDtcbi8vICRoNi1mb250LXJlZHVjdGlvbjogMDtcblxuLy8gVGhlc2UgY29udHJvbCBob3cgc3ViaGVhZGVycyBhcmUgc3R5bGVkLlxuLy8gJHN1YmhlYWRlci1saW5lLWhlaWdodDogMS40O1xuLy8gJHN1YmhlYWRlci1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XG4vLyAkc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHN1YmhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcbi8vICRzdWJoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW07XG5cbi8vIEEgZ2VuZXJhbCA8c21hbGw+IHN0eWxpbmdcbi8vICRzbWFsbC1mb250LXNpemU6IDYwJTtcbi8vICRzbWFsbC1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDM1JSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBwYXJhZ3JhcGhzXG4vLyAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuLy8gJHBhcmFncmFwaC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtO1xuLy8gJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42O1xuLy8gJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNTtcbi8vICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTogaXRhbGljO1xuLy8gJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgPGNvZGU+IHRhZ3Ncbi8vICRjb2RlLWNvbG9yOiAkb2lsO1xuLy8gJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4vLyAkY29kZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRjb2RlLWJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IDcwJSk7XG4vLyAkY29kZS1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJGNvZGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRjb2RlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNvZGUtYmFja2dyb3VuZC1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSk7XG4vLyAkY29kZS1wYWRkaW5nOiByZW0tY2FsYygyKSByZW0tY2FsYyg1KSByZW0tY2FsYygxKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGFuY2hvcnNcbi8vICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4vLyAkYW5jaG9yLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGFuY2hvci1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIDxocj4gZWxlbWVudFxuLy8gJGhyLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGhyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkaHItYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvO1xuLy8gJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGlzdHNcbi8vICRsaXN0LWZvbnQtZmFtaWx5OiAkcGFyYWdyYXBoLWZvbnQtZmFtaWx5O1xuLy8gJGxpc3QtZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcbi8vICRsaXN0LWxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuLy8gJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuLy8gJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4vLyAkbGlzdC1zaWRlLW1hcmdpbjogMS4xcmVtO1xuLy8gJGxpc3Qtb3JkZXJlZC1zaWRlLW1hcmdpbjogMS40cmVtO1xuLy8gJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0OiAwO1xuLy8gJGxpc3QtbmVzdGVkLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuLy8gJGRlZmluaXRpb24tbGlzdC1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b206IC4zcmVtO1xuLy8gJGRlZmluaXRpb24tbGlzdC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBibG9ja3F1b3Rlc1xuLy8gJGJsb2NrcXVvdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xuLy8gJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbi8vICRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRnYWluc2Jvcm87XG4vLyAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1mb250LWNvbG9yOiBzY2FsZS1jb2xvcigkaGVhZGVyLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDIzJSk7XG4vLyAkYmxvY2txdW90ZS1jaXRlLWxpbmstY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcblxuLy8gQWNyb255bSBzdHlsZXNcbi8vICRhY3JvbnltLXVuZGVybGluZTogMXB4IGRvdHRlZCAkZ2FpbnNib3JvO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBwYWRkaW5nIGFuZCBtYXJnaW5cbi8vICRtaWNyb2Zvcm1hdC1wYWRkaW5nOiByZW0tY2FsYygxMCAxMik7XG4vLyAkbWljcm9mb3JtYXQtbWFyZ2luOiByZW0tY2FsYygwIDAgMjAgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGZ1bGwgbmFtZSBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LWZ1bGxuYW1lLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgcGFkZGluZ1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItcGFkZGluZzogcmVtLWNhbGMoMCAxKTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIGZvbnQgc3R5bGVzXG4vLyAkbWljcm9mb3JtYXQtYWJici1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkbWljcm9mb3JtYXQtYWJici1mb250LWRlY29yYXRpb246IG5vbmU7XG5cbi8vIDAxLiBBY2NvcmRpb25cbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC01JSk7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSk7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjogJGpldDtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cbi8vICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMik7XG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGU7XG5cbi8vIDAyLiBBbGVydCBCb3hlc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWFsZXJ0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbGVydCBwYWRkaW5nLlxuLy8gJGFsZXJ0LXBhZGRpbmctdG9wOiByZW0tY2FsYygxNCk7XG4vLyAkYWxlcnQtcGFkZGluZy1kZWZhdWx0LWZsb2F0OiAkYWxlcnQtcGFkZGluZy10b3A7XG4vLyAkYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb246ICRhbGVydC1wYWRkaW5nLXRvcCArIHJlbS1jYWxjKDEwKTtcbi8vICRhbGVydC1wYWRkaW5nLWJvdHRvbTogJGFsZXJ0LXBhZGRpbmctdG9wO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlLlxuLy8gJGFsZXJ0LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGFsZXJ0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJGFsZXJ0LWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICRhbGVydC1mb250LWNvbG9yLWFsdDogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTY2JSk7XG5cbi8vIFdlIHVzZSB0aGlzIGZvciBjbG9zZSBob3ZlciBlZmZlY3QuXG4vLyAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yOiAtMTQlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzLlxuLy8gJGFsZXJ0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkYWxlcnQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkYWxlcnQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogJGFsZXJ0LWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkYWxlcnQtYm90dG9tLW1hcmdpbjogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGNsb3NlIGJ1dHRvbnNcbi8vICRhbGVydC1jbG9zZS1jb2xvcjogJG9pbDtcbi8vICRhbGVydC1jbG9zZS10b3A6IDUwJTtcbi8vICRhbGVydC1jbG9zZS1wb3NpdGlvbjogcmVtLWNhbGMoNCk7XG4vLyAkYWxlcnQtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eTogLjM7XG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogLjU7XG4vLyAkYWxlcnQtY2xvc2UtcGFkZGluZzogOXB4IDZweCA0cHg7XG4vLyAkYWxlcnQtY2xvc2UtYmFja2dyb3VuZDogaW5oZXJpdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzXG4vLyAkYWxlcnQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zO1xuLy8gJGFsZXJ0LXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQ7XG5cbi8vIDAzLiBCbG9jayBHcmlkXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG4vLyAkaW5jbHVkZS14bC1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogZmFsc2U7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1heGltdW0gbnVtYmVyIG9mIGJsb2NrIGdyaWQgZWxlbWVudHMgcGVyIHJvd1xuLy8gJGJsb2NrLWdyaWQtZWxlbWVudHM6IDEyO1xuLy8gJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiByZW0tY2FsYygyMCk7XG5cbi8vICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQ6IGZhbHNlO1xuLy8gQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQgeyRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogJGNvbHVtbi1ndXR0ZXI7fVxuXG4vLyBFbmFibGVzIG1lZGlhIHF1ZXJpZXMgZm9yIGJsb2NrLWdyaWQgY2xhc3Nlcy4gU2V0IHRvIGZhbHNlIGlmIHdyaXRpbmcgc2VtYW50aWMgSFRNTC5cbi8vICRibG9jay1ncmlkLW1lZGlhLXF1ZXJpZXM6IHRydWU7XG5cbi8vIDA0LiBCcmVhZGNydW1ic1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxuJGNydW1iLWJnOiB0cmFuc3BhcmVudDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgcGFkZGluZyBhcm91bmQgdGhlIGJyZWFkY3J1bWJzLlxuLy8gJGNydW1iLXBhZGRpbmc6IHJlbS1jYWxjKDkgMTQgOSk7XG4vLyAkY3J1bWItc2lkZS1wYWRkaW5nOiByZW0tY2FsYygxMik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXG4vLyAkY3J1bWItZnVuY3Rpb24tZmFjdG9yOiAtMTAlO1xuJGNydW1iLWJvcmRlci1zaXplOiAwO1xuLy8gJGNydW1iLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkY3J1bWItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkY3J1bWItYmcsICRsaWdodG5lc3M6ICRjcnVtYi1mdW5jdGlvbi1mYWN0b3IpO1xuJGNydW1iLXJhZGl1czogMDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB2YXJpb3VzIHRleHQgc3R5bGVzIGZvciBicmVhZGNydW1icy5cbiRjcnVtYi1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiRjcnVtYi1mb250LWNvbG9yOiAkb2lsO1xuJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGNydW1iLWZvbnQtY29sb3ItdW5hdmFpbGFibGU6ICRhbHVtaW51bTtcbiRjcnVtYi1mb250LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbi8vICRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXG4vLyAkY3J1bWItc2xhc2gtY29sb3I6ICRiYXNlO1xuJGNydW1iLXNsYXNoOiBcIj5cIjtcblxuLy8gMDUuIEJ1dHRvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucy5cbi8vICRidXR0b24tdG55OiByZW0tY2FsYygxMCk7XG4vLyAkYnV0dG9uLXNtbDogcmVtLWNhbGMoMTQpO1xuLy8gJGJ1dHRvbi1tZWQ6IHJlbS1jYWxjKDE2KTtcbi8vICRidXR0b24tbHJnOiByZW0tY2FsYygxOCk7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGRpc3BsYXkgcHJvcGVydHkuXG4vLyAkYnV0dG9uLWRpc3BsYXk6IGlubGluZS1ibG9jaztcbi8vICRidXR0b24tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gdGV4dCBzdHlsZXMuXG4vLyAkYnV0dG9uLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRidXR0b24tZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJGJ1dHRvbi1mb250LWNvbG9yLWFsdDogJG9pbDtcbi8vICRidXR0b24tZm9udC10bnk6IHJlbS1jYWxjKDExKTtcbi8vICRidXR0b24tZm9udC1zbWw6IHJlbS1jYWxjKDEzKTtcbi8vICRidXR0b24tZm9udC1tZWQ6IHJlbS1jYWxjKDE2KTtcbi8vICRidXR0b24tZm9udC1scmc6IHJlbS1jYWxjKDIwKTtcbi8vICRidXR0b24tZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkYnV0dG9uLWZvbnQtYWxpZ246IGNlbnRlcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBob3ZlciBlZmZlY3RzLlxuLy8gJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IC0yMCU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJ1dHRvbiBib3JkZXIgc3R5bGVzLlxuLy8gJGJ1dHRvbi1ib3JkZXItd2lkdGg6IDA7XG4vLyAkYnV0dG9uLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkYnV0dG9uLWJnLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRidXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmctY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRidXR0b24tYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWJnLWhvdmVyO1xuLy8gJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI7XG4vLyAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWNjZXNzLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAkc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yOiAkc3VjY2Vzcy1idXR0b24tYmctaG92ZXI7XG4vLyAkYWxlcnQtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yOiAkYWxlcnQtYnV0dG9uLWJnLWhvdmVyO1xuLy8gJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkd2FybmluZy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJHdhcm5pbmctYnV0dG9uLWJvcmRlci1jb2xvcjogJHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyO1xuLy8gJGluZm8tYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkaW5mby1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbi8vICRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxuLy8gJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuNztcbi8vICRidXR0b24tZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG5cbi8vIDA2LiBCdXR0b24gR3JvdXBzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbi8vICRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApO1xuLy8gJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweDtcblxuLy8gMDcuIENsZWFyaW5nXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgcGFydHMgb2YgQ2xlYXJpbmcuXG4vLyAkY2xlYXJpbmctYmc6ICRvaWw7XG4vLyAkY2xlYXJpbmctY2FwdGlvbi1iZzogJGNsZWFyaW5nLWJnO1xuLy8gJGNsZWFyaW5nLWNhcm91c2VsLWJnOiByZ2JhKDUxLDUxLDUxLDAuOCk7XG4vLyAkY2xlYXJpbmctaW1nLWJnOiAkY2xlYXJpbmctYmc7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uXG4vLyAkY2xlYXJpbmctY2xvc2UtY29sb3I6ICRpcm9uO1xuLy8gJGNsZWFyaW5nLWNsb3NlLXNpemU6IDMwcHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXG4vLyAkY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweDtcbi8vICRjbGVhcmluZy1hcnJvdy1jb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgY2FwdGlvbnNcbi8vICRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I6ICRpcm9uO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAuODc1ZW07XG4vLyAkY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nOiAxMHB4IDMwcHggMjBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2UgdGhlIGltYWdlIGFuZCBjYXJvdXNlbCBoZWlnaHQgYW5kIHN0eWxlXG4vLyAkY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ6IDg1JTtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ6IDEyMHB4O1xuLy8gJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoOiAxMjBweDtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi1hY3RpdmUtYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwyNTUsMjU1KTtcblxuLy8gMDguIERyb3Bkb3duXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4vLyAkZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4O1xuLy8gJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvO1xuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcblxuLy8gVXNlZCBmb3IgYm90dG9tIHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tdG9wOiAycHg7XG5cbi8vIFVzZWQgZm9yIHJpZ2h0IHBvc2l0aW9uXG4vLyAkZi1kcm9wZG93bi1tYXJnaW4tbGVmdDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcDtcblxuLy8gVXNlZCBmb3IgbGVmdCBwb3NpdGlvblxuLy8gJGYtZHJvcGRvd24tbWFyZ2luLXJpZ2h0OiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wO1xuXG4vLyBVc2VkIGZvciB0b3AgcG9zaXRpb25cbi8vICRmLWRyb3Bkb3duLW1hcmdpbi1ib3R0b206ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3Jcbi8vICRmLWRyb3Bkb3duLWJnOiAkd2hpdGU7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHRyaWFuZ2xlIHBpcC5cbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemU6IDZweDtcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yOiAkd2hpdGU7XG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDogMTBweDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgc3R5bGVzIGZvciB0aGUgbGlzdCBlbGVtZW50cy5cbi8vICRmLWRyb3Bkb3duLWxpc3Qtc3R5bGU6IG5vbmU7XG4vLyAkZi1kcm9wZG93bi1mb250LWNvbG9yOiAkY2hhcmNvYWw7XG4vLyAkZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogcmVtLWNhbGMoNSwgMTApO1xuLy8gJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICRzbW9rZTtcbi8vICRkcm9wZG93bi1tb2JpbGUtZGVmYXVsdC1mbG9hdDogMDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3R5bGVzIGZvciB3aGVuIHRoZSBkcm9wZG93biBoYXMgY3VzdG9tIGNvbnRlbnQuXG4vLyAkZi1kcm9wZG93bi1jb250ZW50LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblxuLy8gRGVmYXVsdCByYWRpdXMgZm9yIGRyb3Bkb3duLlxuLy8gJGYtZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuXG4vLyAwOS4gRHJvcGRvd24gQnV0dG9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgc2l6ZSBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNik7XG4vLyAkYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpO1xuLy8gJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KTtcbi8vICRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6ICgtJGJ1dHRvbi1waXAtdG55IC8gMikgKyByZW0tY2FsYygxKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHNtYWxsIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDc7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAzO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLXNtbDogKC0kYnV0dG9uLXBpcC1zbWwgLyAyKSArIHJlbS1jYWxjKDEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbWVkaXVtIGRyb3Bkb3duIGJ1dHRvbnNcbi8vICRkcm9wZG93bi1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDYgKyByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLW1lZDogJGJ1dHRvbi1waXAtbWVkICogMi41O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLW1lZDogKC0kYnV0dG9uLXBpcC1tZWQgLyAyKSArIHJlbS1jYWxjKDIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAoLSRidXR0b24tcGlwLWxyZyAvIDIpICsgcmVtLWNhbGMoMyk7XG5cbi8vIDEwLiBGbGV4IFZpZGVvXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB2aWRlbyBjb250YWluZXIgcGFkZGluZyBhbmQgbWFyZ2luc1xuLy8gJGZsZXgtdmlkZW8tcGFkZGluZy10b3A6IHJlbS1jYWxjKDI1KTtcbi8vICRmbGV4LXZpZGVvLXBhZGRpbmctYm90dG9tOiA2Ny41JTtcbi8vICRmbGV4LXZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB3aWRlc2NyZWVuIGJvdHRvbSBwYWRkaW5nXG4vLyAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOiA1Ni4zNCU7XG5cbi8vIDExLiBGb3Jtc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJhc2UgZm9yIGxvdHMgb2YgZm9ybSBzcGFjaW5nIGFuZCBwb3NpdGlvbmluZyBzdHlsZXNcbi8vICRmb3JtLXNwYWNpbmc6IHJlbS1jYWxjKDE2KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHMgaW4gZGlmZmVyZW50IHdheXNcbi8vICRmb3JtLWxhYmVsLXBvaW50ZXI6IHBvaW50ZXI7XG4vLyAkZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRibGFjaywgJGxpZ2h0bmVzczogMzAlKTtcbi8vICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbi8vICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW46IDA7XG4vLyAkaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4vLyAkaW5wdXQtZm9udC1jb2xvcjogcmdiYSgwLDAsMCwwLjc1KTtcbi8vICRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRpbnB1dC1iZy1jb2xvcjogJHdoaXRlO1xuLy8gJGlucHV0LWZvY3VzLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yJSk7XG4vLyAkaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpO1xuLy8gJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNDAlKTtcbi8vICRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGlucHV0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGlucHV0LWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJGlucHV0LWRpc2FibGVkLWJnOiAkZ2FpbnNib3JvO1xuLy8gJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuLy8gJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSk7XG4vLyAkaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdDogZmFsc2U7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxuLy8gJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvO1xuLy8gJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbi8vICRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cbi8vICRsZWdlbmQtYmc6ICR3aGl0ZTtcbi8vICRsZWdlbmQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHByZWZpeCBhbmQgcG9zdGZpeCBpbnB1dCBlbGVtZW50c1xuLy8gJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSk7XG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplOiAxcHg7XG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZDtcbi8vICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogJG9pbDtcbi8vICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZTtcblxuLy8gV2UgdXNlIHRoaXMgc2V0dGluZyB0byB0dXJuIG9uL29mZiBIVE1MNSBudW1iZXIgc3Bpbm5lcnMgKHRoZSB1cC9kb3duIGFycm93cylcbi8vICRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4O1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc3R5bGU6IGl0YWxpYztcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yOiAkYWxlcnQtY29sb3I7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDogJG9pbDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIGdsb3dpbmcgZWZmZWN0IG9mIGlucHV0cyB3aGVuIGZvY3VzZWRcbi8vICRnbG93aW5nLWVmZmVjdC1mYWRlLXRpbWU6IC40NXM7XG4vLyAkZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSB0cmFuc2l0aW9uIHdoZW4gaW5wdXRzIGFyZSBmb2N1c2VkIGFuZCB3aGVuIHRoZSBnbG93aW5nIGVmZmVjdCBpcyBkaXNhYmxlZC5cbi8vICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZTogMC4xNXM7XG4vLyAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuXG4vLyBTZWxlY3QgdmFyaWFibGVzXG4vLyAkc2VsZWN0LWJnLWNvbG9yOiAkZ2hvc3Q7XG4vLyAkc2VsZWN0LWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkc2VsZWN0LWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpO1xuXG5cbi8vIDEyLiBJY29uIEJhclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGljb24tYmFyIGFuZCBpdGVtc1xuLy8gJGljb24tYmFyLWJnOiAkb2lsO1xuLy8gJGljb24tYmFyLWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICRpY29uLWJhci1mb250LWNvbG9yLWhvdmVyOiAkaWNvbi1iYXItZm9udC1jb2xvcjtcbi8vICRpY29uLWJhci1mb250LXNpemU6IDFyZW07XG4vLyAkaWNvbi1iYXItaG92ZXItY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGljb24tYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbi8vICRpY29uLWJhci1pY29uLWNvbG9yLWhvdmVyOiAkaWNvbi1iYXItaWNvbi1jb2xvcjtcbi8vICRpY29uLWJhci1pY29uLXNpemU6IDEuODc1cmVtO1xuLy8gJGljb24tYmFyLWltYWdlLXdpZHRoOiAxLjg3NXJlbTtcbi8vICRpY29uLWJhci1pbWFnZS1oZWlnaHQ6IDEuODc1cmVtO1xuLy8gJGljb24tYmFyLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkaWNvbi1iYXItaXRlbS1wYWRkaW5nOiAxLjI1cmVtO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgZGVmYXVsdCBvcGFjaXR5IGFuZCBjdXJzb3IgZm9yIGRpc2FibGVkIGljb25zLlxuLy8gJGljb24tYmFyLWRpc2FibGVkLW9wYWNpdHk6IC43O1xuXG4vLyAxMy4gSW5saW5lIExpc3RzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXJnaW5zIGFuZCBwYWRkaW5nIG9mIHRoZSBpbmxpbmUgbGlzdC5cbi8vICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luOiAwO1xuLy8gJGlubGluZS1saXN0LW9wcG9zaXRlLW1hcmdpbjogMDtcbi8vICRpbmxpbmUtbGlzdC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygxNyk7XG4vLyAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW46IHJlbS1jYWxjKC0yMik7XG4vLyAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1saXN0LW1hcmdpbjogcmVtLWNhbGMoMjIpO1xuXG4vLyAkaW5saW5lLWxpc3QtcGFkZGluZzogMDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgb3ZlcmZsb3cgb2YgdGhlIGlubGluZSBsaXN0LlxuLy8gJGlubGluZS1saXN0LW92ZXJmbG93OiBoaWRkZW47XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbXNcbi8vICRpbmxpbmUtbGlzdC1kaXNwbGF5OiBibG9jaztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhbnkgZWxlbWVudHMgd2l0aGluIGxpc3QgaXRlbXNcbi8vICRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OiBibG9jaztcblxuLy8gMTQuIEpveXJpZGVcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xuLy8gJGpveXJpZGUtdGlwLWJnOiAkb2lsO1xuLy8gJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg6IDMwMHB4O1xuLy8gJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KTtcbi8vICRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWw7XG4vLyAkam95cmlkZS10aXAtcmFkaXVzOiA0cHg7XG4vLyAkam95cmlkZS10aXAtcG9zaXRpb24tb2Zmc2V0OiAyMnB4O1xuXG4vLyBIZXJlLCB3ZSdyZSBzZXR0aW5nIHRoZSB0aXAgZm9udCBzdHlsZXNcbi8vICRqb3lyaWRlLXRpcC1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkam95cmlkZS10aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkam95cmlkZS10aXAtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB0aGUgbnViIHNpemVcbi8vICRqb3lyaWRlLXRpcC1udWItc2l6ZTogMTBweDtcblxuLy8gVGhpcyBhZGp1c3RzIHRoZSBzdHlsZXMgZm9yIHRoZSB0aW1lciB3aGVuIGl0cyBlbmFibGVkXG4vLyAkam95cmlkZS10aXAtdGltZXItd2lkdGg6IDUwcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItaGVpZ2h0OiAzcHg7XG4vLyAkam95cmlkZS10aXAtdGltZXItY29sb3I6ICRzdGVlbDtcblxuLy8gVGhpcyBjaGFuZ2VzIHVwIHRoZSBzdHlsZXMgZm9yIHRoZSBjbG9zZSBidXR0b25cbi8vICRqb3lyaWRlLXRpcC1jbG9zZS1jb2xvcjogJG1vbnNvb247XG4vLyAkam95cmlkZS10aXAtY2xvc2Utc2l6ZTogMjRweDtcbi8vICRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG5cbi8vIFdoZW4gSm95cmlkZSBpcyBmaWxsaW5nIHRoZSBzY3JlZW4sIHdlIHVzZSB0aGlzIHN0eWxlIGZvciB0aGUgYmdcbi8vICRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KTtcblxuLy8gMTUuIEtleXN0cm9rZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0ZXh0IHN0eWxlcy5cbi8vICRrZXlzdHJva2UtZm9udDogXCJDb25zb2xhc1wiLCBcIk1lbmxvXCIsIFwiQ291cmllclwiLCBtb25vc3BhY2U7XG4vLyAka2V5c3Ryb2tlLWZvbnQtc2l6ZTogaW5oZXJpdDtcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvcjogJGpldDtcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZTtcbi8vICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yOiAtNyU7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wga2V5c3Ryb2tlIHBhZGRpbmcuXG4vLyAka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlcy5cbi8vICRrZXlzdHJva2UtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpO1xuLy8gJGtleXN0cm9rZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGtleXN0cm9rZS1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRrZXlzdHJva2UtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigka2V5c3Ryb2tlLWJnLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDE2LiBMYWJlbHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1sYWJlbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzXG4vLyAkbGFiZWwtcGFkZGluZzogcmVtLWNhbGMoNCA4IDQpO1xuLy8gJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWwgdGV4dFxuLy8gJGxhYmVsLWZvbnQtc2l6aW5nOiByZW0tY2FsYygxMSk7XG4vLyAkbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkbGFiZWwtZm9udC1jb2xvcjogJG9pbDtcbi8vICRsYWJlbC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xuLy8gJGxhYmVsLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gMTcuIE1hZ2VsbGFuXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyAkbWFnZWxsYW4tYmc6ICR3aGl0ZTtcbi8vICRtYWdlbGxhbi1wYWRkaW5nOiAxMHB4O1xuXG4vLyAxOC4gT2ZmLWNhbnZhc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyBPZmYgQ2FudmFzIFRhYiBCYXIgVmFyaWFibGVzXG4vLyAkaW5jbHVkZS1odG1sLW9mZi1jYW52YXMtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4kdGFiYmFyLWJnOiByZ2JhKCRsaWdodGJsYWNrLCAwLjA1KTtcbiR0YWJiYXItaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4vLyAkdGFiYmFyLWljb24td2lkdGg6ICR0YWJiYXItaGVpZ2h0O1xuLy8gJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4vLyAkdGFiYmFyLWNvbG9yOiAkd2hpdGU7XG4vLyAkdGFiYmFyLW1pZGRsZS1wYWRkaW5nOiAwIHJlbS1jYWxjKDEwKTtcblxuLy8gT2ZmIENhbnZhcyBEaXZpZGVyIFN0eWxlc1xuLy8gJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSk7XG4vLyAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG4vLyAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCAkY2hhcmNvYWw7XG4vLyAkdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG5cblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcbiR0YWJiYXItaGVhZGVyLWNvbG9yOiAkb2lsO1xuLy8gJHRhYmJhci1oZWFkZXItd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICR0YWJiYXItaGVhZGVyLWxpbmUtaGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItaGVhZGVyLW1hcmdpbjogMDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IFZhcmlhYmxlc1xuJG9mZi1jYW52YXMtd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4kb2ZmLWNhbnZhcy1iZzogcmdiYSgkbGlnaHRibGFjaywgMC4wNSk7XG4vLyAkb2ZmLWNhbnZhcy1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTMwJSk7XG4vLyAkb2ZmLWNhbnZhcy1iZy1hY3RpdmU6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpO1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgTGlzdCBWYXJpYWJsZXNcbi8vICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc6IC4zcmVtIHJlbS1jYWxjKDE1KTtcbiRvZmYtY2FudmFzLWxhYmVsLWNvbG9yOiAkYWx1bWludW07XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1iZzogJHR1YXRhcmE7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSk7XG4vLyAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tOiBub25lO1xuLy8gJG9mZi1jYW52YXMtbGFiZWwtbWFyZ2luOjA7XG4vLyAkb2ZmLWNhbnZhcy1saW5rLXBhZGRpbmc6IHJlbS1jYWxjKDEwLCAxNSk7XG4kb2ZmLWNhbnZhcy1saW5rLWNvbG9yOiAkb2lsO1xuLy8gJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtYmcsICRsaWdodG5lc3M6IC0yNSUpO1xuLy8gJG9mZi1jYW52YXMtYmFjay1iZzogIzQ0NDtcbi8vICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDtcbi8vICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTtcbi8vICRvZmYtY2FudmFzLWJhY2staG92ZXItYmc6IHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJhY2stYmcsICRsaWdodG5lc3M6IC0zMCUpO1xuLy8gJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItdG9wOiAxcHggc29saWQgc2NhbGUtY29sb3IoJG9mZi1jYW52YXMtbGFiZWwtYmcsICRsaWdodG5lc3M6IDE0JSk7XG4vLyAkb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJvcmRlci1ib3R0b206IG5vbmU7XG5cbi8vIE9mZiBDYW52YXMgTWVudSBJY29uIFZhcmlhYmxlc1xuLy8gJHRhYmJhci1tZW51LWljb24tY29sb3I6ICR3aGl0ZTtcbi8vICR0YWJiYXItbWVudS1pY29uLWhvdmVyOiBzY2FsZS1jb2xvcigkdGFiYmFyLW1lbnUtaWNvbi1jb2xvciwgJGxpZ2h0bmVzczogLTMwJSk7XG5cbi8vICR0YWJiYXItbWVudS1pY29uLXRleHQtaW5kZW50OiByZW0tY2FsYygzNSk7XG4vLyAkdGFiYmFyLW1lbnUtaWNvbi13aWR0aDogJHRhYmJhci1pY29uLXdpZHRoO1xuLy8gJHRhYmJhci1tZW51LWljb24taGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcbi8vICR0YWJiYXItbWVudS1pY29uLXBhZGRpbmc6IDA7XG5cbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGg6IHJlbS1jYWxjKDE2KTtcbi8vICR0YWJiYXItaGFtYnVyZ2VyLWljb24tbGVmdDogZmFsc2U7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRvcDogZmFsc2U7XG4vLyAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzczogMXB4O1xuLy8gJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXA6IDZweDtcblxuLy8gT2ZmIENhbnZhcyBCYWNrLUxpbmsgT3ZlcmxheVxuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS10cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDMwMG1zIGVhc2U7XG4vLyAkb2ZmLWNhbnZhcy1vdmVybGF5LWN1cnNvcjogcG9pbnRlcjtcbiRvZmYtY2FudmFzLW92ZXJsYXktYm94LXNoYWRvdzogbm9uZTtcbiRvZmYtY2FudmFzLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyBUcmFuc2l0aW9uIFZhcmlhYmxlc1xuLy8gJG1lbnUtc2xpZGU6IFwidHJhbnNmb3JtIDUwMG1zIGVhc2VcIjtcblxuLy8gMTkuIE9yYml0XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtb3JiaXQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgY2FwdGlvbiBzdHlsZXNcbi8vICRvcmJpdC1jb250YWluZXItYmc6IG5vbmU7XG4vLyAkb3JiaXQtY2FwdGlvbi1iZzogcmdiYSg1MSw1MSw1MSwgLjgpO1xuLy8gJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbjogXCJib3R0b21cIjsgLy8gU3VwcG9ydGVkIHZhbHVlczogXCJib3R0b21cIiwgXCJ1bmRlclwiXG4vLyAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMCAxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG87XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcbi8vICRvcmJpdC1uYXYtYmc6IHRyYW5zcGFyZW50O1xuLy8gJG9yYml0LW5hdi1iZy1ob3ZlcjogcmdiYSgwLDAsMCwwLjMpO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvcjogJHdoaXRlO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogJHdoaXRlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGltZXIgc3R5bGVzXG4vLyAkb3JiaXQtdGltZXItYmc6IHJnYmEoMjU1LDI1NSwyNTUsMC4zKTtcbi8vICRvcmJpdC10aW1lci1zaG93LXByb2dyZXNzLWJhcjogdHJ1ZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJ1bGxldCBuYXYgc3R5bGVzXG4vLyAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvcjogJGlyb247XG4vLyAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU6ICRhbHVtaW51bTtcbi8vICRvcmJpdC1idWxsZXQtcmFkaXVzOiByZW0tY2FsYyg5KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIHRoZSBzdHlsZSBvZiBzbGlkZSBudW1iZXJzXG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLWJnOiByZ2JhKDAsMCwwLDApO1xuLy8gJG9yYml0LXNsaWRlLW51bWJlci1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkb3JiaXQtc2xpZGUtbnVtYmVyLXBhZGRpbmc6IHJlbS1jYWxjKDUpO1xuXG4vLyBHcmFjZWZ1bCBMb2FkaW5nIFdyYXBwZXIgYW5kIHByZWxvYWRlclxuLy8gJHdyYXBwZXItY2xhc3M6IFwic2xpZGVzaG93LXdyYXBwZXJcIjtcbi8vICRwcmVsb2FkZXItY2xhc3M6IFwicHJlbG9hZGVyXCI7XG5cbi8vIEhpZGUgY29udHJvbHMgb24gc21hbGxcbi8vICRvcmJpdC1uYXYtaGlkZS1mb3Itc21hbGw6IHRydWU7XG4vLyAkb3JiaXQtYnVsbGV0LWhpZGUtZm9yLXNtYWxsOiB0cnVlO1xuLy8gJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsOiB0cnVlO1xuXG4vLyAyMC4gUGFnaW5hdGlvblxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXG4vLyAkcGFnaW5hdGlvbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbi8vICRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBsaXN0LWl0ZW0gcHJvcGVydGllc1xuLy8gJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuLy8gJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCk7XG4vLyAkcGFnaW5hdGlvbi1saS1mb250LWNvbG9yOiAkamV0O1xuLy8gJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay1wYWQ6IHJlbS1jYWxjKDEgMTAgMSk7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I6ICRhbHVtaW51bTtcbi8vICRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGRpc2FibGVkIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICRhbHVtaW51bTtcbi8vICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOiB0cmFuc3BhcmVudDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlO1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gMjEuIFBhbmVsc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXNcbi8vICRwYW5lbC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcGFuZWwtYm9yZGVyLXNpemU6IDFweDtcbi8vICRjYWxsb3V0LXBhbmVsLWJnOiBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogOTQlKTtcblxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcbi8vICRwYW5lbC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwYW5lbC1iZywgJGxpZ2h0bmVzczogLTExJSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBpbm5lciBwYWRkaW5nIGFuZCBib3R0b20gbWFyZ2luXG4vLyAkcGFuZWwtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuLy8gJHBhbmVsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCBkZWZhdWx0IGZvbnQgY29sb3JzXG4vLyAkcGFuZWwtZm9udC1jb2xvcjogJG9pbDtcbi8vICRwYW5lbC1mb250LWNvbG9yLWFsdDogJHdoaXRlO1xuXG4vLyAkcGFuZWwtaGVhZGVyLWFkanVzdDogdHJ1ZTtcbi8vICRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG5cbi8vIDIyLiBQcmljaW5nIFRhYmxlc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3JkZXIgY29sb3Jcbi8vICRwcmljZS10YWJsZS1ib3JkZXI6IHNvbGlkIDFweCAkZ2FpbnNib3JvO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBib3R0b20gbWFyZ2luIG9mIHRoZSBwcmljaW5nIHRhYmxlXG4vLyAkcHJpY2UtdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgdGl0bGUgc3R5bGVzXG4vLyAkcHJpY2UtdGl0bGUtYmc6ICRvaWw7XG4vLyAkcHJpY2UtdGl0bGUtcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xuLy8gJHByaWNlLXRpdGxlLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtdGl0bGUtY29sb3I6ICRzbW9rZTtcbi8vICRwcmljZS10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtdGl0bGUtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHByaWNlLXRpdGxlLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHByaWNlIHN0eWxlc1xuLy8gJHByaWNlLW1vbmV5LWJnOiAkdmFwb3I7XG4vLyAkcHJpY2UtbW9uZXktcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xuLy8gJHByaWNlLW1vbmV5LWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtbW9uZXktY29sb3I6ICRvaWw7XG4vLyAkcHJpY2UtbW9uZXktd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHByaWNlLW1vbmV5LXNpemU6IHJlbS1jYWxjKDMyKTtcbi8vICRwcmljZS1tb25leS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG5cblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGRlc2NyaXB0aW9uIHN0eWxlc1xuLy8gJHByaWNlLWJnOiAkd2hpdGU7XG4vLyAkcHJpY2UtZGVzYy1jb2xvcjogJG1vbnNvb247XG4vLyAkcHJpY2UtZGVzYy1wYWRkaW5nOiByZW0tY2FsYygxNSk7XG4vLyAkcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkcHJpY2UtZGVzYy13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtZGVzYy1saW5lLWhlaWdodDogMS40O1xuLy8gJHByaWNlLWRlc2MtYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtIHN0eWxlc1xuLy8gJHByaWNlLWl0ZW0tY29sb3I6ICRvaWw7XG4vLyAkcHJpY2UtaXRlbS1wYWRkaW5nOiByZW0tY2FsYygxNSk7XG4vLyAkcHJpY2UtaXRlbS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkcHJpY2UtaXRlbS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkcHJpY2UtaXRlbS1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICRnYWluc2Jvcm87XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBDVEEgYXJlYSBzdHlsZXNcbi8vICRwcmljZS1jdGEtYmc6ICR3aGl0ZTtcbi8vICRwcmljZS1jdGEtYWxpZ246IGNlbnRlcjtcbi8vICRwcmljZS1jdGEtcGFkZGluZzogcmVtLWNhbGMoMjAgMjAgMCk7XG5cbi8vIDIzLiBQcm9ncmVzcyBCYXJcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1tZWRpYS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgcHJvZ3Jlc3MgYmFyIGhlaWdodFxuLy8gJHByb2dyZXNzLWJhci1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbi8vICRwcm9ncmVzcy1iYXItY29sb3I6ICR2YXBvcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBzdHlsZXNcbi8vICRwcm9ncmVzcy1iYXItYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IDIwJSk7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbWFyZ2luICYgcGFkZGluZ1xuLy8gJHByb2dyZXNzLWJhci1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIG1ldGVyIGNvbG9yc1xuLy8gJHByb2dyZXNzLW1ldGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3I6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIFJhbmdlIFNsaWRlclxuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4vLyAkaW5jbHVkZS1odG1sLXJhbmdlLXNsaWRlci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFRoZXNlIHZhcmlhYmxlcyBkZWZpbmUgdGhlIHNsaWRlciBiYXIgc3R5bGVzXG4vLyAkcmFuZ2Utc2xpZGVyLWJhci13aWR0aDogMTAwJTtcbi8vICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuXG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm87XG4vLyAkcmFuZ2Utc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XG4vLyAkcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcjogJGdob3N0O1xuLy8gJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTElKTtcblxuLy8gVmVydGljYWwgYmFyIHN0eWxlc1xuLy8gJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItd2lkdGg6IHJlbS1jYWxjKDE2KTtcbi8vICRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcblxuLy8gVGhlc2UgdmFyaWFiZWxzIGRlZmluZSB0aGUgc2xpZGVyIGhhbmRsZSBzdHlsZXNcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoOiByZW0tY2FsYygzMik7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoLTUpO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBub25lO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMiUpO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtY3Vyc29yOiBwb2ludGVyO1xuXG4vLyAkcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IC43O1xuLy8gJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWU7XG5cbi8vIDI1LiBSZXZlYWxcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1yZXZlYWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3R5bGUgb2YgdGhlIHJldmVhbCBvdmVybGF5LlxuLy8gJHJldmVhbC1vdmVybGF5LWJnOiByZ2JhKCRibGFjaywgLjQ1KTtcbi8vICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ6ICRibGFjaztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4vLyAkcmV2ZWFsLW1vZGFsLWJnOiAkd2hpdGU7XG4vLyAkcmV2ZWFsLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoMTAwKTtcbi8vICRyZXZlYWwtZGVmYXVsdC13aWR0aDogODAlO1xuLy8gJHJldmVhbC1tYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4vLyAkcmV2ZWFsLW1vZGFsLXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbi8vICRyZXZlYWwtYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssLjQpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbi8vICRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4vLyAkcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoMTApO1xuLy8gJHJldmVhbC1jbG9zZS1zaWRlOiByZW0tY2FsYygyMik7XG4vLyAkcmV2ZWFsLWNsb3NlLWNvbG9yOiAkYmFzZTtcbi8vICRyZXZlYWwtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBkZWZhdWx0IHJhZGl1cyB1c2VkIHRocm91Z2hvdXQgdGhlIGNvcmUuXG4vLyAkcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkcmV2ZWFsLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBtb2RhbCBib3JkZXJcbi8vICRyZXZlYWwtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRyZXZlYWwtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkcmV2ZWFsLWJvcmRlci1jb2xvcjogJHN0ZWVsO1xuXG4vLyAkcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiO1xuLy8gJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIjtcblxuLy8gMjYuIFNpZGUgTmF2XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBwYWRkaW5nLlxuLy8gJHNpZGUtbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDE0IDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaXN0IHN0eWxlcy5cbi8vICRzaWRlLW5hdi1saXN0LXR5cGU6IG5vbmU7XG4vLyAkc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjogb3V0c2lkZTtcbi8vICRzaWRlLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDcgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpbmsgc3R5bGVzLlxuLy8gJHNpZGUtbmF2LWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKTtcbi8vICRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKTtcbi8vICRzaWRlLW5hdi1saW5rLWJnLWhvdmVyOiBoc2xhKDAsIDAsIDAsIC4wMjUpO1xuLy8gJHNpZGUtbmF2LWxpbmstbWFyZ2luOiAwO1xuLy8gJHNpZGUtbmF2LWxpbmstcGFkZGluZzogcmVtLWNhbGMoNyAxNCk7XG4vLyAkc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkc2lkZS1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlOiAkc2lkZS1uYXYtZm9udC13ZWlnaHQ7XG4vLyAkc2lkZS1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuLy8gJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkaW5nIHN0eWxlcy5cbi8vICRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvcjtcbi8vICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTogJHNpZGUtbmF2LWZvbnQtc2l6ZTtcbi8vICRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuLy8gJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4O1xuLy8gJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHNpZGUtbmF2LWRpdmlkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogMTAlKTtcblxuLy8gMjcuIFNwbGl0IEJ1dHRvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBkaWZmZXJlbnQgc2hhcmVkIHN0eWxlcyBmb3IgU3BsaXQgQnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1mdW5jdGlvbi1mYWN0b3I6IDEwJTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGU7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwyNTUsMjU1LDAuNSk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWw7XG4vLyAkc3BsaXQtYnV0dG9uLWFjdGl2ZS1iZy10aW50OiByZ2JhKDAsMCwwLDAuMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRpbnkgc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogMTA7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtdG55OiAkYnV0dG9uLXBpcC10bnkgKiA2O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC10bnk6ICRidXR0b24tcGlwLXRueSAqIDI7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXRueTogcmVtLWNhbGMoLTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzbWFsbCBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxMDtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDY7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXNtbDogJGJ1dHRvbi1waXAtc21sO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXNtbDogJGJ1dHRvbi1waXAtc21sICogMS41O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1zbWw6IHJlbS1jYWxjKC02KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbWVkaXVtIHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDk7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA1LjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMyk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3AtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAxLjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDogcmVtLWNhbGMoLTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsYXJnZSBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA4O1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1scmc6ICRidXR0b24tcGlwLWxyZyArIHJlbS1jYWxjKDUpO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc6IHJlbS1jYWxjKC02KTtcblxuLy8gMjguIFN1YiBOYXZcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtYXJnaW4gYW5kIHBhZGRpbmdcbi8vICRzdWItbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygtNCAwIDE4KTtcbi8vICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkZWZpbml0aW9uXG4vLyAkc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkc3ViLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRzdWItbmF2LWZvbnQtY29sb3I6ICRhbHVtaW51bTtcbi8vICRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gJHN1Yi1uYXYtcGFkZGluZzogcmVtLWNhbGMoMyAxNik7XG4vLyAkc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHg7XG4vLyAkc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKTtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYWN0aXZlIGl0ZW0gc3R5bGVzXG5cbi8vICRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICRzdWItbmF2LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3I7XG4vLyAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWFjdGl2ZS1iZywgJGxpZ2h0bmVzczogLTE0JSk7XG4vLyAkc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZTtcbi8vICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjogZGVmYXVsdDtcblxuLy8gJHN1Yi1uYXYtaXRlbS1kaXZpZGVyOiBcIlwiO1xuLy8gJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjogcmVtLWNhbGMoMTIpO1xuXG4vLyAyOS4gU3dpdGNoXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIENvbnRyb2xsaW5nIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyXG4vLyAkc3dpdGNoLWJnOiAkZ2FpbnNib3JvO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgc3dpdGNoIGhlaWdodHMgZm9yIG91ciBkZWZhdWx0IGNsYXNzZXNcbi8vICRzd2l0Y2gtaGVpZ2h0LXRueTogMS41cmVtO1xuLy8gJHN3aXRjaC1oZWlnaHQtc21sOiAxLjc1cmVtO1xuLy8gJHN3aXRjaC1oZWlnaHQtbWVkOiAycmVtO1xuLy8gJHN3aXRjaC1oZWlnaHQtbHJnOiAyLjVyZW07XG4vLyAkc3dpdGNoLWJvdHRvbS1tYXJnaW46IDEuNXJlbTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBzd2l0Y2gtcGFkZGxlXG4vLyAkc3dpdGNoLXBhZGRsZS1iZzogJHdoaXRlO1xuLy8gJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZDogLjE1cztcbi8vICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQ7XG4vLyAkc3dpdGNoLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIDMwLiBUYWJsZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXG4vLyAkdGFibGUtYmc6ICR3aGl0ZTtcbi8vICR0YWJsZS1ldmVuLXJvdy1iZzogJHNub3c7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4vLyAkdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICR0YWJsZS1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJHRhYmxlLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybztcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcbi8vICR0YWJsZS1oZWFkLWJnOiAkd2hpdGUtc21va2U7XG4vLyAkdGFibGUtaGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRqZXQ7XG4vLyAkdGFibGUtaGVhZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkdGFibGUtaGVhZC1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgZm9vdCBzdHlsZXNcbi8vICR0YWJsZS1mb290LWJnOiAkdGFibGUtaGVhZC1iZztcbi8vICR0YWJsZS1mb290LWZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplO1xuLy8gJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbi8vICR0YWJsZS1mb290LWZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZC1mb250LXdlaWdodDtcbi8vICR0YWJsZS1mb290LXBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGNhcHRpb25cbi8vIHRhYmxlLWNhcHRpb24tYmc6IHRyYW5zcGFyZW50O1xuLy8gJHRhYmxlLWNhcHRpb24tZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbi8vICR0YWJsZS1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYmxlLWNhcHRpb24tZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHJvdyBwYWRkaW5nIGFuZCBmb250IHN0eWxlc1xuLy8gJHRhYmxlLXJvdy1wYWRkaW5nOiByZW0tY2FsYyg5IDEwKTtcbi8vICR0YWJsZS1yb3ctZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkdGFibGUtcm93LWZvbnQtY29sb3I6ICRqZXQ7XG4vLyAkdGFibGUtbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcblxuLy8gVGhlc2UgYXJlIGZvciBjb250cm9sbGluZyB0aGUgbGF5b3V0LCBkaXNwbGF5IGFuZCBtYXJnaW4gb2YgdGFibGVzXG4vLyAkdGFibGUtbGF5b3V0OiBhdXRvO1xuLy8gJHRhYmxlLWRpc3BsYXk6IHRhYmxlLWNlbGw7XG4vLyAkdGFibGUtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuXG5cbi8vIDMxLiBUYWJzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICR0YWJzLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlcjtcbi8vICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGU7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0O1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbi8vICR0YWJzLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpO1xuXG4vLyAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbi8vIDMyLiBUaHVtYm5haWxzXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBib3JkZXIgc3R5bGVzXG4vLyAkdGh1bWItYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICR0aHVtYi1ib3JkZXItd2lkdGg6IDRweDtcbi8vICR0aHVtYi1ib3JkZXItY29sb3I6ICR3aGl0ZTtcbi8vICR0aHVtYi1ib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssLjIpO1xuLy8gJHRodW1iLWJveC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsMC41KTtcblxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcbi8vICR0aHVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zO1xuXG4vLyAzMy4gVG9vbHRpcHNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC10b29sdGlwLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkaXJvbjtcbi8vICRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbi8vICRoYXMtdGlwLWZvbnQtY29sb3I6ICRvaWw7XG4vLyAkaGFzLXRpcC1ib3JkZXItYm90dG9tLWhvdmVyOiBkb3R0ZWQgMXB4IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNTUlKTtcbi8vICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGhhcy10aXAtY3Vyc29yLXR5cGU6IGhlbHA7XG5cbi8vICR0b29sdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDEyKTtcbi8vICR0b29sdGlwLWJnOiAkb2lsO1xuLy8gJHRvb2x0aXAtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkdG9vbHRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICR0b29sdGlwLWZvbnQtY29sb3I6ICR3aGl0ZTtcbi8vICR0b29sdGlwLWxpbmUtaGVpZ2h0OiAxLjM7XG4vLyAkdG9vbHRpcC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC1jb2xvcjogJG1vbnNvb247XG4vLyAkdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCk7XG4vLyAkdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHRvb2x0aXAtcGlwLXNpemU6IDVweDtcbi8vICR0b29sdGlwLW1heC13aWR0aDogMzAwcHg7XG5cbi8vIDM0LiBUb3AgQmFyXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbi8vICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4vLyAkdG9wYmFyLWJnLWNvbG9yOiAkb2lsO1xuLy8gJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvcjtcblxuLy8gSGVpZ2h0IGFuZCBtYXJnaW5cbi8vICR0b3BiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSk7XG4vLyAkdG9wYmFyLW1hcmdpbi1ib3R0b206IDA7XG5cbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuLy8gJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWw7XG4vLyAkdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcbi8vICR0b3BiYXItbGluay1jb2xvcjogJHdoaXRlO1xuLy8gJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyOiAkd2hpdGU7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGU7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyOiAkd2hpdGU7XG4vLyAkdG9wYmFyLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsO1xuLy8gJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuLy8gJHRvcGJhci1saW5rLWhvdmVyLWxpZ2h0bmVzczogLTEwJTsgLy8gRGFya2VuIGJ5IDEwJVxuLy8gJHRvcGJhci1saW5rLWJnOiAkdG9wYmFyLWJnO1xuLy8gJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkamV0O1xuLy8gJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyOiAkY2hhcmNvYWw7XG4vLyAkdG9wYmFyLWxpbmstYmctYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbi8vICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbi8vICR0b3BiYXItbGluay1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4vLyAkdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMyk7XG4vLyAkdG9wYmFyLWJhY2stbGluay1zaXplOiByZW0tY2FsYygxOCk7XG4vLyAkdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZzogcmVtLWNhbGMoMjApO1xuLy8gJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW07XG4vLyAkdG9wYmFyLWJ1dHRvbi10b3A6IDdweDtcblxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcbi8vICR0b3BiYXItZHJvcGRvd24tYmc6ICRvaWw7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZTtcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLWJnOiAkb2lsO1xuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyOiAkamV0O1xuLy8gJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAkd2hpdGU7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQ7XG5cbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICRtb25zb29uO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQ7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbDtcblxuLy8gVG9wIG1lbnUgaWNvbiBzdHlsZXNcbi8vICR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4vLyAkdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkO1xuLy8gJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZTtcbi8vICR0b3BiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGU7XG4vLyAkdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkOiAkanVtYm87XG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm87XG4vLyAkdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbjogJG9wcG9zaXRlLWRpcmVjdGlvbjsgLy8gQ2hhbmdlIHRvICRkZWZhdWx0LWZsb2F0IGZvciBhIGxlZnQgbWVudSBpY29uXG5cbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xuLy8gJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcztcbi8vIFVzaW5nIHJlbS1jYWxjIGZvciB0aGUgYmVsb3cgYnJlYWtwb2ludCBjYXVzZXMgaXNzdWVzIHdpdGggdG9wIGJhclxuLy8gJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfTsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcbi8vICR0b3BiYXItbWVkaWEtcXVlcnk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR0b3BiYXItYnJlYWtwb2ludCl9KVwiO1xuXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xuLy8gJHRvcGJhci1pbnB1dC1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcblxuLy8gRGl2aWRlciBTdHlsZXNcbi8vICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKTtcbi8vICR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG5cbi8vIFN0aWNreSBDbGFzc1xuLy8gJHRvcGJhci1zdGlja3ktY2xhc3M6IFwiLnN0aWNreVwiO1xuLy8gJHRvcGJhci1hcnJvd3M6IHRydWU7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cbi8vICR0b3BiYXItZHJvcGRvd24tYXJyb3dzOiB0cnVlOyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIFxcMDBiYiA+PiB0ZXh0IGZyb20gZHJvcGRvd24gc3VibmF2aWdhdGlvbiBsaS8vXG5cbi8vIDM2LiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuLy8gJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3Nlcztcbi8vICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlczogdHJ1ZTtcbi8vICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZTtcbi8vICRpbmNsdWRlLWxlZ2FjeS12aXNpYmlsaXR5LWNsYXNzZXM6IHRydWU7XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBUaGlzIGlzIHRoZSBkZWZhdWx0IGh0bWwgYW5kIGJvZHkgZm9udC1zaXplIGZvciB0aGUgYmFzZSByZW0gdmFsdWUuXG4kcmVtLWJhc2U6IDE2cHggIWRlZmF1bHQ7XG5cbi8vIElNUE9SVCBPTkNFXG4vLyBXZSB1c2UgdGhpcyB0byBwcmV2ZW50IHN0eWxlcyBmcm9tIGJlaW5nIGxvYWRlZCBtdWx0aXBsZSB0aW1lcyBmb3IgY29tcG9uZW50cyB0aGF0IHJlbHkgb24gb3RoZXIgY29tcG9uZW50cy5cbiRtb2R1bGVzOiAoKSAhZGVmYXVsdDtcblxuQG1peGluIGV4cG9ydHMoJG5hbWUpIHtcbiAgLy8gSW1wb3J0IGZyb20gZ2xvYmFsIHNjb3BlXG4gICRtb2R1bGVzOiAkbW9kdWxlcyAhZ2xvYmFsO1xuICAvLyBDaGVjayBpZiBhIG1vZHVsZSBpcyBhbHJlYWR5IG9uIHRoZSBsaXN0XG4gICRtb2R1bGVfaW5kZXg6IGluZGV4KCRtb2R1bGVzLCAkbmFtZSk7XG4gIEBpZiAoKCRtb2R1bGVfaW5kZXggPT0gbnVsbCkgb3IgKCRtb2R1bGVfaW5kZXggPT0gZmFsc2UpKSB7XG4gICAgJG1vZHVsZXM6IGFwcGVuZCgkbW9kdWxlcywgJG5hbWUpICFnbG9iYWw7XG4gICAgQGNvbnRlbnQ7XG4gIH1cbn1cblxuLy9cbi8vIEBmdW5jdGlvbnNcbi8vXG5cblxuLy8gUkFOR0VTXG4vLyBXZSB1c2UgdGhlc2UgZnVuY3Rpb25zIHRvIGRlZmluZSByYW5nZXMgZm9yIHZhcmlvdXMgdGhpbmdzLCBsaWtlIG1lZGlhIHF1ZXJpZXMuXG5AZnVuY3Rpb24gbG93ZXItYm91bmQoJHJhbmdlKSB7XG4gIEBpZiBsZW5ndGgoJHJhbmdlKSA8PSAwIHtcbiAgICBAcmV0dXJuIDA7XG4gIH1cbiAgQHJldHVybiBudGgoJHJhbmdlLCAxKTtcbn1cblxuQGZ1bmN0aW9uIHVwcGVyLWJvdW5kKCRyYW5nZSkge1xuICBAaWYgbGVuZ3RoKCRyYW5nZSkgPCAyIHtcbiAgICBAcmV0dXJuIDk5OTk5OTk5OTk5OTtcbiAgfVxuICBAcmV0dXJuIG50aCgkcmFuZ2UsIDIpO1xufVxuXG4vLyBTVFJJUCBVTklUXG4vLyBJdCBzdHJpcHMgdGhlIHVuaXQgb2YgbWVhc3VyZSBhbmQgcmV0dXJucyBpdFxuQGZ1bmN0aW9uIHN0cmlwLXVuaXQoJG51bSkge1xuICBAcmV0dXJuICRudW0gLyAoJG51bSAqIDAgKyAxKTtcbn1cblxuLy8gVEVYVCBJTlBVVCBUWVBFU1xuXG5AZnVuY3Rpb24gdGV4dC1pbnB1dHMoICR0eXBlczogYWxsLCAkc2VsZWN0b3I6IGlucHV0ICkge1xuXG4gICRyZXR1cm46ICgpO1xuXG4gICRhbGwtdGV4dC1pbnB1dC10eXBlczpcbiAgICB0ZXh0XG4gICAgcGFzc3dvcmRcbiAgICBkYXRlXG4gICAgZGF0ZXRpbWVcbiAgICBkYXRldGltZS1sb2NhbFxuICAgIG1vbnRoXG4gICAgd2Vla1xuICAgIGVtYWlsXG4gICAgbnVtYmVyXG4gICAgc2VhcmNoXG4gICAgdGVsXG4gICAgdGltZVxuICAgIHVybFxuICAgIGNvbG9yXG4gICAgdGV4dGFyZWE7XG5cbiAgQGlmICR0eXBlcyA9PSBhbGwgeyAkdHlwZXM6ICRhbGwtdGV4dC1pbnB1dC10eXBlczsgfVxuXG4gIEBlYWNoICR0eXBlIGluICR0eXBlcyB7XG4gICAgQGlmICR0eXBlID09IHRleHRhcmVhIHtcbiAgICAgIEBpZiAkc2VsZWN0b3IgPT0gaW5wdXQge1xuICAgICAgICAkcmV0dXJuOiBhcHBlbmQoJHJldHVybiwgdW5xdW90ZSgnI3skdHlwZX0nKSwgY29tbWEpXG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHR5cGV9I3skc2VsZWN0b3J9JyksIGNvbW1hKVxuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgJHJldHVybjogYXBwZW5kKCRyZXR1cm4sIHVucXVvdGUoJyN7JHNlbGVjdG9yfVt0eXBlPVwiI3skdHlwZX1cIl0nKSwgY29tbWEpXG4gICAgfVxuICB9XG5cbiAgICBAcmV0dXJuICRyZXR1cm47XG5cbn1cblxuLy8gQ09OVkVSVCBUTyBSRU1cbkBmdW5jdGlvbiBjb252ZXJ0LXRvLXJlbSgkdmFsdWUsICRiYXNlLXZhbHVlOiAkcmVtLWJhc2UpIHtcbiAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlLXZhbHVlKSAqIDFyZW07XG4gIEBpZiAoJHZhbHVlID09IDByZW0pIHsgJHZhbHVlOiAwOyB9IC8vIFR1cm4gMHJlbSBpbnRvIDBcbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBkYXRhKCRhdHRyKSB7XG4gIEBpZiAkbmFtZXNwYWNlIHtcbiAgICBAcmV0dXJuICdbZGF0YS0nICsgJG5hbWVzcGFjZSArICctJyArICRhdHRyICsgJ10nO1xuICB9XG5cbiAgQHJldHVybiAnW2RhdGEtJyArICRhdHRyICsgJ10nO1xufVxuXG4vLyBSRU0gQ0FMQ1xuXG4vLyBOZXcgU3ludGF4LCBhbGxvd3MgdG8gb3B0aW9uYWxseSBjYWxjdWxhdGUgb24gYSBkaWZmZXJlbnQgYmFzZSB2YWx1ZSB0byBjb3VudGVyIGNvbXBvdW5kaW5nIGVmZmVjdCBvZiByZW0ncy5cbi8vIENhbGwgd2l0aCAxLCAyLCAzIG9yIDQgcGFyYW1ldGVycywgJ3B4JyBpcyBub3QgcmVxdWlyZWQgYnV0IHN1cHBvcnRlZDpcbi8vXG4vLyAgIHJlbS1jYWxjKDEwIDIwIDMwcHggNDApO1xuLy9cbi8vIFNwYWNlIGRlbGltaXRlZCwgaWYgeW91IHdhbnQgdG8gZGVsaW1pdCB1c2luZyBjb21tYSdzLCB3cmFwIGl0IGluIGFub3RoZXIgcGFpciBvZiBicmFja2V0c1xuLy9cbi8vICAgcmVtLWNhbGMoKDEwLCAyMCwgMzAsIDQwcHgpKTtcbi8vXG4vLyBPcHRpb25hbGx5IGNhbGwgd2l0aCBhIGRpZmZlcmVudCBiYXNlIChlZzogOHB4KSB0byBjYWxjdWxhdGUgcmVtLlxuLy9cbi8vICAgcmVtLWNhbGMoMTZweCAzMnB4IDQ4cHgsIDhweCk7XG4vL1xuLy8gSWYgeW91IHJlcXVpcmUgdG8gY29tbWEgc2VwYXJhdGUgeW91ciBsaXN0XG4vL1xuLy8gICByZW0tY2FsYygoMTZweCwgMzJweCwgNDgpLCA4cHgpO1xuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkbWF4OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsIDEpLCAkYmFzZS12YWx1ZSk7IH1cblxuICAkcmVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkcmVtVmFsdWVzOiBhcHBlbmQoJHJlbVZhbHVlcywgY29udmVydC10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UtdmFsdWUpKTtcbiAgfVxuICBAcmV0dXJuICRyZW1WYWx1ZXM7XG59XG5cblxuQGZ1bmN0aW9uIGVtLWNhbGMoJHZhbHVlcywgJGJhc2UtdmFsdWU6ICRyZW0tYmFzZSkge1xuICAkcmVtVmFsdWVzOiByZW0tY2FsYygkdmFsdWVzLCAkYmFzZS12YWx1ZTogJHJlbS1iYXNlKTtcblxuICAkbWF4OiBsZW5ndGgoJHJlbVZhbHVlcyk7XG5cbiAgQGlmICRtYXggPT0gMSB7IEByZXR1cm4gc3RyaXAtdW5pdChudGgoJHJlbVZhbHVlcywgMSkpICogMWVtOyB9XG5cbiAgJGVtVmFsdWVzOiAoKTtcbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkbWF4IHtcbiAgICAkZW1WYWx1ZXM6IGFwcGVuZCgkZW1WYWx1ZXMsIHN0cmlwLXVuaXQobnRoKCRyZW1WYWx1ZXMsICRpKSkgKiAxZW0pO1xuICB9XG4gIEByZXR1cm4gJGVtVmFsdWVzO1xufVxuXG5cbi8vIERlcHJlY2F0ZWQ6IE9MRCBFTSBDQUxDXG5AZnVuY3Rpb24gZW1DYWxjKCR2YWx1ZXMpIHtcbiAgQHJldHVybiBlbS1jYWxjKCR2YWx1ZXMpO1xufVxuIiwiLy8gX2Jhc2Uuc2NzcyAtLXBhcnRpYWxzXG4vLyBUaGlzIGZpbGUgaW5jbHVkZXMgYWxsIG9mIG91ciBtb2R1bGVzIGZpcnN0IHRoZW4gcGFydGlhbHMuXG4vLyBObyBzdHlsaW5nIGNvZGUgaGVyZS5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gR2V0IEFsbCBNb2R1bGVzIGZpcnN0XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbkBpbXBvcnQgXCIuLi9tb2R1bGVzL2FsbFwiO1xuXG5cbi8vIEdldCBwYXJ0aWFsc1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBHZXQgYWxsIGN1c3RvbWl6ZWQgZm91bmRhdGlvbiBjb21wb25lbnRzXG5AaW1wb3J0IFwicGFydGlhbHMvZm91bmRhdGlvbl9jb21wb25lbnRzL2FsbFwiO1xuXG5cbi8vIFZhbmlsbGEgQ29tcG9uZW50c1xuQGltcG9ydCBcInZhbmlsbGFfY29tcG9uZW50cy9hdmF0YXJzXCI7XG5AaW1wb3J0IFwidmFuaWxsYV9jb21wb25lbnRzL2dlbmVyYWxcIjtcbkBpbXBvcnQgXCJ2YW5pbGxhX2NvbXBvbmVudHMvbGlzdGluZ3NcIjtcbkBpbXBvcnQgXCJ2YW5pbGxhX2NvbXBvbmVudHMvZGlzY3Vzc2lvbi1oZWFkZXJcIjtcbkBpbXBvcnQgXCJ2YW5pbGxhX2NvbXBvbmVudHMvZGlzY3Vzc2lvbi1ib2R5XCI7XG5AaW1wb3J0IFwidmFuaWxsYV9jb21wb25lbnRzL29ubGluZVwiO1xuQGltcG9ydCBcInZhbmlsbGFfY29tcG9uZW50cy9uZXctZGlzY3Vzc2lvblwiO1xuXG5cbi8vIE91ciBvd24gY3VzdG9tIHBhcnRpYWxzXG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvZ2VuZXJhbFwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL29wdGlvbnNNZW51XCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvc3ViLWhlYWRlclwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL21haW4tY29udGVudFwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL2Zvb3RlclwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL2d1ZXN0LWJveFwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9wcm9maWxlXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL2VkaXQtcHJvZmlsZVwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9zaWRlLW1lbnVcIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGUvY2hhbmdlLXBhc3N3b3JkXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL3ByZWZlcmVuY2VzXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL2NoYW5nZS1waWN0dXJlXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL2VkaXQtdGh1bWJuYWlsXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL29ubGluZS1zZXR0aW5nc1wiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZS9xdW90ZXMtc2V0dGluZ3NcIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGUvc2lnbmF0dXJlXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL3VzZXItaW5ib3hcIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGUvY29tbWVudHNcIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGUvaWdub3JlXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvY29tbWVudC1hY3Rpdml0eVwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL21lc3NhZ2VzXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvbmV3LW1lc3NhZ2VcIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy9wb3B1cFwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL2NoZWNrbWFya3NcIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy9jYXRlZ29yeVwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL3NpZ24taW5cIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy9yZWdpc3RlclwiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL2VkaXRvci1hY3Rpb25zXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvbXktZHJhZnRzXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvc3BsYXNoLWluZm9cIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy9kaXNjdXNzaW9uLXBvbGxzXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvaW5mb3JtLW1lc3NhZ2VzXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvdGFnc1wiO1xuQGltcG9ydCBcImN1c3RvbV9jb21wb25lbnRzL3dhcm5pbmdzXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvc2VhcmNoLXJlc3VsdHNcIjtcbkBpbXBvcnQgXCJjdXN0b21fY29tcG9uZW50cy9wb3N0LWJnXCI7XG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvY29ubmVjdFwiO1xuXG5cblxuXG5cbi8vIE91ciBzaGFtZSBmaWxlIGZvciB0ZXN0aW5nXG5AaW1wb3J0IFwiY3VzdG9tX2NvbXBvbmVudHMvc2hhbWVcIjtcbiIsIi8vIF9tb2R1bGVzLnNjc3MgLS1tb2R1bGVzXG4vLyBvbmx5IGltcG9ydHMgb2YgbWl4aW4sIGZ1bmN0aW9uLCBvciBwbGFjZWhvbGRlciBmaWxlcy5cbi8vIE5vIHN0eWxpbmcgY29kZSBoZXJlLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBJbmNsdWRlIGFsbCBtaXhpbnMgaGVyZVxuQGltcG9ydCBcImljb25zXCI7XG5AaW1wb3J0IFwiZm9udHNcIjtcbiIsIi8vIF9pY29ucy5zY3NzIC0tcGFydGlhbHNcbi8vIFRoaXMgZmlsZSBzZXRzIHVwIG91ciBpY29ucy5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuJGljb25zIDogKFxuICBhY3Rpdml0eTogICdcXEVBMDEnLFxuICBhZG1pbmlzdHJhdG9yOiAnXFxFQTAyJyxcbiAgYm9va21hcms6ICdcXEVBMDMnLFxuICBib29rbWFya2VkOiAnXFxFQTA0JyxcbiAgY2F0ZWdvcmllczogJ1xcRUEwNScsXG4gIGNvbW1lbnQ6ICdcXEVBMDYnLFxuICBkaXNjdXNzaW9uczogJ1xcRUEwNycsXG4gIGRyYWZ0czogJ1xcRUEwOCcsXG4gIGZsYWc6ICdcXEVBMDknLFxuICBpbmJveDogJ1xcRUEwQScsXG4gIG1vZGVyYXRvcjogJ1xcRUEwQicsXG4gIG5vdGlmaWNhdGlvbjogJ1xcRUEwQycsXG4gIG9wZW4tbWFpbi1tZW51OiAnXFxFQTBEJyxcbiAgb3B0aW9uczogJ1xcRUEwRScsXG4gIHBhcnRpY2lwYXRlZDogJ1xcRUEwRicsXG4gIHJlY2VudC1kaXNjdXNzaW9uczogJ1xcRUExMCcsXG4gIHJzczonXFxFQTExJyxcbiAgc2VhcmNoOiAnXFxFQTEyJyxcbiAgdXNlci1kaXNjdXNzaW9uOiAnXFxFQTEzJyxcbiAgdmlld3MtaWNvbjogJ1xcRUExNCcsXG4gIHF1b3RlOiAnXFxFQTE1JyxcbiAgZmFjZWJvb2s6ICdcXEVBMTYnLFxuICB0d2l0dGVyOiAnXFxFQTE3JyxcbiAgeW91dHViZTogJ1xcRUExOCdcbik7XG4iLCIvLyBfZm9udHMuc2NzcyAtLXBhcnRpYWxzXG4vLyBUaGlzIGZpbGUgc2V0cyB1cCBhbGwgQGZvbnQtZmFjZXMgYW5kIGltcG9ydHMgYWxsIGZvbnQgZmlsZXMuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBCZWhvbGQsIGhlcmUgYXJlIGFsbCB0aGUgRm91bmRhdGlvbiBjb21wb25lbnRzLlxuQGltcG9ydCAnZ3JpZCc7XG5AaW1wb3J0ICdhY2NvcmRpb24nO1xuQGltcG9ydCAnYWxlcnQtYm94ZXMnO1xuQGltcG9ydCAnYmxvY2stZ3JpZCc7XG5AaW1wb3J0ICdicmVhZGNydW1icyc7XG5AaW1wb3J0ICdidXR0b24tZ3JvdXBzJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuQGltcG9ydCAnY2xlYXJpbmcnO1xuQGltcG9ydCAnZHJvcGRvd24nO1xuQGltcG9ydCAnZHJvcGRvd24tYnV0dG9ucyc7XG5AaW1wb3J0ICdmbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2Zvcm1zJztcbkBpbXBvcnQgJ2ljb24tYmFyJztcbkBpbXBvcnQgJ2lubGluZS1saXN0cyc7XG5AaW1wb3J0ICdqb3lyaWRlJztcbkBpbXBvcnQgJ2tleXN0cm9rZXMnO1xuQGltcG9ydCAnbGFiZWxzJztcbkBpbXBvcnQgJ21hZ2VsbGFuJztcbkBpbXBvcnQgJ29yYml0JztcbkBpbXBvcnQgJ3BhZ2luYXRpb24nO1xuQGltcG9ydCAncGFuZWxzJztcbkBpbXBvcnQgJ3ByaWNpbmctdGFibGVzJztcbkBpbXBvcnQgJ3Byb2dyZXNzLWJhcnMnO1xuQGltcG9ydCAncmFuZ2Utc2xpZGVyJztcbkBpbXBvcnQgJ3JldmVhbCc7XG5AaW1wb3J0ICdzaWRlLW5hdic7XG5AaW1wb3J0ICdzcGxpdC1idXR0b25zJztcbkBpbXBvcnQgJ3N1Yi1uYXYnO1xuQGltcG9ydCAnc3dpdGNoZXMnO1xuQGltcG9ydCAndGFibGVzJztcbkBpbXBvcnQgJ3RhYnMnO1xuQGltcG9ydCAndGh1bWJzJztcbkBpbXBvcnQgJ3Rvb2x0aXBzJztcbkBpbXBvcnQgJ3RvcC1iYXInO1xuQGltcG9ydCAndHlwZSc7XG5AaW1wb3J0ICdvZmZjYW52YXMnO1xuQGltcG9ydCAndmlzaWJpbGl0eSc7XG4iLCIvL1xuLy8gIyBHcmlkXG4vL1xuLy8gQ3JlYXRlIHBvd2VyZnVsIG11bHRpLWRldmljZSBsYXlvdXRzIHF1aWNrbHkgYW5kIGVhc2lseSB3aXRoIHRoZSBkZWZhdWx0XG4vLyAxMi1jb2x1bW4sIG5lc3QtYWJsZSBGb3VuZGF0aW9uIGdyaWQuIElmIHlvdSdyZSBmYW1pbGlhciB3aXRoIGdyaWQgc3lzdGVtcyxcbi8vIHlvdSdsbCBmZWVsIHJpZ2h0IGF0IGhvbWUuIElmIG5vdCwgeW91J2xsIGxlYXJuIHF1aWNrbHkuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlcyAtIFRoZXNlIHZhcmlhYmxlcyBhcmUgbGlzdGVkIGhlcmUgZm9yIHJlZmVyZW5jZSBvbmx5LiBUaGV5IGFyZVxuLy8gY2hhbmdlZCBpbiB0aGUgX3NldHRpbmdzLnNjc3MgZmlsZSBhcyB0byBiZSBnbG9iYWwgdmFyaWFibGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAkcm93LXdpZHRoOiByZW0tY2FsYygxMTU0KTtcbi8vICR0b3RhbC1jb2x1bW5zOiAxNjtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgJ2ZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL2dyaWQnO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90IHN1cmUgd2hhdCB0aGlzIGV4cG9ydCB3cmFwcGVyIGRvZXMgYnV0IGxlYXZlIGl0XG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1ncmlkXCIpIHtcblxuXG4vLyBTdGFydCBDdXN0b20gc3R5bGVzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBDaGFuZ2UgdGhlIHNpemUgb2YgdGhlIG1haW4gbGF5b3V0XG4ucGFnZS1jb250ZW50IHtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDExKTtcbiAgfVxufVxuXG4ucGFnZS1zaWRlYmFyIHtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKDUpO1xuICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDUpO1xuICB9XG59XG5cblxuXG5cblxuXG5cblxuXG5cblxuLy8gRW5kIEN1c3RvbSBzdHlsZXMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxufSIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcbiRpbmNsdWRlLXhsLWh0bWwtZ3JpZC1jbGFzc2VzOiBmYWxzZSAhZGVmYXVsdDtcblxuJHJvdy13aWR0aDogcmVtLWNhbGMoMTAwMCkgIWRlZmF1bHQ7XG4kdG90YWwtY29sdW1uczogMTIgIWRlZmF1bHQ7XG5cbiRsYXN0LWNoaWxkLWZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uICFkZWZhdWx0O1xuXG4vL1xuLy8gR3JpZCBGdW5jdGlvbnNcbi8vXG5cbi8vIERlcHJlY2F0ZWQ6IFdlJ2xsIGRyb3Agc3VwcG9ydCBmb3IgdGhpcyBpbiA1LjEsIHVzZSBncmlkLWNhbGMoKVxuQGZ1bmN0aW9uIGdyaWRDYWxjKCRjb2xOdW1iZXIsICR0b3RhbENvbHVtbnMpIHtcbiAgQHdhcm4gXCJncmlkQ2FsYygpIGlzIGRlcHJlY2F0ZWQsIHVzZSBncmlkLWNhbGMoKVwiO1xuICBAcmV0dXJuIGdyaWQtY2FsYygkY29sTnVtYmVyLCAkdG90YWxDb2x1bW5zKTtcbn1cblxuLy8gQEZVTkNUSU9OXG4vLyAkY29sTnVtYmVyIC0gRm91bmQgaW4gc2V0dGluZ3MgZmlsZVxuLy8gJHRvdGFsQ29sdW1ucyAtIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBmdW5jdGlvbiBncmlkLWNhbGMoJGNvbE51bWJlciwgJHRvdGFsQ29sdW1ucykge1xuICAkcmVzdWx0OiBwZXJjZW50YWdlKCgkY29sTnVtYmVyIC8gJHRvdGFsQ29sdW1ucykpO1xuICBAaWYgJHJlc3VsdCA9PSAwJSB7ICRyZXN1bHQ6IDA7IH1cbiAgQHJldHVybiAkcmVzdWx0O1xufVxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gRm9yIGNyZWF0aW5nIGNvbnRhaW5lciwgbmVzdGVkLCBhbmQgY29sbGFwc2VkIHJvd3MuXG4vL1xuLy9cbi8vICRiZWhhdmlvciAtIEFueSBzcGVjaWFsIGJlaGF2aW9yIGZvciB0aGlzIHJvdz8gRGVmYXVsdDogZmFsc2UuIE9wdGlvbnM6IG5lc3QsIGNvbGxhcHNlLCBuZXN0LWNvbGxhcHNlLCBmYWxzZS5cbkBtaXhpbiBncmlkLXJvdygkYmVoYXZpb3I6IGZhbHNlKSB7XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KG5lc3QpOyB0byBpbmNsdWRlIGEgbmVzdGVkIHJvd1xuICBAaWYgJGJlaGF2aW9yID09IG5lc3Qge1xuICAgIG1hcmdpbjogMCAoLSgkY29sdW1uLWd1dHRlci8yKSk7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG5cbiAgLy8gdXNlIEBpbmNsdWRlIGdyaWQtcm93KGNvbGxhcHNlKTsgdG8gY29sbGFwc2VkIGEgY29udGFpbmVyIHJvdyBtYXJnaW5zXG4gIEBlbHNlIGlmICRiZWhhdmlvciA9PSBjb2xsYXBzZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIHVzZSBAaW5jbHVkZSBncmlkLXJvdyhuZXN0LWNvbGxhcHNlKTsgdG8gY29sbGFwc2Ugb3V0ZXIgbWFyZ2lucyBvbiBhIG5lc3RlZCByb3dcbiAgQGVsc2UgaWYgJGJlaGF2aW9yID09IG5lc3QtY29sbGFwc2Uge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAvLyB1c2UgQGluY2x1ZGUgZ3JpZC1yb3c7IHRvIHVzZSBhIGNvbnRhaW5lciByb3dcbiAgQGVsc2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogJHJvdy13aWR0aDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIENsZWFyZml4IGZvciBhbGwgcm93c1xuICBAaW5jbHVkZSBjbGVhcmZpeCgpO1xufVxuXG4vLyBDcmVhdGVzIGEgY29sdW1uLCBzaG91bGQgYmUgdXNlZCBpbnNpZGUgb2YgYSBtZWRpYSBxdWVyeSB0byBjb250cm9sIGxheW91dHNcbi8vXG4vLyAkY29sdW1ucyAtIFRoZSBudW1iZXIgb2YgY29sdW1ucyB0aGlzIHNob3VsZCBiZVxuLy8gJGxhc3QtY29sdW1uIC0gSXMgdGhpcyB0aGUgbGFzdCBjb2x1bW4/IERlZmF1bHQ6IGZhbHNlLlxuLy8gJGNlbnRlciAtIENlbnRlciB0aGVzZSBjb2x1bW5zPyBEZWZhdWx0OiBmYWxzZS5cbi8vICRvZmZzZXQgLSAjIG9mIGNvbHVtbnMgdG8gb2Zmc2V0LiBEZWZhdWx0OiBmYWxzZS5cbi8vICRwdXNoIC0gIyBvZiBjb2x1bW5zIHRvIHB1c2guIERlZmF1bHQ6IGZhbHNlLlxuLy8gJHB1bGwgLSAjIG9mIGNvbHVtbnMgdG8gcHVsbC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkY29sbGFwc2UgLSBHZXQgcmlkIG9mIGd1dHRlciBwYWRkaW5nIG9uIGNvbHVtbj8gRGVmYXVsdDogZmFsc2UuXG4vLyAkZmxvYXQgLSBTaG91bGQgdGhpcyBmbG9hdD8gRGVmYXVsdDogdHJ1ZS4gT3B0aW9uczogdHJ1ZSwgZmFsc2UsIGxlZnQsIHJpZ2h0LlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczpmYWxzZSxcbiAgJGxhc3QtY29sdW1uOmZhbHNlLFxuICAkY2VudGVyOmZhbHNlLFxuICAkb2Zmc2V0OmZhbHNlLFxuICAkcHVzaDpmYWxzZSxcbiAgJHB1bGw6ZmFsc2UsXG4gICRjb2xsYXBzZTpmYWxzZSxcbiAgJGZsb2F0OnRydWUsXG4gICRwb3NpdGlvbjpmYWxzZSkge1xuXG4gIC8vIElmIHBvc2l0aW9uZWQgZm9yIGRlZmF1bHQgLmNvbHVtbiwgaW5jbHVkZSByZWxhdGl2ZSBwb3NpdGlvblxuICAvLyBwdXNoIGFuZCBwdWxsIHJlcXVpcmUgcG9zaXRpb24gc2V0XG4gIEBpZiAkcG9zaXRpb24gb3IgJHB1c2ggb3IgJHB1bGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC8vIElmIGNvbGxhcHNlZCwgZ2V0IHJpZCBvZiBndXR0ZXIgcGFkZGluZ1xuICBAaWYgJGNvbGxhcHNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuXG4gIC8vIEd1dHRlciBwYWRkaW5nIHdoZW5ldmVyIGEgY29sdW1uIGlzbid0IHNldCB0byBjb2xsYXBzZVxuICAvLyAodXNlICRjb2xsYXBzZTpudWxsIHRvIGRvIG5vdGhpbmcpXG4gIEBlbHNlIGlmICRjb2xsYXBzZSA9PSBmYWxzZSB7XG4gICAgcGFkZGluZy1sZWZ0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJGNvbHVtbi1ndXR0ZXIgLyAyKTtcbiAgfVxuXG4gIC8vIElmIGEgY29sdW1uIG51bWJlciBpcyBnaXZlbiwgY2FsY3VsYXRlIHdpZHRoXG4gIEBpZiAkY29sdW1ucyB7XG4gICAgd2lkdGg6IGdyaWQtY2FsYygkY29sdW1ucywgJHRvdGFsLWNvbHVtbnMpO1xuXG4gICAgLy8gSWYgbGFzdCBjb2x1bW4sIGZsb2F0IG5hdHVyYWxseSBpbnN0ZWFkIG9mIHRvIHRoZSByaWdodFxuICAgIEBpZiAkbGFzdC1jb2x1bW4geyBmbG9hdDogJG9wcG9zaXRlLWRpcmVjdGlvbjsgfVxuICB9XG5cbiAgLy8gU291cmNlIE9yZGVyaW5nLCBhZGRzIGxlZnQvcmlnaHQgZGVwZW5kaW5nIG9uIHdoaWNoIHlvdSB1c2UuXG4gIEBpZiAkcHVzaCB7ICN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJHB1c2gsICR0b3RhbC1jb2x1bW5zKTsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogYXV0bzsgfVxuICBAaWYgJHB1bGwgeyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBncmlkLWNhbGMoJHB1bGwsICR0b3RhbC1jb2x1bW5zKTsgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87IH1cblxuICBAaWYgJGZsb2F0IGFuZCAkbGFzdC1jb2x1bW4gPT0gZmFsc2Uge1xuICAgIEBpZiAkZmxvYXQgPT0gbGVmdCBvciAkZmxvYXQgPT0gdHJ1ZSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgIEBlbHNlIGlmICRmbG9hdCA9PSByaWdodCB7IGZsb2F0OiAkb3Bwb3NpdGUtZGlyZWN0aW9uOyB9XG4gICAgQGVsc2UgeyBmbG9hdDogbm9uZTsgfVxuICB9XG5cbiAgLy8gSWYgY2VudGVyZWQsIGdldCByaWQgb2YgZmxvYXQgYW5kIGFkZCBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkY2VudGVyIHtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBJZiBvZmZzZXQsIGNhbGN1bGF0ZSBhcHByb3ByaWF0ZSBtYXJnaW5zXG4gIEBpZiAkb2Zmc2V0IHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiBncmlkLWNhbGMoJG9mZnNldCwgJHRvdGFsLWNvbHVtbnMpICFpbXBvcnRhbnQ7IH1cblxufVxuXG4vLyBDcmVhdGUgcHJlc2VudGF0aW9uYWwgY2xhc3NlcyBmb3IgZ3JpZFxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLTEsIC5sYXJnZS0yLCBldGMuXG5AbWl4aW4gZ3JpZC1odG1sLWNsYXNzZXMoJHNpemUpIHtcblxuICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgLiN7JHNpemV9LXB1c2gtI3skaX0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgIH1cbiAgICAuI3skc2l6ZX0tcHVsbC0jeyRpfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgfVxuICB9XG5cbiAgLmNvbHVtbixcbiAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczpmYWxzZSwgJHBvc2l0aW9uOnRydWUpOyB9XG5cblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIHtcbiAgICAuI3skc2l6ZX0tI3skaX0geyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHRvdGFsLWNvbHVtbnMgLSAxIHtcbiAgICAuI3skc2l6ZX0tb2Zmc2V0LSN7JGl9IHsgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJG9mZnNldDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7IH1cbiAgfVxuXG4gIC4jeyRzaXplfS1yZXNldC1vcmRlciB7XG4gICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgIGxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS1jZW50ZXJlZCxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tY2VudGVyZWQgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY2VudGVyOnRydWUsICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpOyB9XG5cbiAgLmNvbHVtbi4jeyRzaXplfS11bmNlbnRlcmVkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkIHtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICB9XG5cbiAgLy8gRmlnaHRpbmcgW2NsYXNzKj1cImNvbHVtblwiXSArIFtjbGFzcyo9XCJjb2x1bW5cIl06bGFzdC1jaGlsZFxuICAuY29sdW1uLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGQsXG4gIC5jb2x1bW5zLiN7JHNpemV9LWNlbnRlcmVkOmxhc3QtY2hpbGR7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBGaWdodGluZyAuY29sdW1uLjxwcmV2aW91cy1zaXplPi1jZW50ZXJlZDpsYXN0LWNoaWxkXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZDpsYXN0LWNoaWxkLFxuICAuY29sdW1ucy4jeyRzaXplfS11bmNlbnRlcmVkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgfVxuXG4gIC5jb2x1bW4uI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSxcbiAgLmNvbHVtbnMuI3skc2l6ZX0tdW5jZW50ZXJlZC5vcHBvc2l0ZSB7XG4gICAgZmxvYXQ6ICRvcHBvc2l0ZS1kaXJlY3Rpb247XG4gIH1cblxuICAucm93IHtcbiAgICAmLiN7JHNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbixcbiAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAucm93IHttYXJnaW4tbGVmdDowOyBtYXJnaW4tcmlnaHQ6MDt9XG4gICAgfVxuICAgICYuI3skc2l6ZX0tdW5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4sXG4gICAgICA+IC5jb2x1bW5zIHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW47XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZ3JpZC1jbGFzc2VzIHtcbiAgICAucm93IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgICAmLmNvbGxhcHNlIHtcbiAgICAgICAgID4gLmNvbHVtbixcbiAgICAgICAgID4gLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sbGFwc2U6dHJ1ZSwgJGZsb2F0OmZhbHNlKTsgfVxuXG4gICAgICAgIC5yb3cge21hcmdpbi1sZWZ0OjA7IG1hcmdpbi1yaWdodDowO31cbiAgICAgIH1cblxuICAgICAgLnJvdyB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0KTtcbiAgICAgICAgJi5jb2xsYXBzZSB7IEBpbmNsdWRlIGdyaWQtcm93KCRiZWhhdmlvcjpuZXN0LWNvbGxhcHNlKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBAaW5jbHVkZSBncmlkLWNvbHVtbigkY29sdW1uczokdG90YWwtY29sdW1ucyk7IH1cblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMge1xuICAgICAgJiArICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGZsb2F0OiAkbGFzdC1jaGlsZC1mbG9hdDtcbiAgICAgIH1cbiAgICAgICYgKyAmLmVuZCB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnNtYWxsKTtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTptZWRpdW0pO1xuICAgICAgLy8gT2xkIHB1c2ggYW5kIHB1bGwgY2xhc3Nlc1xuICAgICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAkdG90YWwtY29sdW1ucyAtIDEge1xuICAgICAgICAucHVzaC0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJHB1c2g6JGksICRjb2xsYXBzZTpudWxsLCAkZmxvYXQ6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICAgIC5wdWxsLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVsbDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpsYXJnZSk7XG4gICAgICBAZm9yICRpIGZyb20gMCB0aHJvdWdoICR0b3RhbC1jb2x1bW5zIC0gMSB7XG4gICAgICAgIC5wdXNoLSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbigkcHVzaDokaSwgJGNvbGxhcHNlOm51bGwsICRmbG9hdDpmYWxzZSk7XG4gICAgICAgIH1cbiAgICAgICAgLnB1bGwtI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRwdWxsOiRpLCAkY29sbGFwc2U6bnVsbCwgJGZsb2F0OmZhbHNlKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAaWYgJGluY2x1ZGUteGwtaHRtbC1ncmlkLWNsYXNzZXMge1xuICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyR4eGxhcmdlLXVwfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTp4eGxhcmdlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJy4uL2Z1bmN0aW9ucyc7XG4vL1xuLy8gRm91bmRhdGlvbiBWYXJpYWJsZXNcbi8vXG5cbi8vIERhdGEgYXR0cmlidXRlIG5hbWVzcGFjZVxuLy8gc3R5bGVzIGdldCBhcHBsaWVkIHRvIFtkYXRhLW15c2l0ZS1wbHVnaW5dLCBldGNcbiRuYW1lc3BhY2U6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250LXNpemUgaXMgc2V0IHRvIDEwMCUgb2YgdGhlIGJyb3dzZXIgc3R5bGUgc2hlZXQgKHVzdWFsbHkgMTZweClcbi8vIGZvciBjb21wYXRpYmlsaXR5IHdpdGggYnJvd3Nlci1iYXNlZCB0ZXh0IHpvb20gb3IgdXNlci1zZXQgZGVmYXVsdHMuXG5cbi8vIFNpbmNlIHRoZSB0eXBpY2FsIGRlZmF1bHQgYnJvd3NlciBmb250LXNpemUgaXMgMTZweCwgdGhhdCBtYWtlcyB0aGUgY2FsY3VsYXRpb24gZm9yIGdyaWQgc2l6ZS5cbi8vIElmIHlvdSB3YW50IHlvdXIgYmFzZSBmb250LXNpemUgdG8gYmUgZGlmZmVyZW50IGFuZCBub3QgaGF2ZSBpdCBhZmZlY3QgdGhlIGdyaWQgYnJlYWtwb2ludHMsXG4vLyBzZXQgJHJlbS1iYXNlIHRvICRiYXNlLWZvbnQtc2l6ZSBhbmQgbWFrZSBzdXJlICRiYXNlLWZvbnQtc2l6ZSBpcyBhIHB4IHZhbHVlLlxuJGJhc2UtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyAkYmFzZS1saW5lLWhlaWdodCBpcyAyNHB4IHdoaWxlICRiYXNlLWZvbnQtc2l6ZSBpcyAxNnB4XG4kYmFzZS1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vL1xuLy8gR2xvYmFsIEZvdW5kYXRpb24gTWl4aW5zXG4vL1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBib3JkZXIgcmFkaXVzLlxuLy8gJHJhZGl1cyAtIERlZmF1bHQ6ICRnbG9iYWwtcmFkaXVzIHx8IDRweFxuQG1peGluIHJhZGl1cygkcmFkaXVzOiRnbG9iYWwtcmFkaXVzKSB7XG4gIEBpZiAkcmFkaXVzIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgZXF1YWwgc2lkZSBib3JkZXIgcmFkaXVzIG9uIGVsZW1lbnRzLlxuLy8gJHNpZGUgLSBPcHRpb25zOiBsZWZ0LCByaWdodCwgdG9wLCBib3R0b21cbkBtaXhpbiBzaWRlLXJhZGl1cygkc2lkZSwgJHJhZGl1czokZ2xvYmFsLXJhZGl1cykge1xuICBAaWYgKCRzaWRlID09IGxlZnQgb3IgJHNpZGUgPT0gcmlnaHQpIHtcbiAgICAtd2Via2l0LWJvcmRlci1ib3R0b20tI3skc2lkZX0tcmFkaXVzOiAkcmFkaXVzO1xuICAgIC13ZWJraXQtYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbS0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLXRvcC0jeyRzaWRlfS1yYWRpdXM6ICRyYWRpdXM7XG4gIH0gQGVsc2Uge1xuICAgIC13ZWJraXQtI3skc2lkZX0tbGVmdC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgLXdlYmtpdC0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gICAgYm9yZGVyLSN7JHNpZGV9LWxlZnQtcmFkaXVzOiAkcmFkaXVzO1xuICAgIGJvcmRlci0jeyRzaWRlfS1yaWdodC1yYWRpdXM6ICRyYWRpdXM7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIGNhbiBjb250cm9sIHdoZXRoZXIgb3Igbm90IHdlIGhhdmUgaW5zZXQgc2hhZG93cyBlZGdlcy5cbi8vICRhY3RpdmUgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIGluc2V0LXNoYWRvdygkYWN0aXZlOnRydWUpIHtcbiAgYm94LXNoYWRvdzogJHNoaW55LWVkZ2Utc2l6ZSAkc2hpbnktZWRnZS1jb2xvciBpbnNldDtcblxuICBAaWYgJGFjdGl2ZSB7ICY6YWN0aXZlIHtcbiAgICBib3gtc2hhZG93OiAkc2hpbnktZWRnZS1zaXplICRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvciBpbnNldDsgfSB9XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBhZGQgdHJhbnNpdGlvbnMgdG8gZWxlbWVudHNcbi8vICRwcm9wZXJ0eSAtIERlZmF1bHQ6IGFsbCwgT3B0aW9uczogaHR0cDovL3d3dy53My5vcmcvVFIvY3NzMy10cmFuc2l0aW9ucy8jYW5pbWF0YWJsZS1wcm9wZXJ0aWVzXG4vLyAkc3BlZWQgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGVhc2UgLSBEZWZhdWx0OiBlYXNlLW91dCwgT3B0aW9uczogaHR0cDovL2Nzcy10cmlja3MuY29tL2FsbWFuYWMvcHJvcGVydGllcy90L3RyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uL1xuQG1peGluIHNpbmdsZS10cmFuc2l0aW9uKCRwcm9wZXJ0eTphbGwsICRzcGVlZDozMDBtcywgJGVhc2U6ZWFzZS1vdXQpIHtcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbigkcHJvcGVydHksICRzcGVlZCwgJGVhc2UpO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIHNpbmdsZSBvciBtdWx0aXBsZSB0cmFuc2l0aW9ucyB0byBlbGVtZW50c1xuLy8gJHByb3BlcnR5IC0gRGVmYXVsdDogYWxsLCBPcHRpb25zOiBodHRwOi8vd3d3LnczLm9yZy9UUi9jc3MzLXRyYW5zaXRpb25zLyNhbmltYXRhYmxlLXByb3BlcnRpZXNcbi8vICRzcGVlZCAtIERlZmF1bHQ6IDMwMG1zXG4vLyAkZWFzZSAtIERlZmF1bHQ6IGVhc2Utb3V0LCBPcHRpb25zOiBodHRwOi8vY3NzLXRyaWNrcy5jb20vYWxtYW5hYy9wcm9wZXJ0aWVzL3QvdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb24vXG4vLyAkZGVsYXkgLSBEZWZhdWx0OiBudWxsICgwcylcbkBtaXhpbiB0cmFuc2l0aW9uKCRwcm9wZXJ0eTphbGwsICRzcGVlZDozMDBtcywgJGVhc2U6ZWFzZS1vdXQsICRkZWxheTpudWxsKSB7XG4gICR0cmFuc2l0aW9uOiBub25lO1xuXG4gIEBpZiBsZW5ndGgoJHByb3BlcnR5KSA+IDEge1xuXG4gICAgQGVhY2ggJHRyYW5zaXRpb25fbGlzdCBpbiAkcHJvcGVydHkge1xuXG4gICAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSB7XG5cbiAgICAgICAgQGlmICRpID09IDEge1xuICAgICAgICAgICRfcHJvcGVydHk6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgIH1cblxuICAgICAgICBAaWYgbGVuZ3RoKCR0cmFuc2l0aW9uX2xpc3QpID4gMSB7XG4gICAgICAgICAgQGlmICRpID09IDIge1xuICAgICAgICAgICAgJF9zcGVlZDogbnRoKCR0cmFuc2l0aW9uX2xpc3QsICRpKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gQGVsc2Uge1xuICAgICAgICAgICRfc3BlZWQ6ICRzcGVlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpZiBsZW5ndGgoJHRyYW5zaXRpb25fbGlzdCkgPiAyIHtcbiAgICAgICAgICBAaWYgJGkgPT0gMyB7XG4gICAgICAgICAgICAkX2Vhc2U6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX2Vhc2U6ICRlYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGlmIGxlbmd0aCgkdHJhbnNpdGlvbl9saXN0KSA+IDMge1xuICAgICAgICAgIEBpZiAkaSA9PSA0IHtcbiAgICAgICAgICAgICRfZGVsYXk6IG50aCgkdHJhbnNpdGlvbl9saXN0LCAkaSk7XG4gICAgICAgICAgfVxuICAgICAgICB9IEBlbHNlIHtcbiAgICAgICAgICAkX2RlbGF5OiAkZGVsYXk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQGlmICR0cmFuc2l0aW9uID09IG5vbmUge1xuICAgICAgICAkdHJhbnNpdGlvbjogJF9wcm9wZXJ0eSAkX3NwZWVkICRfZWFzZSAkX2RlbGF5O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbiwgJF9wcm9wZXJ0eSAkX3NwZWVkICRfZWFzZSAkX2RlbGF5O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG5cbiAgICBAZWFjaCAkcHJvcCBpbiAkcHJvcGVydHkge1xuXG4gICAgICBAaWYgJHRyYW5zaXRpb24gPT0gbm9uZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkcHJvcCAkc3BlZWQgJGVhc2UgJGRlbGF5O1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICR0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbiwgJHByb3AgJHNwZWVkICRlYXNlICRkZWxheTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiAkdHJhbnNpdGlvbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBib3gtc2l6aW5nIGFjcm9zcyBicm93c2VyIHByZWZpeGVzXG5AbWl4aW4gYm94LXNpemluZygkdHlwZTpib3JkZXItYm94KSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJHR5cGU7IC8vIEFuZHJvaWQgPCAyLjMsIGlPUyA8IDRcbiAgICAgLW1vei1ib3gtc2l6aW5nOiAkdHlwZTsgLy8gRmlyZWZveCA8IDI5XG4gICAgICAgICAgYm94LXNpemluZzogJHR5cGU7IC8vIENocm9tZSwgSUUgOCssIE9wZXJhLCBTYWZhcmkgNS4xXG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgaXNvc2NlbGVzIHRyaWFuZ2xlc1xuLy8gJHRyaWFuZ2xlLXNpemUgLSBVc2VkIHRvIHNldCBib3JkZXItc2l6ZS4gTm8gZGVmYXVsdCwgc2V0IGEgcHggb3IgZW0gc2l6ZS5cbi8vICR0cmlhbmdsZS1jb2xvciAtIFVzZWQgdG8gc2V0IGJvcmRlci1jb2xvciB3aGljaCBtYWtlcyB1cCB0cmlhbmdsZS4gTm8gZGVmYXVsdFxuLy8gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIFVzZWQgdG8gZGV0ZXJtaW5lIHdoaWNoIGRpcmVjdGlvbiB0cmlhbmdsZSBwb2ludHMuIE9wdGlvbnM6IHRvcCwgYm90dG9tLCBsZWZ0LCByaWdodFxuQG1peGluIGNzcy10cmlhbmdsZSgkdHJpYW5nbGUtc2l6ZSwgJHRyaWFuZ2xlLWNvbG9yLCAkdHJpYW5nbGUtZGlyZWN0aW9uKSB7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gdG9wKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGJvdHRvbSkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSByaWdodCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSB0aGUgaWNvbiB3aXRoIHRocmVlIGxpbmVzIGFrYSB0aGUgaGFtYnVyZ2VyIGljb24sIHRoZSBtZW51LWljb24gb3IgdGhlIG5hdmljb25cbi8vICR3aWR0aCAtIFdpZHRoIG9mIGhhbWJ1cmdlciBpY29uIGluIHJlbVxuLy8gJGxlZnQgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIGhvcml6b250YWxseSB8fCBleHBsaWNpdGx5IHNldCB2YWx1ZSBpbiByZW1cbi8vICR0b3AgLSBJZiBmYWxzZSwgaWNvbiB3aWxsIGJlIGNlbnRlcmVkIHZlcnRpY2FsbHkgfHwgZXhwbGljaXRseSBzZXQgdmFsdWUgaW4gcmVtXG4vLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHhcbi8vICRjb2xvciAtIGljb24gY29sb3Jcbi8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3IgZHVyaW5nIGhvdmVyXG4vLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWUgb2YgQGluY2x1ZGUgaW4gb2ZmY2FudmFzXG5AbWl4aW4gaGFtYnVyZ2VyKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yLCAkb2ZmY2FudmFzKSB7XG4gIHNwYW46OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICBAaWYgJG9mZmNhbnZhcyB7XG4gICAgICBAaWYgJHRvcCB7XG4gICAgICAgIHRvcDogJHRvcDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJHdpZHRoLzIpO1xuICAgICAgfVxuICAgICAgQGlmICRsZWZ0IHtcbiAgICAgICAgbGVmdDogJGxlZnQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6ICgkdGFiYmFyLW1lbnUtaWNvbi13aWR0aCAtICR3aWR0aCkvMjtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLXRvcDogLSgkd2lkdGgvMik7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6XG4gICAgICAwIDAgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgJGdhcCArICR0aGlja25lc3MgMCAkdGhpY2tuZXNzICRjb2xvcixcbiAgICAgIDAgKDIgKiAkZ2FwICsgMiokdGhpY2tuZXNzKSAwICR0aGlja25lc3MgJGNvbG9yO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gIH1cbiAgc3Bhbjpob3ZlcjphZnRlciB7XG4gICAgYm94LXNoYWRvdzpcbiAgICAgIDAgMCAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAkZ2FwICsgJHRoaWNrbmVzcyAwICR0aGlja25lc3MgJGhvdmVyLWNvbG9yLFxuICAgICAgMCAoMiAqICRnYXAgKyAyKiR0aGlja25lc3MpIDAgJHRoaWNrbmVzcyAkaG92ZXItY29sb3I7XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gZG8gY2xlYXIgZmxvYXRzXG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOmJlZm9yZSwgJjphZnRlciB7IGNvbnRlbnQ6IFwiIFwiOyBkaXNwbGF5OiB0YWJsZTsgfVxuICAmOmFmdGVyIHsgY2xlYXI6IGJvdGg7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBhIGdsb3dpbmcgZWZmZWN0IHRvIGJsb2NrIGVsZW1lbnRzXG4vLyAkc2VsZWN0b3IgLSBVc2VkIGZvciBzZWxlY3RvciBzdGF0ZS4gRGVmYXVsdDogZm9jdXMsIE9wdGlvbnM6IGhvdmVyLCBhY3RpdmUsIHZpc2l0ZWRcbi8vICRmYWRlLXRpbWUgLSBEZWZhdWx0OiAzMDBtc1xuLy8gJGdsb3dpbmctZWZmZWN0LWNvbG9yIC0gRGVmYXVsdDogZmFkZS1vdXQoJHByaW1hcnktY29sb3IsIC4yNSlcbkBtaXhpbiBibG9jay1nbG93aW5nLWVmZmVjdCgkc2VsZWN0b3I6Zm9jdXMsICRmYWRlLXRpbWU6MzAwbXMsICRnbG93aW5nLWVmZmVjdC1jb2xvcjpmYWRlLW91dCgkcHJpbWFyeS1jb2xvciwgLjI1KSkge1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93ICRmYWRlLXRpbWUsIGJvcmRlci1jb2xvciAkZmFkZS10aW1lIGVhc2UtaW4tb3V0O1xuXG4gICY6I3skc2VsZWN0b3J9IHtcbiAgICBib3JkZXItY29sb3I6ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgICBib3gtc2hhZG93OiAwIDAgNXB4ICRnbG93aW5nLWVmZmVjdC1jb2xvcjtcbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gdHJhbnNsYXRlIGVsZW1lbnRzIGluIDJEXG4vLyAkaG9yaXpvbnRhbDogRGVmYXVsdDogMFxuLy8gJHZlcnRpY2FsOiBEZWZhdWx0OiAwXG5AbWl4aW4gdHJhbnNsYXRlMmQoJGhvcml6b250YWw6MCwgJHZlcnRpY2FsOjApIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJGhvcml6b250YWwsICR2ZXJ0aWNhbClcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgYWNjZXNzaWJsZS5cbi8vIEBzZWUgaHR0cDovL3Nub29rLmNhL2FyY2hpdmVzL2h0bWxfYW5kX2Nzcy9oaWRpbmctY29udGVudC1mb3ItYWNjZXNzaWJpbGl0eVxuQG1peGluIGVsZW1lbnQtaW52aXNpYmxlIHtcbiAgY2xpcDogcmVjdCgxcHgsIDFweCwgMXB4LCAxcHgpO1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBUdXJucyBvZmYgdGhlIGVsZW1lbnQtaW52aXNpYmxlIGVmZmVjdC5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4kd2hpdGUgICAgICAgICA6ICNGRkZGRkYgIWRlZmF1bHQ7XG4kZ2hvc3QgICAgICAgICA6ICNGQUZBRkEgIWRlZmF1bHQ7XG4kc25vdyAgICAgICAgICA6ICNGOUY5RjkgIWRlZmF1bHQ7XG4kdmFwb3IgICAgICAgICA6ICNGNkY2RjYgIWRlZmF1bHQ7XG4kd2hpdGUtc21va2UgICA6ICNGNUY1RjUgIWRlZmF1bHQ7XG4kc2lsdmVyICAgICAgICA6ICNFRkVGRUYgIWRlZmF1bHQ7XG4kc21va2UgICAgICAgICA6ICNFRUVFRUUgIWRlZmF1bHQ7XG4kZ2FpbnNib3JvICAgICA6ICNEREREREQgIWRlZmF1bHQ7XG4kaXJvbiAgICAgICAgICA6ICNDQ0NDQ0MgIWRlZmF1bHQ7XG4kYmFzZSAgICAgICAgICA6ICNBQUFBQUEgIWRlZmF1bHQ7XG4kYWx1bWludW0gICAgICA6ICM5OTk5OTkgIWRlZmF1bHQ7XG4kanVtYm8gICAgICAgICA6ICM4ODg4ODggIWRlZmF1bHQ7XG4kbW9uc29vbiAgICAgICA6ICM3Nzc3NzcgIWRlZmF1bHQ7XG4kc3RlZWwgICAgICAgICA6ICM2NjY2NjYgIWRlZmF1bHQ7XG4kY2hhcmNvYWwgICAgICA6ICM1NTU1NTUgIWRlZmF1bHQ7XG4kdHVhdGFyYSAgICAgICA6ICM0NDQ0NDQgIWRlZmF1bHQ7XG4kb2lsICAgICAgICAgICA6ICMzMzMzMzMgIWRlZmF1bHQ7XG4kamV0ICAgICAgICAgICA6ICMyMjIyMjIgIWRlZmF1bHQ7XG4kYmxhY2sgICAgICAgICA6ICMwMDAwMDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBhcyBkZWZhdWx0IGNvbG9ycyB0aHJvdWdob3V0XG4kcHJpbWFyeS1jb2xvcjogIzAwOENCQSAhZGVmYXVsdDsgICAvLyBib25kaS1ibHVlXG4kc2Vjb25kYXJ5LWNvbG9yOiAjZTdlN2U3ICFkZWZhdWx0OyAvLyB3aGl0ZS1saWxhY1xuJGFsZXJ0LWNvbG9yOiAjZjA0MTI0ICFkZWZhdWx0OyAgICAgLy8gY2lubmFiYXJcbiRzdWNjZXNzLWNvbG9yOiAjNDNBQzZBICFkZWZhdWx0OyAgIC8vIHNlYS1ncmVlblxuJHdhcm5pbmctY29sb3I6ICNmMDhhMjQgIWRlZmF1bHQ7ICAgLy8gY2Fycm90XG4kaW5mby1jb2xvcjogI2EwZDNlOCAhZGVmYXVsdDsgICAgICAvLyBjb3JuZmxvd2VyXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBkZWZpbmUgZGVmYXVsdCBmb250IHN0YWNrc1xuJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWY6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuJGZvbnQtZmFtaWx5LXNlcmlmOiBHZW9yZ2lhLCBDYW1icmlhLCBcIlRpbWVzIE5ldyBSb21hblwiLCBUaW1lcywgc2VyaWYgIWRlZmF1bHQ7XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gZGVmaW5lIGRlZmF1bHQgZm9udCB3ZWlnaHRzXG4kZm9udC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG4kZm9udC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmFyaW91cyBnbG9iYWwgc3R5bGVzXG4kYm9keS1iZzogI2ZmZiAhZGVmYXVsdDtcbiRib2R5LWZvbnQtY29sb3I6ICMyMjIgIWRlZmF1bHQ7XG4kYm9keS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LXNhbnMtc2VyaWYgIWRlZmF1bHQ7XG4kYm9keS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRib2R5LWZvbnQtc3R5bGU6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBmb250LXNtb290aGluZ1xuJGZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBkaXJlY3Rpb24gc2V0dGluZ3NcbiR0ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuJGRlZmF1bHQtZmxvYXQ6IGxlZnQgIWRlZmF1bHQ7XG4kb3Bwb3NpdGUtZGlyZWN0aW9uOiByaWdodCAhZGVmYXVsdDtcbkBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gbHRyIHtcbiAgJGRlZmF1bHQtZmxvYXQ6IGxlZnQ7XG4gICRvcHBvc2l0ZS1kaXJlY3Rpb246IHJpZ2h0O1xufSBAZWxzZSB7XG4gICRkZWZhdWx0LWZsb2F0OiByaWdodDtcbiAgJG9wcG9zaXRlLWRpcmVjdGlvbjogbGVmdDtcbn1cblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2Ugc3VyZSBib3JkZXIgcmFkaXVzIG1hdGNoZXMgdW5sZXNzIHdlIHdhbnQgaXQgZGlmZmVyZW50LlxuJGdsb2JhbC1yYWRpdXM6IDNweCAhZGVmYXVsdDtcbiRnbG9iYWwtcm91bmRlZDogMTAwMHB4ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBpbnNldCBzaGFkb3cgc2hpbnkgZWRnZXMgYW5kIGRlcHJlc3Npb25zLlxuJHNoaW55LWVkZ2Utc2l6ZTogMCAxcHggMCAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWNvbG9yOiByZ2JhKCNmZmYsIC41KSAhZGVmYXVsdDtcbiRzaGlueS1lZGdlLWFjdGl2ZS1jb2xvcjogcmdiYSgjMDAwLCAuMikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2hldGhlciBvciBub3QgQ1NTIGNsYXNzZXMgY29tZSB0aHJvdWdoIGluIHRoZSBnZW0gZmlsZXMuXG4kaW5jbHVkZS1odG1sLWNsYXNzZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1wcmludC1zdHlsZXM6IHRydWUgIWRlZmF1bHQ7XG4kaW5jbHVkZS1qcy1tZXRhLXN0eWxlczogdHJ1ZSAhZGVmYXVsdDsgLy8gV2FybmluZyEgTWV0YSBzdHlsZXMgYXJlIGEgZGVwZW5kYW5jeSBvZiB0aGUgSmF2YXNjcmlwdC5cbiRpbmNsdWRlLWh0bWwtZ2xvYmFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJGNvbHVtbi1ndXR0ZXI6IHJlbS1jYWxjKDMwKSAhZGVmYXVsdDtcblxuLy8gTWVkaWEgUXVlcnkgUmFuZ2VzXG4kc21hbGwtYnJlYWtwb2ludDogIGVtLWNhbGMoNjQwKSAgIWRlZmF1bHQ7XG4kbWVkaXVtLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTAyNCkgIWRlZmF1bHQ7XG4kbGFyZ2UtYnJlYWtwb2ludDogIGVtLWNhbGMoMTQ0MCkgIWRlZmF1bHQ7XG4keGxhcmdlLWJyZWFrcG9pbnQ6IGVtLWNhbGMoMTkyMCkgIWRlZmF1bHQ7XG5cbiRzbWFsbC1yYW5nZTogICAoMCwgJHNtYWxsLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJG1lZGl1bS1yYW5nZTogICgkc21hbGwtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkbWVkaXVtLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJGxhcmdlLXJhbmdlOiAgICgkbWVkaXVtLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCAkbGFyZ2UtYnJlYWtwb2ludCkgICFkZWZhdWx0O1xuJHhsYXJnZS1yYW5nZTogICgkbGFyZ2UtYnJlYWtwb2ludCAgKyBlbS1jYWxjKDEpLCAkeGxhcmdlLWJyZWFrcG9pbnQpICFkZWZhdWx0O1xuJHh4bGFyZ2UtcmFuZ2U6ICgkeGxhcmdlLWJyZWFrcG9pbnQgKyBlbS1jYWxjKDEpLCBlbS1jYWxjKDk5OTk5OTk5KSkgIWRlZmF1bHQ7XG5cbiRzY3JlZW46IFwib25seSBzY3JlZW5cIiAhZGVmYXVsdDtcblxuJGxhbmRzY2FwZTogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IGxhbmRzY2FwZSlcIiAhZGVmYXVsdDtcbiRwb3J0cmFpdDogXCIjeyRzY3JlZW59IGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KVwiICFkZWZhdWx0O1xuXG4kc21hbGwtdXA6ICRzY3JlZW4gIWRlZmF1bHQ7XG4kc21hbGwtb25seTogXCIjeyRzY3JlZW59IGFuZCAobWF4LXdpZHRoOiAje3VwcGVyLWJvdW5kKCRzbWFsbC1yYW5nZSl9KVwiICFkZWZhdWx0O1xuXG4kbWVkaXVtLXVwOiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbWVkaXVtLW9ubHk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSkgYW5kIChtYXgtd2lkdGg6I3t1cHBlci1ib3VuZCgkbWVkaXVtLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRsYXJnZS11cDogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4kbGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pIGFuZCAobWF4LXdpZHRoOiN7dXBwZXItYm91bmQoJGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiR4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcbiR4bGFyZ2Utb25seTogXCIjeyRzY3JlZW59IGFuZCAobWluLXdpZHRoOiN7bG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpfSlcIiAhZGVmYXVsdDtcblxuJHh4bGFyZ2UtdXA6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG4keHhsYXJnZS1vbmx5OiBcIiN7JHNjcmVlbn0gYW5kIChtaW4td2lkdGg6I3tsb3dlci1ib3VuZCgkeHhsYXJnZS1yYW5nZSl9KSBhbmQgKG1heC13aWR0aDoje3VwcGVyLWJvdW5kKCR4eGxhcmdlLXJhbmdlKX0pXCIgIWRlZmF1bHQ7XG5cbiRyZXRpbmE6IChcbiAgXCIjeyRzY3JlZW59IGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKVwiLFxuICBcIiN7JHNjcmVlbn0gYW5kIChtaW4tLW1vei1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpXCIsXG4gIFwiI3skc2NyZWVufSBhbmQgKC1vLW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIvMSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLWRldmljZS1waXhlbC1yYXRpbzogMilcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDE5MmRwaSlcIixcbiAgXCIjeyRzY3JlZW59IGFuZCAobWluLXJlc29sdXRpb246IDJkcHB4KVwiXG4pO1xuXG4vLyBMZWdhY3lcbiRzbWFsbDogJHNtYWxsLXVwO1xuJG1lZGl1bTogJG1lZGl1bS11cDtcbiRsYXJnZTogJGxhcmdlLXVwO1xuXG5cbi8vV2UgdXNlIHRoaXMgYXMgY3Vyc29ycyB2YWx1ZXMgZm9yIGVuYWJsaW5nIHRoZSBvcHRpb24gb2YgaGF2aW5nIGN1c3RvbSBjdXJzb3JzIGluIHRoZSB3aG9sZSBzaXRlJ3Mgc3R5bGVzaGVldFxuJGN1cnNvci1hdXRvLXZhbHVlOiBhdXRvICFkZWZhdWx0O1xuJGN1cnNvci1jcm9zc2hhaXItdmFsdWU6IGNyb3NzaGFpciAhZGVmYXVsdDtcbiRjdXJzb3ItZGVmYXVsdC12YWx1ZTogZGVmYXVsdCAhZGVmYXVsdDtcbiRjdXJzb3ItZGlzYWJsZWQtdmFsdWU6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuJGN1cnNvci1wb2ludGVyLXZhbHVlOiBwb2ludGVyICFkZWZhdWx0O1xuJGN1cnNvci1oZWxwLXZhbHVlOiBoZWxwICFkZWZhdWx0O1xuJGN1cnNvci10ZXh0LXZhbHVlOiB0ZXh0ICFkZWZhdWx0O1xuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJnbG9iYWxcIikge1xuXG4gIC8vIE1ldGEgc3R5bGVzIGFyZSBhIGRlcGVuZGFuY3kgb2YgdGhlIEphdmFzY3JpcHQuXG4gIC8vIFVzZWQgdG8gcHJvdmlkZSBtZWRpYSBxdWVyeSB2YWx1ZXMgZm9yIGphdmFzY3JpcHQgY29tcG9uZW50cy5cbiAgLy8gRm9yd2FyZCBzbGFzaCBwbGFjZWQgYXJvdW5kIGV2ZXJ5dGhpbmcgdG8gY29udmluY2UgUGhhbnRvbUpTIHRvIHJlYWQgdGhlIHZhbHVlLlxuXG4gIEBpZiAkaW5jbHVkZS1qcy1tZXRhLXN0eWxlcyB7XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tdmVyc2lvbiB7XG4gICAgICBmb250LWZhbWlseTogXCIvNS41LjMvXCI7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHNtYWxsLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRzbWFsbC1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXNtYWxsLW9ubHkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkc21hbGwtb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkc21hbGwtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbWVkaXVtLXVwKSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS1tZWRpdW0tb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRtZWRpdW0tb25seSkgKyBcIi9cIjtcbiAgICAgIHdpZHRoOiBsb3dlci1ib3VuZCgkbWVkaXVtLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Uge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkbGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJGxhcmdlLXJhbmdlKTtcbiAgICB9XG5cbiAgICBtZXRhLmZvdW5kYXRpb24tbXEtbGFyZ2Utb25seSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCRsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCRsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZSB7XG4gICAgICBmb250LWZhbWlseTogXCIvXCIgKyB1bnF1b3RlKCR4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHhsYXJnZS1yYW5nZSk7XG4gICAgfVxuXG4gICAgbWV0YS5mb3VuZGF0aW9uLW1xLXhsYXJnZS1vbmx5IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHhsYXJnZS1vbmx5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6IGxvd2VyLWJvdW5kKCR4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS14eGxhcmdlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIi9cIiArIHVucXVvdGUoJHh4bGFyZ2UtdXApICsgXCIvXCI7XG4gICAgICB3aWR0aDogbG93ZXItYm91bmQoJHh4bGFyZ2UtcmFuZ2UpO1xuICAgIH1cblxuICAgIG1ldGEuZm91bmRhdGlvbi1kYXRhLWF0dHJpYnV0ZS1uYW1lc3BhY2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICN7JG5hbWVzcGFjZX07XG4gICAgfVxuXG4gIH1cblxuICBAaWYgJGluY2x1ZGUtaHRtbC1nbG9iYWwtY2xhc3NlcyB7XG5cbiAgICAvLyBNdXN0IGJlIDEwMCUgZm9yIG9mZiBjYW52YXMgdG8gd29ya1xuICAgIGh0bWwsIGJvZHkgeyBoZWlnaHQ6IDEwMCU7IH1cblxuICAgIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICAgKixcbiAgICAqOmJlZm9yZSxcbiAgICAqOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgfVxuXG4gICAgaHRtbCxcbiAgICBib2R5IHsgZm9udC1zaXplOiAkYmFzZS1mb250LXNpemU7IH1cblxuICAgIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgICBib2R5IHtcbiAgICAgIGJhY2tncm91bmQ6ICRib2R5LWJnO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItYXV0by12YWx1ZTtcbiAgICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc3R5bGU6ICRib2R5LWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGJvZHktZm9udC13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogJGJhc2UtbGluZS1oZWlnaHQ7IC8vIFNldCB0byAkYmFzZS1saW5lLWhlaWdodCB0byB0YWtlIG9uIGJyb3dzZXIgZGVmYXVsdCBvZiAxNTAlXG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICBhOmhvdmVyIHsgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7IH1cblxuICAgIC8vIEdyaWQgRGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCU7IGhlaWdodDogYXV0bzsgfVxuXG4gICAgaW1nIHsgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG4gICAgI21hcF9jYW52YXMsXG4gICAgLm1hcF9jYW52YXMsXG4gICAgLm1xYS1kaXNwbGF5IHtcbiAgICAgIGltZyxcbiAgICAgIGVtYmVkLFxuICAgICAgb2JqZWN0IHsgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWlzY2VsbGFuZW91cyB1c2VmdWwgSFRNTCBjbGFzc2VzXG4gICAgLmxlZnQgeyBmbG9hdDogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgLnJpZ2h0IHsgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cbiAgICAuY2xlYXJmaXggeyBAaW5jbHVkZSBjbGVhcmZpeDsgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVyc1xuICAgIC5oaWRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gSGlkZSB2aXN1YWxseSBhbmQgZnJvbSBzY3JlZW4gcmVhZGVycywgYnV0IG1haW50YWluIGxheW91dFxuICAgIC5pbnZpc2libGUgeyB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuICAgIC8vIEZvbnQgc21vb3RoaW5nXG4gICAgLy8gQW50aWFsaWFzZWQgZm9udCBzbW9vdGhpbmcgd29ya3MgYmVzdCBmb3IgbGlnaHQgdGV4dCBvbiBhIGRhcmsgYmFja2dyb3VuZC5cbiAgICAvLyBBcHBseSB0byBzaW5nbGUgZWxlbWVudHMgaW5zdGVhZCBvZiBnbG9iYWxseSB0byBib2R5LlxuICAgIC8vIE5vdGUgdGhpcyBvbmx5IGFwcGxpZXMgdG8gd2Via2l0LWJhc2VkIGRlc2t0b3AgYnJvd3NlcnMgYW5kIEZpcmVmb3ggMjUgKGFuZCBsYXRlcikgb24gdGhlIE1hYy5cbiAgICAuYW50aWFsaWFzZWQgeyAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIC8vXG4gICAgLy8gR2xvYmFsIHJlc2V0cyBmb3IgZm9ybXNcbiAgICAvL1xuXG4gICAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gICAgdGV4dGFyZWEgeyBoZWlnaHQ6IGF1dG87IG1pbi1oZWlnaHQ6IDUwcHg7IH1cblxuICAgIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICAgIHNlbGVjdCB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIEFjY29yZGlvblxuLy9cbi8vIEFjY29yZGlvbnMgYXJlIGVsZW1lbnRzIHVzZWQgdG8gZXhwYW5kIGFuZCBjb2xsYXBzZSBjb250ZW50IHRoYXQgaXMgYnJva2VuXG4vLyBpbnRvIGxvZ2ljYWwgc2VjdGlvbnMsIG11Y2ggbGlrZSB0YWJzLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtYWNjb3JkaW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1iZy1jb2xvcjogI2VmZWZlZjtcbi8vICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvcjogc2NhbGUtY29sb3IoJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtMyUpO1xuLy8gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtY29sb3I6ICMyMjI7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogJGNvbHVtbi1ndXR0ZXIvMjtcbi8vICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I6ICNmZmY7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0ICdmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9hY2NvcmRpb24nO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1hY2NvcmRpb25cIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAkc2lsdmVyICFkZWZhdWx0O1xuJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC01JSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkYWNjb3JkaW9uLW5hdmlnYXRpb24tYmctY29sb3IsICRsaWdodG5lc3M6IC0zJSkgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjogJGpldCAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAoJGNvbHVtbi1ndXR0ZXIvMikgIWRlZmF1bHQ7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cblxuLy8gIE1peGluOiBhY2NvcmRpb24tY29udGFpbmVyKClcbi8vICBEZWNyaXB0aW9uOiBSZXNwb25zaWJsZSBmb3IgdGhlIGNvbnRhaW5lciBjb21wb25lbnQgb2YgYWNjb3JkaW9ucywgZ2VuZXJhdGluZyBzdHlsZXMgcmVsYXRpbmcgdG8gYSBtYXJnaW4gb2YgemVybyBhbmQgYSBjbGVhcmZpeFxuLy8gIEV4cGxpY2l0IERlcGVuZGVuY2llczogYSBjbGVhcmZpeCBtaXhpbiAqaXMqIGRlZmluZWQuXG4vLyAgSW1wbGljaXQgRGVwZW5kZW5jaWVzOiBOb25lXG5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyKCkge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLy8gIE1peGluOiBhY2NvcmRpb24tbmF2aWdhdGlvbiggJGJnLCAkaG92ZXItYmcsICRhY3RpdmUtYmcsICRwYWRkaW5nLCAkYWN0aXZlX2NsYXNzLCAgJGZvbnQtY29sb3IsICRmb250LXNpemUsICRmb250LWZhbWlseSkge1xuLy8gICAgQHBhcmFtcyAkYmctY29sb3I6IFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnRcbi8vICAgIEBwYXJhbXMgJGhvdmVyLWJnLWNvbG9yIFsgY29sb3Igb3Igc3RyaW5nIF06IFNwZWNpZnkgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBuYXZpZ2F0aW9uIGVsZW1lbnQgd2hlbiBob3ZlcmVkXG4vLyAgICBAcGFyYW1zICRhY3RpdmUtYmcgWyBjb2xvciBvciBzdHJpbmcgXTogU3BlY2lmeSB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG5hdmlnYXRpb24gZWxlbWVudCB3aGVuIGNsaWNrZWQgYW5kIG5vdCByZWxlYXNlZC5cbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBjbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlXG4vLyAgICBAcGFyYW1zICRmb250LWNvbG9yIFsgY29sb3Igb3Igc3RyaW5nIF06IENvbG9yIG9mIHRoZSBmb250IGZvciBhY2NvcmRpb25cbi8vICAgIEBwYXJhbXMgJGZvbnQtc2l6ZSBbIG51bWJlciBdOiBTcGVjaWZpeSB0aGUgZm9udC1zaXplIG9mIHRoZSB0ZXh0IGluc2lkZSB0aGUgbmF2aWdhdGlvbiBlbGVtZW50XG4vLyAgICBAcGFyYW1zICRmb250LWZhbWlseSBbIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBmb250IGZhbWlseSBmb3IgdGhlIHRleHQgb2YgdGhlIG5hdmlnYXRpb24gb2YgdGhlIGFjY29yaW9uXG4vLyAgICBAcGFyYW1zICRhY3RpdmUtZm9udCBbIGNvbG9yIG9yIHN0cmluZyBdOiBTcGVjaWZ5IHRoZSBmb250IGNvbG9yIGZvciB0aGUgbmF2aWdhdGlvbiBlbGVtZW50IHdoZW4gYWN0aXZlLlxuXG5AbWl4aW4gYWNjb3JkaW9uLW5hdmlnYXRpb24oICRiZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkaG92ZXItYmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvciwgJGFjdGl2ZS1iZzogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1iZy1jb2xvciwgJHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nLCAkYWN0aXZlX2NsYXNzOiAnYWN0aXZlJywgICRmb250LWNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvciwgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSwgJGZvbnQtZmFtaWx5OiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1mYW1pbHksICRhY3RpdmUtZm9udDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yICkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBAaWYgdHlwZS1vZigkYWN0aXZlX2NsYXNzKSAhPSBcInN0cmluZ1wiIHtcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoaXMgbmF2aWdhdGlvbiBjb21wb25lbnQuXCJcbiAgfVxuICBAZWxzZSB7XG4gICAgJi4jeyAkYWN0aXZlX2NsYXNzIH0gPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4gICAgICBjb2xvcjogJGFjdGl2ZS1mb250O1xuICAgIH1cbiAgfVxuICA+IGEge1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBjb2xvcjogJGZvbnQtY29sb3I7XG4gICAgQGlmIHR5cGUtb2YoJHBhZGRpbmcpICE9IG51bWJlciB7XG4gICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgd2FzIHJlYWQgYXMgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICAgIEBpZiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZyAhPSBudWxsIHtcbiAgICAgICAgQHdhcm4gXCIjeyRwYWRkaW5nfSB3YXMgcmVhZCBhcyBhICN7dHlwZS1vZigkcGFkZGluZyl9XCI7XG4gICAgICAgIEB3YXJuIFwiYCN7JHBhZGRpbmd9YCBpc24ndCBhIHZhbGlkIG51bWJlci4gJGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmcgKCN7JGFjY29yZGlvbi1uYXZpZ2F0aW9uLXBhZGRpbmd9KSB3aWxsIGJlIHVzZWQgaW5zdGVhZC4pXCI7XG4gICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIgYW5kICRhY2NvcmRpb24tbmF2aWdhdGlvbi1wYWRkaW5nIGlzIG1pc3NpbmcuIEEgdmFsdWUgb2YgYG51bGxgIGlzIHJldHVybmVkIHRvIG5vdCBvdXRwdXQgYW4gaW52YWxpZCB2YWx1ZSBmb3IgcGFkZGluZ1wiO1xuICAgICAgICBwYWRkaW5nOiBudWxsO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICB9XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6ICRmb250LWZhbWlseTtcbiAgICBAaWYgdHlwZS1vZigkZm9udC1zaXplKSAhPSBudW1iZXIge1xuICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgd2FzIHJlYWQgYXMgYSAje3R5cGUtb2YoJGZvbnQtc2l6ZSl9XCI7XG4gICAgICBAaWYgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSAhPSBudWxsIHtcbiAgICAgICAgQHdhcm4gXCJgI3skZm9udC1zaXplfWAgaXMgbm90IGEgdmFsaWQgbnVtYmVyLiBUaGUgdmFsdWUgb2YgJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZSB3aWxsIGJlIHVzZWQgaW5zdGVhZCAoI3skYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1zaXplfSkuXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgIH1cbiAgICAgIEBlbHNle1xuICAgICAgICBAd2FybiBcImAjeyRmb250LXNpemV9YCBpcyBub3QgYSB2YWxpZCBudW1iZXIgYW5kIHRoZSBkZWZhdWx0IHZhbHVlIG9mICRhY2NvcmRpb24tbmF2aWdhdGlvbi1mb250LXNpemUgaXMgbm90IGRlZmluZWQuIEEgdmFsdWUgb2YgYG51bGxgIHdpbGwgYmUgcmV0dXJuZWQgdG8gbm90IGdlbmVyYXRlIGFuIGludmFsaWQgdmFsdWUgZm9yIGZvbnQtc2l6ZS5cIjtcbiAgICAgICAgZm9udC1zaXplOiBudWxsO1xuXG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkaG92ZXItYmc7XG4gICAgfVxuICB9XG59XG5cbi8vICBNaXhpbjogYWNjb3JkaW9uLWNvbnRlbnQoJGJnLCAkcGFkZGluZywgJGFjdGl2ZS1jbGFzcylcbi8vICAgIEBwYXJhbXMgJHBhZGRpbmcgWyBudW1iZXIgXTogUGFkZGluZyBmb3IgdGhlIGNvbnRlbnQgb2YgdGhlIGNvbnRhaW5lclxuLy8gICAgQHBhcmFtcyAkYmcgWyBjb2xvciAgXTogQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGNvbnRlbnQgd2hlbiBpdCdzIHZpc2libGVcbi8vICAgIEBwYXJhbXMgJGFjdGl2ZV9jbGFzcyBbIHN0cmluZyBdOiBDbGFzcyBuYW1lIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBhY2NvcmRpb24gdGFiIHNob3VsZCBiZSB2aXNpYmxlLlxuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQoJGJnOiAkYWNjb3JkaW9uLWNvbnRlbnQtYWN0aXZlLWJnLWNvbG9yLCAkcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcsICRhY3RpdmVfY2xhc3M6ICdhY3RpdmUnKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIEBpZiB0eXBlLW9mKCRwYWRkaW5nKSAhPSBcIm51bWJlclwiIHtcbiAgICBAd2FybiBcIiN7JHBhZGRpbmd9IHdhcyByZWFkIGFzIGEgI3t0eXBlLW9mKCRwYWRkaW5nKX1cIjtcbiAgICBAaWYgJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmcgIT0gbnVsbCB7XG4gICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIuICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nIHVzZWQgaW5zdGVhZFwiO1xuICAgICAgcGFkZGluZzogJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc7XG4gICAgfSBAZWxzZSB7XG4gICAgICBAd2FybiBcImAjeyRwYWRkaW5nfWAgaXNuJ3QgYSB2YWxpZCBudW1iZXIgYW5kIHRoZSBkZWZhdWx0IHZhbHVlIG9mICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nIGlzIG5vdCBkZWZpbmVkLiBBIHZhbHVlIG9mIGBudWxsYCBpcyByZXR1cm5lZCB0byBub3Qgb3V0cHV0IGFuIGludmFsaWQgdmFsdWUgZm9yIHBhZGRpbmcuXCI7XG4gICAgICBwYWRkaW5nOiBudWxsO1xuICAgIH1cbiAgfSBAZWxzZSB7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gIH1cblxuICBAaWYgdHlwZS1vZigkYWN0aXZlX2NsYXNzKSAhPSBcInN0cmluZ1wiIHtcbiAgICBAd2FybiBcImAjeyRhY3RpdmVfY2xhc3N9YCBpc24ndCBhIHZhbGlkIHN0cmluZy4gQSB2YWxpZCBzdHJpbmcgaXMgbmVlZGVkIHRvIGNvcnJlY3RseSBiZSBpbnRlcnBvbGF0ZWQgYXMgYSBDU1MgY2xhc3MuIENTUyBjbGFzc2VzIGNhbm5vdCBzdGFydCB3aXRoIGEgbnVtYmVyIG9yIGNvbnNpc3Qgb2Ygb25seSBudW1iZXJzLiBDU1Mgd2lsbCBub3QgYmUgZ2VuZXJhdGVkIGZvciB0aGUgYWN0aXZlIHN0YXRlIG9mIHRoZSBjb250ZW50LiBcIlxuICB9XG4gIEBlbHNlIHtcbiAgICAmLiN7JGFjdGl2ZV9jbGFzc30ge1xuICAgICAgYmFja2dyb3VuZDogJGJnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJhY2NvcmRpb25cIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1hY2NvcmRpb24tY2xhc3NlcyB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIC5hY2NvcmRpb24tbmF2aWdhdGlvbiwgZGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICAmLmFjdGl2ZSA+IGEgeyBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOyBjb2xvcjogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yOyB9XG4gICAgICAgID4gYSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LWZhbWlseTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtZmFtaWx5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkYWNjb3JkaW9uLW5hdmlnYXRpb24tcGFkZGluZztcbiAgICAgICAgICAmOmhvdmVyIHsgYmFja2dyb3VuZDogJGFjY29yZGlvbi1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOyB9XG4gICAgICAgIH1cblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1hY3RpdmUtYmctY29sb3I7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIEFsZXJ0IEJveGVzXG4vL1xuLy8gQWxlcnRzIGFyZSBoYW5keSBlbGVtZW50cyB5b3UgY2FuIGRyb3AgaW50byBhIGZvcm0gb3IgaW5saW5lIG9uIGEgcGFnZSB0b1xuLy8gY29tbXVuaWNhdGUgc3VjY2Vzcywgd2FybmluZ3MsIGZhaWx1cmUgb3IganVzdCBpbmZvcm1hdGlvbi4gVGhleSdsbCBjb25mb3JtXG4vLyB0byAxMDAlIG9mIHRoZSBjb250YWluZXIgd2lkdGggeW91IHB1dCB0aGVtIGluLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFsZXJ0IHBhZGRpbmcuXG4vLyAkYWxlcnQtcGFkZGluZy10b3A6IHJlbS1jYWxjKDE0KTtcbi8vICRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ6ICRhbGVydC1wYWRkaW5nLXRvcDtcbi8vICRhbGVydC1wYWRkaW5nLW9wcG9zaXRlLWRpcmVjdGlvbjogJGFsZXJ0LXBhZGRpbmctdG9wICsgcmVtLWNhbGMoMTApO1xuLy8gJGFsZXJ0LXBhZGRpbmctYm90dG9tOiAkYWxlcnQtcGFkZGluZy10b3A7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRleHQgc3R5bGUuXG4vLyAkYWxlcnQtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRhbGVydC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRhbGVydC1mb250LWNvbG9yOiAjZmZmO1xuLy8gJGFsZXJ0LWZvbnQtY29sb3ItYWx0OiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtNjYlKTtcblxuLy8gV2UgdXNlIHRoaXMgZm9yIGNsb3NlIGhvdmVyIGVmZmVjdC5cbi8vICRhbGVydC1mdW5jdGlvbi1mYWN0b3I6IC0xNCU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJvcmRlciBzdHlsZXMuXG4vLyAkYWxlcnQtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRhbGVydC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRhbGVydC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAkYWxlcnQtZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRhbGVydC1ib3R0b20tbWFyZ2luOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uc1xuLy8gJGFsZXJ0LWNsb3NlLWNvbG9yOiAjMzMzO1xuLy8gJGFsZXJ0LWNsb3NlLXRvcDogNTAlO1xuLy8gJGFsZXJ0LWNsb3NlLXBvc2l0aW9uOiByZW0tY2FsYyg0KTtcbi8vICRhbGVydC1jbG9zZS1mb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbi8vICRhbGVydC1jbG9zZS1vcGFjaXR5OiAwLjM7XG4vLyAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjogMC41O1xuLy8gJGFsZXJ0LWNsb3NlLXBhZGRpbmc6IDlweCA2cHggNHB4O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXNcbi8vICRhbGVydC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvYWxlcnQtYm94ZXMnO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1hbGVydC1ib3hlc1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBBbGVydCBCb3ggVmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1hbGVydC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWxlcnQgcGFkZGluZy5cbiRhbGVydC1wYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctZGVmYXVsdC1mbG9hdDogJGFsZXJ0LXBhZGRpbmctdG9wICFkZWZhdWx0O1xuJGFsZXJ0LXBhZGRpbmctb3Bwb3NpdGUtZGlyZWN0aW9uOiAkYWxlcnQtcGFkZGluZy10b3AgKyByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kYWxlcnQtcGFkZGluZy1ib3R0b206ICRhbGVydC1wYWRkaW5nLXRvcCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZS5cbiRhbGVydC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRhbGVydC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRhbGVydC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kYWxlcnQtZm9udC1jb2xvci1hbHQ6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6IC02NiUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyBmb3IgY2xvc2UgaG92ZXIgZWZmZWN0LlxuJGFsZXJ0LWZ1bmN0aW9uLWZhY3RvcjogLTE0JSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRhbGVydC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGFsZXJ0LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGFsZXJ0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25zXG4kYWxlcnQtY2xvc2UtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtdG9wOiA1MCUgIWRlZmF1bHQ7XG4kYWxlcnQtY2xvc2UtcG9zaXRpb246IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHk6IC4zICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLW9wYWNpdHktaG92ZXI6IC41ICFkZWZhdWx0O1xuJGFsZXJ0LWNsb3NlLXBhZGRpbmc6IDAgNnB4IDRweCAhZGVmYXVsdDtcbiRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGJvcmRlciByYWRpdXNcbiRhbGVydC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4kYWxlcnQtdHJhbnNpdGlvbi1zcGVlZDogMzAwbXMgIWRlZmF1bHQ7XG4kYWxlcnQtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy9cbi8vIEFsZXJ0IE1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGEgZGVmYXVsdCBhbGVydCBiYXNlLlxuQG1peGluIGFsZXJ0LWJhc2Uge1xuICBib3JkZXItc3R5bGU6ICRhbGVydC1ib3JkZXItc3R5bGU7XG4gIGJvcmRlci13aWR0aDogJGFsZXJ0LWJvcmRlci13aWR0aDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGFsZXJ0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRhbGVydC1mb250LXdlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJGFsZXJ0LWJvdHRvbS1tYXJnaW47XG4gIHBhZGRpbmc6ICRhbGVydC1wYWRkaW5nLXRvcCAkYWxlcnQtcGFkZGluZy1vcHBvc2l0ZS1kaXJlY3Rpb24gJGFsZXJ0LXBhZGRpbmctYm90dG9tICRhbGVydC1wYWRkaW5nLWRlZmF1bHQtZmxvYXQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24ob3BhY2l0eSwgJGFsZXJ0LXRyYW5zaXRpb24tc3BlZWQsICRhbGVydC10cmFuc2l0aW9uLWVhc2UpXG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBhbGVydCBzdHlsZXNcbi8vXG4vLyAkYmcgLSBUaGUgYmFja2dyb3VuZCBvZiB0aGUgYWxlcnQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuQG1peGluIGFsZXJ0LXN0eWxlKCRiZzokcHJpbWFyeS1jb2xvcikge1xuXG4gIC8vIFRoaXMgZmluZHMgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgY29sb3IgYW5kIGJvcmRlciBjb21lIHRocm91Z2guXG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRhbGVydC1mdW5jdGlvbi1mYWN0b3IpO1xuXG4gIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgQGlmICRiZy1saWdodG5lc3MgPiA3MCUgeyBjb2xvcjogJGFsZXJ0LWZvbnQtY29sb3ItYWx0OyB9XG4gIEBlbHNlICAgICAgICAgICAgICAgICAgIHsgY29sb3I6ICRhbGVydC1mb250LWNvbG9yOyB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjbG9zZSBidXR0b24uXG5AbWl4aW4gYWxlcnQtY2xvc2Uge1xuICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYWxlcnQtY2xvc2UtcG9zaXRpb247XG4gIGJhY2tncm91bmQ6ICRhbGVydC1jbG9zZS1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFsZXJ0LWNsb3NlLWNvbG9yO1xuICBmb250LXNpemU6ICRhbGVydC1jbG9zZS1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAuOTtcbiAgbWFyZ2luLXRvcDogLSgkYWxlcnQtY2xvc2UtZm9udC1zaXplIC8gMik7XG4gIG9wYWNpdHk6ICRhbGVydC1jbG9zZS1vcGFjaXR5O1xuICBwYWRkaW5nOiAkYWxlcnQtY2xvc2UtcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6ICRhbGVydC1jbG9zZS10b3A7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMgeyBvcGFjaXR5OiAkYWxlcnQtY2xvc2Utb3BhY2l0eS1ob3ZlcjsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyB0byBxdWlja2x5IGNyZWF0ZSBhbGVydHMgd2l0aCBhIHNpbmdsZSBtaXhpbi5cbi8vXG4vLyAkYmcgLSBCYWNrZ3JvdW5kIG9mIGFsZXJ0LiBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvci5cbi8vICRyYWRpdXMgLSBSYWRpdXMgb2YgYWxlcnQgYm94LiBEZWZhdWx0OiBmYWxzZS5cbkBtaXhpbiBhbGVydCgkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcbiAgQGluY2x1ZGUgYWxlcnQtYmFzZTtcbiAgQGluY2x1ZGUgYWxlcnQtc3R5bGUoJGJnKTtcbiAgQGluY2x1ZGUgcmFkaXVzKCRyYWRpdXMpO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYWxlcnQtYm94XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYWxlcnQtY2xhc3NlcyB7XG4gICAgLmFsZXJ0LWJveCB7XG4gICAgICBAaW5jbHVkZSBhbGVydDtcblxuICAgICAgLmNsb3NlICAgICAgeyBAaW5jbHVkZSBhbGVydC1jbG9zZTsgfVxuXG4gICAgICAmLnJhZGl1cyAgICB7IEBpbmNsdWRlIHJhZGl1cygkYWxlcnQtcmFkaXVzKTsgfVxuICAgICAgJi5yb3VuZCAgICAgeyBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yb3VuZGVkKTsgfVxuXG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkYWxlcnQtY29sb3IpOyB9XG4gICAgICAmLnNlY29uZGFyeSB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAmLndhcm5pbmcgeyBAaW5jbHVkZSBhbGVydC1zdHlsZSgkd2FybmluZy1jb2xvcik7IH1cbiAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGFsZXJ0LXN0eWxlKCRpbmZvLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydC1jbG9zZSB7IG9wYWNpdHk6IDB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBCbG9jayBHcmlkXG4vL1xuLy8gQmxvY2sgZ3JpZHMgZ2l2ZSB5b3UgYSB3YXkgdG8gZXZlbmx5IHNwbGl0IGNvbnRlbnRzIG9mIGEgbGlzdCB3aXRoaW4gdGhlXG4vLyBncmlkLiBJZiB5b3Ugd2FudGVkIHRvIGNyZWF0ZSBhIHJvdyBvZiBmaXZlIGltYWdlcyBvciBwYXJhZ3JhcGhzIHRoYXQgbmVlZFxuLy8gdG8gc3RheSBldmVubHkgc3BhY2VkIG5vIG1hdHRlciB0aGUgc2NyZWVuIHNpemUsIHRoZSBibG9jayBncmlkIGlzIGZvciB5b3UuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1ncmlkLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbWF4aW11bSBudW1iZXIgb2YgYmxvY2sgZ3JpZCBlbGVtZW50cyBwZXIgcm93XG4vLyAkYmxvY2stZ3JpZC1lbGVtZW50czogMTI7XG4vLyAkYmxvY2stZ3JpZC1kZWZhdWx0LXNwYWNpbmc6IHJlbS1jYWxjKDIwKTtcblxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nXG4vLyBzZW1hbnRpYyBIVE1MLlxuLy8gJGJsb2NrLWdyaWQtbWVkaWEtcXVlcmllczogdHJ1ZTtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9ibG9jay1ncmlkXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLWJsb2NrLWdyaWRcIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWJsb2NrLWdyaWQtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUteGwtaHRtbC1ibG9jay1ncmlkLWNsYXNzZXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBtYXhpbXVtIG51bWJlciBvZiBibG9jayBncmlkIGVsZW1lbnRzIHBlciByb3dcbiRibG9jay1ncmlkLWVsZW1lbnRzOiAxMiAhZGVmYXVsdDtcbiRibG9jay1ncmlkLWRlZmF1bHQtc3BhY2luZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4kYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkOiBmYWxzZSAhZGVmYXVsdDtcbkBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nOiAkY29sdW1uLWd1dHRlcjtcbn1cblxuLy8gRW5hYmxlcyBtZWRpYSBxdWVyaWVzIGZvciBibG9jay1ncmlkIGNsYXNzZXMuIFNldCB0byBmYWxzZSBpZiB3cml0aW5nIHNlbWFudGljIEhUTUwuXG4kYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzOiB0cnVlICFkZWZhdWx0O1xuXG4vL1xuLy8gQmxvY2sgR3JpZCBNaXhpbnNcbi8vXG5cbi8vIENyZWF0ZSBhIGN1c3RvbSBibG9jayBncmlkXG4vL1xuLy8gJHBlci1yb3cgLSAjIG9mIGl0ZW1zIHRvIGRpc3BsYXkgcGVyIHJvdy4gRGVmYXVsdDogZmFsc2UuXG4vLyAkc3BhY2luZyAtICMgb2YgZW1zIHRvIHVzZSBhcyBwYWRkaW5nIG9uIGVhY2ggYmxvY2sgaXRlbS4gRGVmYXVsdDogcmVtLWNhbGMoMjApLlxuLy8gJGluY2x1ZGUtc3BhY2luZyAtIEFkZHMgcGFkZGluZyB0byBvdXIgbGlzdCBpdGVtLiBEZWZhdWx0OiB0cnVlLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBhIGJhc2Ugc3R5bGUgdG8gYmxvY2sgZ3JpZC4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBibG9jay1ncmlkKFxuICAkcGVyLXJvdzpmYWxzZSxcbiAgJHNwYWNpbmc6JGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLFxuICAkaW5jbHVkZS1zcGFjaW5nOnRydWUsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgQGlmICRhbGlnbi1ibG9jay1ncmlkLXRvLWdyaWQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH0gQGVsc2Uge1xuICAgICAgbWFyZ2luOiAwICgtJHNwYWNpbmcvMik7XG4gICAgfVxuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIEBpZiAkaW5jbHVkZS1zcGFjaW5nIHtcbiAgICAgICAgcGFkZGluZzogMCAoJHNwYWNpbmcvMikgJHNwYWNpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwZXItcm93IHtcbiAgICA+IGxpIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBAaWYgJGluY2x1ZGUtc3BhY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgKCRzcGFjaW5nLzIpICRzcGFjaW5nO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDEwMCUvJHBlci1yb3c7XG5cbiAgICAgICY6bnRoLW9mLXR5cGUoMW4pIHsgY2xlYXI6IG5vbmU7IH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uKzEpIHsgY2xlYXI6IGJvdGg7IH1cbiAgICAgIEBpZiAkYWxpZ24tYmxvY2stZ3JpZC10by1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1hbGlnbmVkKCRwZXItcm93LCAkc3BhY2luZyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBibG9jay1ncmlkLWFsaWduZWQoJHBlci1yb3csICRzcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIEBpZiAkcGVyLXJvdyA+PSAkaSB7XG4gICAgICAkZ3JpZC1jb2x1bW46ICcrJyArICRpO1xuICAgICAgQGlmICRwZXItcm93ID09ICRpIHtcbiAgICAgICAgJGdyaWQtY29sdW1uOiAnJztcbiAgICAgIH1cbiAgICAgICY6bnRoLW9mLXR5cGUoI3skcGVyLXJvd31uI3t1bnF1b3RlKCRncmlkLWNvbHVtbil9KSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogKCRzcGFjaW5nIC0gKCgkc3BhY2luZyAvICRwZXItcm93KSAqICgkcGVyLXJvdyAtICgkaSAtIDEpKSkpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAoJHNwYWNpbmcgLSAoKCRzcGFjaW5nIC8gJHBlci1yb3cpICogJGkpKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gR2VuZXJhdGUgcHJlc2VudGF0aW9uYWwgbWFya3VwIGZvciBibG9jayBncmlkLlxuLy9cbi8vICRzaXplIC0gTmFtZSBvZiBjbGFzcyB0byB1c2UsIGkuZS4gXCJsYXJnZVwiIHdpbGwgZ2VuZXJhdGUgLmxhcmdlLWJsb2NrLWdyaWQtMSwgLmxhcmdlLWJsb2NrLWdyaWQtMiwgZXRjLlxuQG1peGluIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplLCAkaW5jbHVkZS1zcGFjaW5nKSB7XG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtZWxlbWVudHMge1xuICAgIC4jeyRzaXplfS1ibG9jay1ncmlkLSN7KCRpKX0ge1xuICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZCgkaSwgJGJsb2NrLWdyaWQtZGVmYXVsdC1zcGFjaW5nLCAkaW5jbHVkZS1zcGFjaW5nLCBmYWxzZSk7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJibG9jay1ncmlkXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcblxuICAgIFtjbGFzcyo9XCJibG9jay1ncmlkLVwiXSB7IEBpbmNsdWRlIGJsb2NrLWdyaWQ7IH1cblxuICAgIEBpZiAkYmxvY2stZ3JpZC1tZWRpYS1xdWVyaWVzIHtcbiAgICAgIEBtZWRpYSAjeyRzbWFsbC11cH0ge1xuICAgICAgICBAaW5jbHVkZSBibG9jay1ncmlkLWh0bWwtY2xhc3Nlcygkc2l6ZTpzbWFsbCwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgQGluY2x1ZGUgYmxvY2stZ3JpZC1odG1sLWNsYXNzZXMoJHNpemU6bWVkaXVtLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOmxhcmdlLCAkaW5jbHVkZS1zcGFjaW5nOmZhbHNlKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRpbmNsdWRlLXhsLWh0bWwtYmxvY2stZ3JpZC1jbGFzc2VzIHtcbiAgICAgICAgQG1lZGlhICN7JHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnhsYXJnZSwgJGluY2x1ZGUtc3BhY2luZzpmYWxzZSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgI3skeHhsYXJnZS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJsb2NrLWdyaWQtaHRtbC1jbGFzc2VzKCRzaXplOnh4bGFyZ2UsICRpbmNsdWRlLXNwYWNpbmc6ZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBCcmVhZGNydW1ic1xuLy9cbi8vIEJyZWFkY3J1bWJzIGNvbWUgaW4gaGFuZHkgdG8gc2hvdyBhIG5hdmlnYXRpb24gdHJhaWwgZm9yIHVzZXJzIGNsaWNraW5nXG4vLyB0aHJvdWdoIGEgc2l0ZSBvciBhcHAuIFRoZXknbGwgZmlsbCBvdXQgMTAwJSBvZiB0aGUgd2lkdGggb2YgdGhlaXIgcGFyZW50XG4vLyBjb250YWluZXIuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlcyAtIFRoZXNlIHZhcmlhYmxlcyBhcmUgbGlzdGVkIGhlcmUgZm9yIHJlZmVyZW5jZSBvbmx5LiBUaGV5IGFyZVxuLy8gY2hhbmdlZCBpbiB0aGUgX3NldHRpbmdzLnNjc3MgZmlsZSBhcyB0byBiZSBnbG9iYWwgdmFyaWFibGVzLlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAkY3J1bWItYmc6ICMxRjFGMUY7XG4vLyAkY3J1bWItYm9yZGVyLXNpemU6IDA7XG4vLyAkY3J1bWItcmFkaXVzOiAwO1xuLy8gJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuLy8gJGNydW1iLWZvbnQtY29sb3I6ICNmZmZjZmM7XG4vLyAkY3J1bWItc2xhc2g6IFwiPlwiO1xuLy8gJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogI2ZmZjtcbi8vICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAjOTk5OTk5O1xuLy8gJGNydW1iLWZvbnQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG5cblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9icmVhZGNydW1ic1wiO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTm90IHN1cmUgd2hhdCB0aGlzIGV4cG9ydCB3cmFwcGVyIGRvZXMgYnV0IGxlYXZlIGl0XG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1icmVhZGNydW1ic1wiKSB7XG5cbi8vIFN0YXJ0IEN1c3RvbSBzdHlsZXMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuXG4vLyBNYWtlIHZhbmlsbGEgYnJlYWRjcnVtYnMgYWN0IGxpa2UgZm91bmRhdGlvbiBicmVhZGNydW1ic1xuLkJyZWFkY3J1bWJzIHtcbiAgICBAZXh0ZW5kIC5icmVhZGNydW1icztcbn1cbi5CcmVhZGNydW1icyAuQ3J1bWIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuXG4vLyBTZXR1cCB0aGUgYnJlYWRjcnVtYiBjb250YWluZXJcbi5icmVhZGNydW1iLWNvbnRhaW5lcntcblx0QGV4dGVuZCAucm93O1xuICBwYWRkaW5nOiByZW0tY2FsYygzMCAwKTtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDIwKTtcbiAgfVxuICAuYnJlYWRjcnVtYnMgbGkgYSxcbiAgLmJyZWFkY3J1bWJzID4gKjpiZWZvcmUsXG4gIC5CcmVhZGNydW1icyA+ICo6YmVmb3Jle1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gIH1cbiAgLmJyZWFkY3J1bWJzIGxpe1xuICAgIGF7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICY6aG92ZXIgYXtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gIH1cblxufVxuXG5cblxuXG4vLyBFbmQgQ3VzdG9tIHN0eWxlcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQnJlYWRjcnVtYiBWYXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIGJyZWFkY3J1bWIgY29udGFpbmVyLlxuJGNydW1iLWJnOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA1NSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBwYWRkaW5nIGFyb3VuZCB0aGUgYnJlYWRjcnVtYnMuXG4kY3J1bWItcGFkZGluZzogcmVtLWNhbGMoOSAxNCA5KSAhZGVmYXVsdDtcbiRjcnVtYi1zaWRlLXBhZGRpbmc6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlcy5cbiRjcnVtYi1mdW5jdGlvbi1mYWN0b3I6IC0xMCUgIWRlZmF1bHQ7XG4kY3J1bWItYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjcnVtYi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGNydW1iLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGNydW1iLWJnLCAkbGlnaHRuZXNzOiAkY3J1bWItZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRjcnVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHZhcmlvdXMgdGV4dCBzdHlsZXMgZm9yIGJyZWFkY3J1bWJzLlxuJGNydW1iLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDogJG9pbCAhZGVmYXVsdDtcbiRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kY3J1bWItZm9udC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRjcnVtYi1saW5rLWRlY29yOiB1bmRlcmxpbmUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWJzXG4kY3J1bWItc2xhc2gtY29sb3I6ICRiYXNlICFkZWZhdWx0O1xuJGNydW1iLXNsYXNoOiBcIi9cIiAhZGVmYXVsdDtcbiRjcnVtYi1zbGFzaC1wb3NpdGlvbjogMXB4ICFkZWZhdWx0O1xuXG4vL1xuLy8gQnJlYWRjcnVtYiBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGNvbnRhaW5lciBhcm91bmQgb3VyIGJyZWFkY3J1bWJzXG5AbWl4aW4gY3J1bWItY29udGFpbmVyIHtcbiAgYm9yZGVyLXN0eWxlOiAkY3J1bWItYm9yZGVyLXN0eWxlO1xuICBib3JkZXItd2lkdGg6ICRjcnVtYi1ib3JkZXItc2l6ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogJGNydW1iLXBhZGRpbmc7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBib3JkZXIgY29tZSB0aHJvdWdoLlxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkY3J1bWItYmc7XG4gIGJvcmRlci1jb2xvcjogJGNydW1iLWJvcmRlci1jb2xvcjtcbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGJyZWFkY3J1bWIgc3R5bGVzIGZyb20gbGlzdCBpdGVtcy5cbkBtaXhpbiBjcnVtYnMge1xuXG4gIC8vIEEgbm9ybWFsIHN0YXRlIHdpbGwgbWFrZSB0aGUgbGlua3MgbG9vayBhbmQgYWN0IGxpa2UgY2xpY2thYmxlIGJyZWFkY3J1bWJzLlxuICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3I7XG4gIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgZm9udC1zaXplOiAkY3J1bWItZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJGNydW1iLWZvbnQtc2l6ZTtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogJGNydW1iLWZvbnQtdHJhbnNmb3JtO1xuXG4gICY6aG92ZXIgYSwgJjpmb2N1cyBhIHsgdGV4dC1kZWNvcmF0aW9uOiAkY3J1bWItbGluay1kZWNvcjsgfVxuXG4gIGEge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIEN1cnJlbnQgaXMgZm9yIHRoZSBsaW5rIG9mIHRoZSBjdXJyZW50IHBhZ2VcbiAgJi5jdXJyZW50IHtcbiAgICBjb2xvcjogJGNydW1iLWZvbnQtY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6ICRjdXJzb3ItZGVmYXVsdC12YWx1ZTtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci1jdXJyZW50O1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgfVxuXG4gICAgJjpob3ZlciwgJjpob3ZlciBhLFxuICAgICY6Zm9jdXMsICY6Zm9jdXMgYSB7IHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICB9XG5cbiAgLy8gVW5hdmFpbGFibGUgcmVtb3ZlZCBjb2xvciBhbmQgbGluayBzdHlsZXMgc28gaXQgbG9va3MgaW5hY3RpdmUuXG4gICYudW5hdmFpbGFibGUge1xuICAgIGNvbG9yOiAkY3J1bWItZm9udC1jb2xvci11bmF2YWlsYWJsZTtcbiAgICBhIHsgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlOyB9XG5cbiAgICAmOmhvdmVyLFxuICAgICY6aG92ZXIgYSxcbiAgICAmOmZvY3VzLFxuICAgIGE6Zm9jdXMge1xuICAgICAgY29sb3I6ICRjcnVtYi1mb250LWNvbG9yLXVuYXZhaWxhYmxlO1xuICAgICAgY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuXG4gICY6YmVmb3JlIHtcbiAgICBjb2xvcjogJGNydW1iLXNsYXNoLWNvbG9yO1xuICAgIGNvbnRlbnQ6IFwiI3skY3J1bWItc2xhc2h9XCI7XG4gICAgbWFyZ2luOiAwICRjcnVtYi1zaWRlLXBhZGRpbmc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogJGNydW1iLXNsYXNoLXBvc2l0aW9uO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIG1hcmdpbjogMDtcbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiYnJlYWRjcnVtYnNcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLmJyZWFkY3J1bWJzIHtcbiAgICAgIEBpbmNsdWRlIGNydW1iLWNvbnRhaW5lcjtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygkY3J1bWItcmFkaXVzKTtcblxuICAgICAgPiAqIHtcbiAgICAgICAgQGluY2x1ZGUgY3J1bWJzO1xuICAgICAgfVxuICAgIH1cbiAgICAvKiBBY2Nlc3NpYmlsaXR5IC0gaGlkZXMgdGhlIGZvcndhcmQgc2xhc2ggKi9cbiAgICBbYXJpYS1sYWJlbD1cImJyZWFkY3J1bWJzXCJdIFthcmlhLWhpZGRlbj1cInRydWVcIl06YWZ0ZXIge1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBCdXR0b24gR3JvdXBzXG4vL1xuLy8gQnV0dG9uIGdyb3VwcyBhcmUgY29udGFpbmVycyBmb3IgcmVsYXRlZCBhY3Rpb24gaXRlbXMuIFRoZXkncmUgZ3JlYXQgd2hlblxuLy8geW91IG5lZWQgdG8gZGlzcGxheSBhIGdyb3VwIG9mIGFjdGlvbnMgaW4gYSBiYXIuIFRoZXNlIGJ1aWxkIG9mZiB0aGUgYnV0dG9uXG4vLyBzdHlsZXMgYW5kIHdvcmsgcGVyZmVjdGx5IHdpdGggdGhlIGdyaWQuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBTZXRzIHRoZSBtYXJnaW4gZm9yIHRoZSByaWdodCBzaWRlIGJ5IGRlZmF1bHQsIGFuZCB0aGUgbGVmdCBtYXJnaW4gaWYgcmlnaHQtdG8tbGVmdCBkaXJlY3Rpb24gaXMgdXNlZFxuLy8gJGJ1dHRvbi1iYXItbWFyZ2luLW9wcG9zaXRlOiByZW0tY2FsYygxMCk7XG4vLyAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aDogMXB4O1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL2J1dHRvbi1ncm91cHNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtYnV0dG9uLWdyb3Vwc1wiKSB7XG5cbiAgLkJ1dHRvbkdyb3VwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQnV0dG9uIEdyb3VwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gU2V0cyB0aGUgbWFyZ2luIGZvciB0aGUgcmlnaHQgc2lkZSBieSBkZWZhdWx0LCBhbmQgdGhlIGxlZnQgbWFyZ2luIGlmIHJpZ2h0LXRvLWxlZnQgZGlyZWN0aW9uIGlzIHVzZWRcbiRidXR0b24tYmFyLW1hcmdpbi1vcHBvc2l0ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1ncm91cC1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcblxuLy9cbi8vIEJ1dHRvbiBHcm91cCBNaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lclxuQG1peGluIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczp0cnVlLCAkZmxvYXQ6ZmFsc2UpIHtcbiAgQGlmICRzdHlsZXMge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIEBpbmNsdWRlIGNsZWFyZml4KCk7XG4gIH1cbiAgQGlmICRmbG9hdCB7XG4gICAgZmxvYXQ6ICN7JGRlZmF1bHQtZmxvYXR9O1xuICAgIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkYnV0dG9uLWJhci1tYXJnaW4tb3Bwb3NpdGU7XG4gICAgJiBkaXYgeyBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBzdHlsZXMgZm9yIGJ1dHRvbiBncm91cHNcbkBtaXhpbiBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czpmYWxzZSwgJGV2ZW46ZmFsc2UsICRmbG9hdDpmYWxzZSwgJG9yaWVudGF0aW9uOmhvcml6b250YWwpIHtcblxuICA+IGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYnV0dG9uLWdyb3VwLWJvcmRlci13aWR0aCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgLjUpO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG4gIH1cblxuICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgJGJ1dHRvbi1ncm91cC1tYXJnaW46IDA7XG5cbiAgLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgZmxvdywgb3IgcmVtb3ZlIHRob3NlIHN0eWxlcyBjb21wbGV0ZWx5LlxuICBAaWYgJGZsb2F0IHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICAkYnV0dG9uLWdyb3VwLW1hcmdpbjogMDtcbiAgICBmbG9hdDogJGZsb2F0O1xuICAgIC8vIE1ha2Ugc3VyZSB0aGUgZmlyc3QgY2hpbGQgZG9lc24ndCBnZXQgdGhlIG5lZ2F0aXZlIG1hcmdpbi5cbiAgICAmOmZpcnN0LWNoaWxkIHsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwOyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICRidXR0b24tZ3JvdXAtZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwIC0ycHg7XG4gIH1cblxuICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAkYnV0dG9uLWdyb3VwLWRpc3BsYXk6IGJsb2NrO1xuICAgICRidXR0b24tZ3JvdXAtbWFyZ2luOiAwO1xuICAgID4gYnV0dG9uLCAuYnV0dG9uIHtcbiAgICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAuNSk7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICAgIGJvcmRlci10b3A6ICRidXR0b24tZ3JvdXAtYm9yZGVyLXdpZHRoIHNvbGlkO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgPiBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZGlzcGxheTogJGJ1dHRvbi1ncm91cC1kaXNwbGF5O1xuICBtYXJnaW46ICRidXR0b24tZ3JvdXAtbWFyZ2luO1xuXG5cbiAgLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgbGVmdCBhbmQgcmlnaHQgcmFkaXVzIG9uIGZpcnN0L2xhc3QgYnV0dG9ucyBpbiB0aGUgZ3JvdXAuXG4gIEBpZiAkcmFkaXVzID09IHRydWUge1xuICAgICYsXG4gICAgPiBhLFxuICAgID4gYnV0dG9uLFxuICAgID4gLmJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgfVxuICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGEsXG4gICAgJjpmaXJzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmZpcnN0LWNoaWxkID4gLmJ1dHRvbiB7XG4gICAgICBAaWYgJG9yaWVudGF0aW9uID09IHZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXModG9wLCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7XG4gICAgICB9XG4gICAgfVxuICAgICY6bGFzdC1jaGlsZCxcbiAgICAmOmxhc3QtY2hpbGQgPiBhLFxuICAgICY6bGFzdC1jaGlsZCA+IGJ1dHRvbixcbiAgICAmOmxhc3QtY2hpbGQgPiAuYnV0dG9uIHtcbiAgICAgIEBpZiAkb3JpZW50YXRpb24gPT0gdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBzaWRlLXJhZGl1cyhib3R0b20sICRidXR0b24tcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGJ1dHRvbi1yYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICAmLFxuICAgID4gYSxcbiAgICA+IGJ1dHRvbixcbiAgICA+IC5idXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IH1cbiAgICAmOmZpcnN0LWNoaWxkLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBhLFxuICAgICY6Zmlyc3QtY2hpbGQgPiBidXR0b24sXG4gICAgJjpmaXJzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKHRvcCwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjpsYXN0LWNoaWxkLFxuICAgICY6bGFzdC1jaGlsZCA+IGEsXG4gICAgJjpsYXN0LWNoaWxkID4gYnV0dG9uLFxuICAgICY6bGFzdC1jaGlsZCA+IC5idXR0b24ge1xuICAgICAgQGlmICRvcmllbnRhdGlvbiA9PSB2ZXJ0aWNhbCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKGJvdHRvbSwgJHJhZGl1cyk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRyYWRpdXMpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdlIHVzZSB0aGlzIHRvIG1ha2UgdGhlIGJ1dHRvbnMgZXZlbiB3aWR0aCBhY3Jvc3MgdGhlaXIgY29udGFpbmVyXG4gIEBpZiAkZXZlbiB7XG4gICAgd2lkdGg6IHBlcmNlbnRhZ2UoKDEwMC8kZXZlbikgLyAxMDApO1xuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7IHdpZHRoOiAxMDAlOyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvbi1ncm91cFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcbiAgICAuYnV0dG9uLWdyb3VwIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWNvbnRhaW5lcjtcblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCA4IHtcbiAgICAgICAgJi5ldmVuLSN7JGl9IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRldmVuOiRpLCAkZmxvYXQ6bnVsbCk7IH1cbiAgICAgIH1cblxuICAgICAgPiBsaSB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgpOyB9XG5cbiAgICAgICYuc3RhY2sge1xuICAgICAgICA+IGxpIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IGZsb2F0OiBub25lOyB9XG4gICAgICB9XG5cbiAgICAgICYuc3RhY2stZm9yLXNtYWxsIHtcbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjpob3Jpem9udGFsKTtcbiAgICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRmbG9hdDpudWxsKTsgfVxuICAgICAgJi5yYWRpdXMuc3RhY2sgPiAqIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0eWxlKCRyYWRpdXM6JGJ1dHRvbi1yYWRpdXMsICRmbG9hdDpudWxsLCAkb3JpZW50YXRpb246dmVydGljYWwpOyB9XG4gICAgICAmLnJhZGl1cy5zdGFjay1mb3Itc21hbGwgPiAqIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcmFkaXVzLCAkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJhZGl1cywgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJvdW5kID4gKiB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdHlsZSgkcmFkaXVzOiRidXR0b24tcm91bmQsICRmbG9hdDpudWxsKTsgfVxuICAgICAgJi5yb3VuZC5zdGFjayA+ICogeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJGZsb2F0Om51bGwsICRvcmllbnRhdGlvbjp2ZXJ0aWNhbCk7IH1cbiAgICAgICYucm91bmQuc3RhY2stZm9yLXNtYWxsID4gKiB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLXJvdW5kLCAkb3JpZW50YXRpb246aG9yaXpvbnRhbCk7XG4gICAgICAgIH1cbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3R5bGUoJHJhZGl1czokYnV0dG9uLW1lZCwgJG9yaWVudGF0aW9uOnZlcnRpY2FsKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tYmFyIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgLmJ1dHRvbi1ncm91cCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1jb250YWluZXIoJHN0eWxlczpmYWxzZSwgJGZsb2F0OnRydWUpOyB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGJ1aWxkIHBhZGRpbmcgZm9yIGJ1dHRvbnMuXG4kYnV0dG9uLXRueTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGJ1dHRvbi1zbWw6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRidXR0b24tbWVkOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYnV0dG9uLWxyZzogcmVtLWNhbGMoMTgpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkaXNwbGF5IHByb3BlcnR5LlxuJGJ1dHRvbi1kaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWRlZmF1bHQ7XG4kYnV0dG9uLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYnV0dG9uIHRleHQgc3R5bGVzLlxuJGJ1dHRvbi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRidXR0b24tZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtdG55OiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtc21sOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtbWVkOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtbHJnOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG4kYnV0dG9uLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGJ1dHRvbi1mb250LWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHZhcmlvdXMgaG92ZXIgZWZmZWN0cy5cbiRidXR0b24tZnVuY3Rpb24tZmFjdG9yOiAtMjAlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBidXR0b24gYm9yZGVyIHN0eWxlcy5cbiRidXR0b24tYm9yZGVyLXdpZHRoOiAwICFkZWZhdWx0O1xuJGJ1dHRvbi1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGJ1dHRvbi1iZy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYnV0dG9uLWJvcmRlci1jb2xvcjogJGJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzZWNvbmRhcnktY29sb3IsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcjogJHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kc3VjY2Vzcy1idXR0b24tYmctY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJHN1Y2Nlc3MtYnV0dG9uLWJvcmRlci1jb2xvcjogJHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJGFsZXJ0LWJ1dHRvbi1iZy1ob3Zlcjogc2NhbGUtY29sb3IoJGFsZXJ0LWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcjogJGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciAhZGVmYXVsdDtcbiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvcjogJHdhcm5pbmctY29sb3IgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR3YXJuaW5nLWNvbG9yLCAkbGlnaHRuZXNzOiAkYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcikgIWRlZmF1bHQ7XG4kd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yOiAkd2FybmluZy1idXR0b24tYmctaG92ZXIgIWRlZmF1bHQ7XG4kaW5mby1idXR0b24tYmctY29sb3I6ICRpbmZvLWNvbG9yICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkaW5mby1jb2xvciwgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGluZm8tYnV0dG9uLWJvcmRlci1jb2xvcjogJGluZm8tYnV0dG9uLWJnLWhvdmVyICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGRlZmF1bHQgcmFkaXVzIHVzZWQgdGhyb3VnaG91dCB0aGUgY29yZS5cbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRidXR0b24tcm91bmQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IGRlZmF1bHQgb3BhY2l0eSBhbmQgY3Vyc29yIGZvciBkaXNhYmxlZCBidXR0b25zLlxuJGJ1dHRvbi1kaXNhYmxlZC1vcGFjaXR5OiAuNyAhZGVmYXVsdDtcbiRidXR0b24tZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWUgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgYnV0dG9uIGJhc2UuXG4vL1xuLy8gJHN0eWxlIC0gU2V0cyBiYXNlIHN0eWxlcy4gQ2FuIGJlIHNldCB0byBmYWxzZS4gRGVmYXVsdDogdHJ1ZS5cbi8vICRkaXNwbGF5IC0gVXNlZCB0byBjb250cm9sIGRpc3BsYXkgcHJvcGVydHkuIERlZmF1bHQ6ICRidXR0b24tZGlzcGxheSB8fCBpbmxpbmUtYmxvY2tcblxuQG1peGluIGJ1dHRvbi1iYXNlKCRzdHlsZTp0cnVlLCAkZGlzcGxheTokYnV0dG9uLWRpc3BsYXkpIHtcbiAgQGlmICRzdHlsZSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgYm9yZGVyLXN0eWxlOiAkYnV0dG9uLWJvcmRlci1zdHlsZTtcbiAgICBib3JkZXItd2lkdGg6ICRidXR0b24tYm9yZGVyLXdpZHRoO1xuICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgIGZvbnQtZmFtaWx5OiAkYnV0dG9uLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkYnV0dG9uLWZvbnQtd2VpZ2h0O1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgbWFyZ2luOiAwIDAgJGJ1dHRvbi1tYXJnaW4tYm90dG9tO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiAkYnV0dG9uLWZvbnQtYWxpZ247XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG4gIEBpZiAkZGlzcGxheSB7IGRpc3BsYXk6ICRkaXNwbGF5OyB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBidXR0b24gc2l6ZSBzdHlsZXNcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkZnVsbC13aWR0aCAtIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aCAtIERlZmF1bHQ6IGZhbHNlXG5cbkBtaXhpbiBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLW1lZCwgJGZ1bGwtd2lkdGg6ZmFsc2UpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIHBhZGRpbmcgc3R5bGVzIGNvbWUgdGhyb3VnaCxcbiAgLy8gdGhlc2UgY2FuIGJlIHR1cm5lZCBvZmYgYnkgc2V0dGluZyAkcGFkZGluZzpmYWxzZVxuICBAaWYgJHBhZGRpbmcge1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nICgkcGFkZGluZyAqIDIpICgkcGFkZGluZyArIHJlbS1jYWxjKDEpKSAoJHBhZGRpbmcgKiAyKTtcbiAgICAvLyBXZSBjb250cm9sIHRoZSBmb250LXNpemUgYmFzZWQgb24gbWl4aW4gaW5wdXQuXG4gICAgQGlmICAgICAgJHBhZGRpbmcgPT0gJGJ1dHRvbi1tZWQgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1tZWQ7IH1cbiAgICBAZWxzZSBpZiAkcGFkZGluZyA9PSAkYnV0dG9uLXRueSB7IGZvbnQtc2l6ZTogJGJ1dHRvbi1mb250LXRueTsgfVxuICAgIEBlbHNlIGlmICRwYWRkaW5nID09ICRidXR0b24tc21sIHsgZm9udC1zaXplOiAkYnV0dG9uLWZvbnQtc21sOyB9XG4gICAgQGVsc2UgaWYgJHBhZGRpbmcgPT0gJGJ1dHRvbi1scmcgeyBmb250LXNpemU6ICRidXR0b24tZm9udC1scmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBzZXQgJGZ1bGwtd2lkdGg6dHJ1ZSB0byByZW1vdmUgc2lkZSBwYWRkaW5nIGV4dGVuZCB3aWR0aC5cbiAgQGlmICRmdWxsLXdpZHRoIHtcbiAgICAvLyBXZSBzdGlsbCBuZWVkIHRvIGNoZWNrIGlmICRwYWRkaW5nIGlzIHNldC5cbiAgICBAaWYgJHBhZGRpbmcge1xuICAgICAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nICsgcmVtLWNhbGMoMSk7XG4gICAgICBwYWRkaW5nLXRvcDogJHBhZGRpbmc7XG4gICAgfSBAZWxzZSBpZiAkcGFkZGluZyA9PSBmYWxzZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTowO1xuICAgICAgcGFkZGluZy10b3A6MDtcbiAgICB9XG4gICAgcGFkZGluZy1sZWZ0OiAkYnV0dG9uLW1lZDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnV0dG9uLW1lZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyB3ZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJ1dHRvbiBob3ZlciBhbmQgYm9yZGVyIGNvbG9yc1xuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgYnV0dG9uIGNvbG9yIHN0eWxlc1xuLy9cbi8vICRiZyAtIEJhY2tncm91bmQgY29sb3IuIFdlIGNhbiBzZXQgJGJnOmZhbHNlIGZvciBhIHRyYW5zcGFyZW50IGJhY2tncm91bmQuIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRidXR0b24tcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGRpc2FibGVkIC0gV2UgY2FuIHNldCAkZGlzYWJsZWQ6dHJ1ZSB0byBjcmVhdGUgYSBkaXNhYmxlZCB0cmFuc3BhcmVudCBidXR0b24uIERlZmF1bHQ6IGZhbHNlXG4vLyAkYmctaG92ZXIgLSBCdXR0b24gSG92ZXIgQmFja2dyb3VuZCBDb2xvci4gRGVmYXVsdDogJGJ1dHRvbi1iZy1ob3ZlclxuLy8gJGJvcmRlci1jb2xvciAtIEJ1dHRvbiBCb3JkZXIgQ29sb3IuIERlZmF1bHQ6ICRidXR0b24tYm9yZGVyLWNvbG9yXG5AbWl4aW4gYnV0dG9uLXN0eWxlKCRiZzokYnV0dG9uLWJnLWNvbG9yLCAkcmFkaXVzOmZhbHNlLCAkZGlzYWJsZWQ6ZmFsc2UsICRiZy1ob3ZlcjpudWxsLCAkYm9yZGVyLWNvbG9yOm51bGwpIHtcblxuICAvLyBXZSBjb250cm9sIHdoaWNoIGJhY2tncm91bmQgc3R5bGVzIGFyZSB1c2VkLFxuICAvLyB0aGVzZSBjYW4gYmUgcmVtb3ZlZCBieSBzZXR0aW5nICRiZzpmYWxzZVxuICBAaWYgJGJnIHtcblxuICAgIEBpZiAkYmctaG92ZXIgPT0gbnVsbCB7XG4gICAgICAkYmctaG92ZXI6IGlmKCRiZyA9PSAkYnV0dG9uLWJnLWNvbG9yLCAkYnV0dG9uLWJnLWhvdmVyLCBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRidXR0b24tZnVuY3Rpb24tZmFjdG9yKSk7XG4gICAgfVxuXG4gICAgQGlmICRib3JkZXItY29sb3IgPT0gbnVsbCB7XG4gICAgICAkYm9yZGVyLWNvbG9yOiBpZigkYmcgPT0gJGJ1dHRvbi1iZy1jb2xvciwgJGJ1dHRvbi1ib3JkZXItY29sb3IsIHNjYWxlLWNvbG9yKCRiZywgJGxpZ2h0bmVzczogJGJ1dHRvbi1mdW5jdGlvbi1mYWN0b3IpKTtcbiAgICB9XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgICRiZy1ob3Zlci1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmctaG92ZXIpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuICAgIGJvcmRlci1jb2xvcjogJGJvcmRlci1jb2xvcjtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmctaG92ZXI7IH1cblxuICAgIC8vIFdlIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgZm9yIHlvdSBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgICBjb2xvcjogaWYoJGJnLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBjb2xvcjogaWYoJGJnLWhvdmVyLWxpZ2h0bmVzcyA+IDcwJSwgJGJ1dHRvbi1mb250LWNvbG9yLWFsdCwgJGJ1dHRvbi1mb250LWNvbG9yKTtcbiAgICB9XG4gIH1cblxuICAvLyBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi5cbiAgQGlmICRkaXNhYmxlZCB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBjdXJzb3I6ICRidXR0b24tZGlzYWJsZWQtY3Vyc29yO1xuICAgIG9wYWNpdHk6ICRidXR0b24tZGlzYWJsZWQtb3BhY2l0eTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kLWNvbG9yOiAkYmc7IH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIGhvdyBtdWNoIGJ1dHRvbiByYWRpdXMgaXMgdXNlZC5cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkYnV0dG9uLXJhZGl1cyk7IH1cbiAgQGVsc2UgaWYgJHJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygkcmFkaXVzKTsgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIGJ1dHRvbnMgd2l0aCBhIHNpbmdsZSBtaXhpbi4gQXMgQGphcmVkaGFyZHkgcHV0cyBpdCwgXCJ0aGUga2l0Y2hlbiBzaW5rIG1peGluXCJcbi8vXG4vLyAkcGFkZGluZyAtIFVzZWQgdG8gYnVpbGQgcGFkZGluZyBmb3IgYnV0dG9ucyBEZWZhdWx0OiAkYnV0dG9uLW1lZCB8fD0gcmVtLWNhbGMoMTIpXG4vLyAkYmcgLSBQcmltYXJ5IGNvbG9yIHNldCBpbiBzZXR0aW5ncyBmaWxlLiBEZWZhdWx0OiAkYnV0dG9uLWJnLlxuLy8gJHJhZGl1cyAtIElmIHRydWUsIHNldCB0byBidXR0b24gcmFkaXVzIHdoaWNoIGlzICRnbG9iYWwtcmFkaXVzIHx8IGV4cGxpY2l0bHkgc2V0IHJhZGl1cyBhbW91bnQgaW4gcHggKGV4LiAkcmFkaXVzOjEwcHgpLiBEZWZhdWx0OmZhbHNlLlxuLy8gJGZ1bGwtd2lkdGggLSBXZSBjYW4gc2V0ICRmdWxsLXdpZHRoOnRydWUgdG8gcmVtb3ZlIHNpZGUgcGFkZGluZyBleHRlbmQgd2lkdGguIERlZmF1bHQ6ZmFsc2UuXG4vLyAkZGlzYWJsZWQgLSBXZSBjYW4gc2V0ICRkaXNhYmxlZDp0cnVlIHRvIGNyZWF0ZSBhIGRpc2FibGVkIHRyYW5zcGFyZW50IGJ1dHRvbi4gRGVmYXVsdDpmYWxzZS5cbi8vICRpcy1wcmVmaXggLSBOb3QgdXNlZD8gRGVmYXVsdDpmYWxzZS5cbi8vICRiZy1ob3ZlciAtIEJ1dHRvbiBIb3ZlciBDb2xvciAtIERlZmF1bHQgbnVsbCAtIHNlZSBidXR0b24tc3R5bGUgbWl4aW5cbi8vICRib3JkZXItY29sb3IgLSBCdXR0b24gQm9yZGVyIENvbG9yIC0gRGVmYXVsdCBudWxsIC0gc2VlIGJ1dHRvbi1zdHlsZSBtaXhpblxuLy8gJHRyYW5zaXRpb24gLSBXZSBjYW4gY29udHJvbCB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBiYWNrZ3JvdW5kLWNvbG9yIHRyYW5zaXRpb24gcHJvcGVydHkgLSBEZWZhdWx0OnRydWUuXG5AbWl4aW4gYnV0dG9uKCRwYWRkaW5nOiRidXR0b24tbWVkLCAkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJHJhZGl1czpmYWxzZSwgJGZ1bGwtd2lkdGg6ZmFsc2UsICRkaXNhYmxlZDpmYWxzZSwgJGlzLXByZWZpeDpmYWxzZSwgJGJnLWhvdmVyOm51bGwsICRib3JkZXItY29sb3I6bnVsbCwgJHRyYW5zaXRpb246IHRydWUpIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nLCAkZnVsbC13aWR0aCk7XG4gIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmcsICRyYWRpdXMsICRkaXNhYmxlZCwgJGJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yKTtcblxuICBAaWYgJHRyYW5zaXRpb24ge1xuICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG59XG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcImJ1dHRvblwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzIHtcblxuICAgIC8vIERlZmF1bHQgc3R5bGVzIGFwcGxpZWQgb3V0c2lkZSBvZiBtZWRpYSBxdWVyeVxuICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tYmFzZTtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zaXplO1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlO1xuXG4gICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yLCAkYmctaG92ZXI6JHNlY29uZGFyeS1idXR0b24tYmctaG92ZXIsICRib3JkZXItY29sb3I6JHNlY29uZGFyeS1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzdWNjZXNzLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRzdWNjZXNzLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokc3VjY2Vzcy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5hbGVydCAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1idXR0b24tYmctY29sb3IsICRiZy1ob3ZlcjokYWxlcnQtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRhbGVydC1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi53YXJuaW5nICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiR3YXJuaW5nLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiR3YXJuaW5nLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokd2FybmluZy1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRpbmZvLWJ1dHRvbi1iZy1jb2xvciwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuXG4gICAgICAmLmxhcmdlICB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRwYWRkaW5nOiRidXR0b24tbHJnKTsgfVxuICAgICAgJi5zbWFsbCAgeyBAaW5jbHVkZSBidXR0b24tc2l6ZSgkcGFkZGluZzokYnV0dG9uLXNtbCk7IH1cbiAgICAgICYudGlueSAgIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6JGJ1dHRvbi10bnkpOyB9XG4gICAgICAmLmV4cGFuZCB7IEBpbmNsdWRlIGJ1dHRvbi1zaXplKCRmdWxsLXdpZHRoOnRydWUpOyB9XG5cbiAgICAgICYubGVmdC1hbGlnbiAgeyB0ZXh0LWFsaWduOiBsZWZ0OyB0ZXh0LWluZGVudDogcmVtLWNhbGMoMTIpOyB9XG4gICAgICAmLnJpZ2h0LWFsaWduIHsgdGV4dC1hbGlnbjogcmlnaHQ7IHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEyKTsgfVxuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6ZmFsc2UsICRyYWRpdXM6dHJ1ZSk7IH1cbiAgICAgICYucm91bmQgIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzpmYWxzZSwgJHJhZGl1czokYnV0dG9uLXJvdW5kKTsgfVxuXG4gICAgICAmLmRpc2FibGVkLCAmW2Rpc2FibGVkXSB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGJ1dHRvbi1iZy1jb2xvciwgJGRpc2FibGVkOnRydWUsICRiZy1ob3ZlcjokYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRidXR0b24tYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRzZWNvbmRhcnktYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzZWNvbmRhcnktYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc3VjY2Vzcy1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHN1Y2Nlc3MtYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiRzdWNjZXNzLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JGFsZXJ0LWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokYWxlcnQtYnV0dG9uLWJvcmRlci1jb2xvcik7IH1cbiAgICAgICAgJi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1idXR0b24tYmctY29sb3IsICRkaXNhYmxlZDp0cnVlLCAkYmctaG92ZXI6JHdhcm5pbmctYnV0dG9uLWJnLWhvdmVyLCAkYm9yZGVyLWNvbG9yOiR3YXJuaW5nLWJ1dHRvbi1ib3JkZXItY29sb3IpOyB9XG4gICAgICAgICYuaW5mbyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGluZm8tYnV0dG9uLWJnLWNvbG9yLCAkZGlzYWJsZWQ6dHJ1ZSwgJGJnLWhvdmVyOiRpbmZvLWJ1dHRvbi1iZy1ob3ZlciwgJGJvcmRlci1jb2xvcjokaW5mby1idXR0b24tYm9yZGVyLWNvbG9yKTsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vZmlyZWZveCAycHggZml4XG4gICAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyIHtib3JkZXI6MDsgcGFkZGluZzowO31cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGJ1dHRvbiwgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1iYXNlKCRzdHlsZTpmYWxzZSwgJGRpc3BsYXk6aW5saW5lLWJsb2NrKTtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJHBhZGRpbmc6ZmFsc2UsICRmdWxsLXdpZHRoOmZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIEJ1dHRvbnNcbi8vXG4vLyBCdXR0b25zIGFyZSBjb252ZW5pZW50IHRvb2xzIHdoZW4geW91IG5lZWQgbW9yZSB0cmFkaXRpb25hbCBhY3Rpb25zLiBUbyB0aGF0XG4vLyBlbmQsIEZvdW5kYXRpb24gaGFzIG1hbnkgZWFzeSB0byB1c2UgYnV0dG9uIHN0eWxlcyB0aGF0IHlvdSBjYW4gY3VzdG9taXplIG9yXG4vLyBvdmVycmlkZSB0byBmaXQgeW91ciBuZWVkcy5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5cblxuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL2J1dHRvbnNcIjtcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE5vdCBzdXJlIHdoYXQgdGhpcyBleHBvcnQgd3JhcHBlciBkb2VzIGJ1dCBsZWF2ZSBpdFxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtYnV0dG9uc1wiKSB7XG5cbi8vIFN0YXJ0IEN1c3RvbSBzdHlsZXMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gTWFrZSB2YW5pbGxhIGJ1dHRvbnMgYWN0IGxpa2UgZm91bmRhdGlvbiBidXR0b25zXG4uQnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uO1xuICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICB0ZXh0LXNoYWRvdzogbm9uZTtcbn1cbi5CdXR0b24uQmlnQnV0dG9uIHtcbiAgQGluY2x1ZGUgYnV0dG9uLXNpemUoJGZ1bGwtd2lkdGg6IHRydWUpO1xufVxuXG4lbW9iaWxlLWJ0bntcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4lYnRue1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgYm9yZGVyOiAycHggc29saWQ7XG4gIGJvcmRlci1yYWRpdXM6IDAuMjVyZW07XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBib3gtc2hhZG93OiBub25lO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW0gMS4yNXJlbSAwLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xufVxuXG4vLyBPdXIgb3duIHN0eWxlcyBhcHBsaWVkIHRvIHRoZSBuZXctZGlzY3Vzc2lvbiBidXR0b25cbi5CdXR0b24uTmV3RGlzY3Vzc2lvbixcbi5CaWdCdXR0b24uTmV3Q29udmVyc2F0aW9uLFxuLkJpZ0J1dHRvbi5Qb3B1cCxcbi5CaWdCdXR0b24uQ2xlYXJDb252ZXJzYXRpb257XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gIG1hcmdpbjogcmVtLWNhbGMoMzApO1xuXHR3aWR0aDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYyg2MCl9KTtcbiAgQGV4dGVuZCAlbW9iaWxlLWJ0bjtcbn1cblxuLy8gR2VuZXJhbCBCdXR0b24gU3R5bGluZ1xuLkRhdGFMaXN0V3JhcCxcbi5Gb3JtV3JhcHBlcixcbi5BZGRQZW9wbGUsXG4uUG9wdXB7XG4gIC5CdXR0b25ze1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgLkJ1dHRvbntcbiAgICAgIEBleHRlbmQgJW1vYmlsZS1idG47XG4gICAgfVxuICB9XG59XG5cbi8vIFNpZGViYXIgSGFjayBmb3IgbWlzc2luZyBidXR0b24gY29udGFpbmVyXG5ib2R5LlNlY3Rpb24tQ29udmVyc2F0aW9uTGlzdC5pbmJveHtcbiAgLnBhZ2Utc2lkZWJhcntcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH17XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgfVxuICAgIEBtZWRpYSAjeyR4bGFyZ2UtdXB9e1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDQ1KTtcbiAgICB9XG4gICAgLmlzLWNvbnRlbnR7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMCk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvcm1XcmFwcGVyIEJ1dHRvbnNcbi5Gb3JtV3JhcHBlcntcbiAgLkJ1dHRvbnN7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhLlNpZ25JblBvcHVwLlN0YXNoe1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG4gICAgLkJ1dHRvbntcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9e1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1IDApO1xuICAgICAgfVxuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH17XG4gICAgICAgICYuRGlzY3Vzc2lvbkJ1dHRvbiwgJi5Db21tZW50QnV0dG9ue1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgICAgJi5QcmV2aWV3QnV0dG9uLCAmLldyaXRlQnV0dG9ue1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLkJhY2t7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYXtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgICAgc3BhbntcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gU2VjdGlvbiBEaXNjdXNzaW9uIEJ1dHRvbnNcbi5TZWN0aW9uLURpc2N1c3Npb257XG4gIC5Gb3JtV3JhcHBlcntcbiAgICAuQnV0dG9uc3tcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgIEBleHRlbmQgJW1vYmlsZS1idG47XG4gICAgfVxuICB9XG59XG5cbi8vIEFsaWduIEJ1dHRvbnNcbi5BY3Rpdml0eXtcbiAgLkNvbW1lbnRGb3JtIC5CdXR0b25ze1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuLy8gQWN0aXZpdHkgQ29tbWVudCBGb3JtIEJ1dHRvblxuLkFjdGl2aXR5e1xuICAuQ29tbWVudEZvcm17XG4gICAgLkJ1dHRvbnN7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAuQnV0dG9ue1xuICAgICAgICBAZXh0ZW5kICVidG47XG4gICAgICAgIEBleHRlbmQgJW1vYmlsZS1idG47XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYm9yZGVyOiAycHggc29saWQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gSW5ib3ggTmV3IE1lc3NhZ2UgQnV0dG9uc1xuQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgLkNvbnZlcnNhdGlvbnMuTWVzc2FnZXMuaW5ib3h7XG4gICAgLkJveEJ1dHRvbnMuQm94TmV3Q29udmVyc2F0aW9ue1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAuQnV0dG9uLk5ld0NvbnZlcnNhdGlvbntcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wYWdlLXNpZGViYXIgLkJ1dHRvbi5CaWdCdXR0b24uTmV3Q29udmVyc2F0aW9ue1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgLkNvbnZlcnNhdGlvbnMuTWVzc2FnZXMuSW5kZXh7XG4gICAgLnBhZ2Utc2lkZWJhcntcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAuQnV0dG9uLkJpZ0J1dHRvbntcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cblxuLy8gVXNlciBQcm9maWxlICYgc2lnbmluIHZpZXcgYnV0dG9uc1xuLlByb2ZpbGUuU2VjdGlvbi1FZGl0UHJvZmlsZSwgLnNpZ25pbntcbiAgLkJ1dHRvbnN7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICAuQnV0dG9ucywgcHtcbiAgICAuQnV0dG9ue1xuICAgICAgQGV4dGVuZCAlbW9iaWxlLWJ0bjtcbiAgICB9XG4gIH1cbn1cblxuLy8gRml4IEJ1dHRvbnMgc3BhY2luZyBvbiBzbWFsbCBkZXZpY2VzXG4uUHJvZmlsZXtcbiAgJi5wcmVmZXJlbmNlcywgJi5PbmxpbmVOb3csICYucXVvdGVze1xuICAgIC5CdXR0b25ze1xuICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9e1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUHJvZmlsZSBJZ25vcmUgQnV0dG9uXG4uUHJvZmlsZS5pZ25vcmV7XG4gIC5JZ25vcmVVc2VyQWN0aW9ue1xuICAgIC5JZ25vcmV7XG4gICAgICBAZXh0ZW5kICVtb2JpbGUtYnRuO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEaXNjdXNzaW9uIFBvbGxzIEJ1dHRvbnNcbiNEUF9BZGRPcHRpb257XG4gIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG59XG4uRFBfQW5zd2VyRm9ybXtcbiAgLkJ1dHRvbnN7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbn1cbiNEUF9SZW1vdmV7XG4gIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xufVxuXG5cbi8vIEVuZCBDdXN0b20gc3R5bGVzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbn1cbiIsIi8vXG4vLyAjIENsZWFyaW5nXG4vL1xuLy8gU2luY2Ugd2UgZGlkbid0IGludGVuZCBPcmJpdCB0byBoYW5kbGUgdmFyaWFibGUtaGVpZ2h0IGNvbnRlbnQsIHdlIGRlY2lkZWRcbi8vIHRvIGNyZWF0ZSBhIHBsdWdpbiB0aGF0IHdvdWxkLiBDbGVhcmluZyBtYWtlcyBpdCBlYXN5IHRvIGNyZWF0ZSByZXNwb25zaXZlXG4vLyBsaWdodGJveGVzIHdpdGggYW55IHNpemUgaW1hZ2UuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1jbGVhcmluZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGJhY2tncm91bmQgY29sb3JzIGZvciBwYXJ0cyBvZiBDbGVhcmluZy5cbi8vICRjbGVhcmluZy1iZzogIzMzMztcbi8vICRjbGVhcmluZy1jYXB0aW9uLWJnOiAkY2xlYXJpbmctYmc7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtYmc6IHJnYmEoNTEsNTEsNTEsMC44KTtcbi8vICRjbGVhcmluZy1pbWctYmc6ICRjbGVhcmluZy1iZztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBjbG9zZSBidXR0b25cbi8vICRjbGVhcmluZy1jbG9zZS1jb2xvcjogI2NjYztcbi8vICRjbGVhcmluZy1jbG9zZS1zaXplOiAzMHB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGFycm93c1xuLy8gJGNsZWFyaW5nLWFycm93LXNpemU6IDEycHg7XG4vLyAkY2xlYXJpbmctYXJyb3ctY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGNhcHRpb25zXG4vLyAkY2xlYXJpbmctY2FwdGlvbi1mb250LWNvbG9yOiAjY2NjO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAwLjg3NWVtO1xuLy8gJGNsZWFyaW5nLWNhcHRpb24tcGFkZGluZzogMTBweCAzMHB4IDIwcHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBtYWtlIHRoZSBpbWFnZSBhbmQgY2Fyb3VzZWwgaGVpZ2h0IGFuZCBzdHlsZVxuLy8gJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0OiA4NSU7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtaGVpZ2h0OiAxMjBweDtcbi8vICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDogMTIwcHg7XG4vLyAkY2xlYXJpbmctY2Fyb3VzZWwtdGh1bWItYWN0aXZlLWJvcmRlcjogMXB4IHNvbGlkIHJnYigyNTUsMjU1LDI1NSk7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvY2xlYXJpbmdcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtY2xlYXJpbmdcIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBiYWNrZ3JvdW5kIGNvbG9ycyBmb3IgcGFydHMgb2YgQ2xlYXJpbmcuXG4kY2xlYXJpbmctYmc6ICRvaWwgIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2FwdGlvbi1iZzogJGNsZWFyaW5nLWJnICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLWJnOiByZ2JhKDUxLDUxLDUxLDAuOCkgIWRlZmF1bHQ7XG4kY2xlYXJpbmctaW1nLWJnOiAkY2xlYXJpbmctYmcgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgY2xvc2UgYnV0dG9uXG4kY2xlYXJpbmctY2xvc2UtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNsb3NlLXNpemU6IDMwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgYXJyb3dzXG4kY2xlYXJpbmctYXJyb3ctc2l6ZTogMTJweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1hcnJvdy1jb2xvcjogJGNsZWFyaW5nLWNsb3NlLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgY2FwdGlvbnNcbiRjbGVhcmluZy1jYXB0aW9uLWZvbnQtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplOiAuODc1ZW0gIWRlZmF1bHQ7XG4kY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nOiAxMHB4IDMwcHggMjBweCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIG1ha2UgdGhlIGltYWdlIGFuZCBjYXJvdXNlbCBoZWlnaHQgYW5kIHN0eWxlXG4kY2xlYXJpbmctYWN0aXZlLWltZy1oZWlnaHQ6IDg1JSAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC1oZWlnaHQ6IDEyMHB4ICFkZWZhdWx0O1xuJGNsZWFyaW5nLWNhcm91c2VsLXRodW1iLXdpZHRoOiAxMjBweCAhZGVmYXVsdDtcbiRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi1hY3RpdmUtYm9yZGVyOiAxcHggc29saWQgcmdiKDI1NSwyNTUsMjU1KSAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcImNsZWFyaW5nXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtY2xlYXJpbmctY2xhc3NlcyB7XG4gICAgLy8gV2UgZGVjaWRlZCB0byBub3QgY3JlYXRlIGEgbWl4aW4gZm9yIENsZWFyaW5nIGJlY2F1c2UgaXQgcmVsaWVzXG4gICAgLy8gb24gcHJlZGVmaW5lZCBjbGFzc2VzIGFuZCBzdHJ1Y3R1cmUgdG8gd29yayBwcm9wZXJseS5cbiAgICAvLyBUaGUgdmFyaWFibGVzIGFib3ZlIHNob3VsZCBnaXZlIGVub3VnaCBjb250cm9sLlxuXG4gICAgLyogQ2xlYXJpbmcgU3R5bGVzICovXG4gICAgLmNsZWFyaW5nLXRodW1icywgI3tkYXRhKCdjbGVhcmluZycpfSB7XG4gICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICBsaSB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEwcHg7XG4gICAgICB9XG5cbiAgICAgICZbY2xhc3MqPVwiYmxvY2stZ3JpZC1cIl0gbGkge1xuICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctYmxhY2tvdXQge1xuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWJnO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiA5OTg7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHsgZGlzcGxheTogYmxvY2s7IH1cbiAgICB9XG5cbiAgICAuY2xlYXJpbmctY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA5OTg7XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLXRvdWNoLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAkYmFzZTtcbiAgICAgIGZvbnQtc2l6ZTogLjZlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgIH1cblxuICAgIC52aXNpYmxlLWltZyB7XG4gICAgICBoZWlnaHQ6IDk1JTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgaW1nIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgQGlmICRkZWZhdWx0LWZsb2F0ID09IGxlZnQge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSB0cmFuc2xhdGVYKDUwJSk7XG4gICAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHRyYW5zbGF0ZVgoNTAlKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgdHJhbnNsYXRlWCg1MCUpO1xuICAgICAgICB9O1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWNhcHRpb24ge1xuICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcHRpb24tYmc7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb2xvcjogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICAgIGZvbnQtc2l6ZTogJGNsZWFyaW5nLWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nOiAkY2xlYXJpbmctY2FwdGlvbi1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICB9XG5cbiAgICAuY2xlYXJpbmctY2xvc2Uge1xuICAgICAgY29sb3I6ICRjbGVhcmluZy1jbG9zZS1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6ICRjbGVhcmluZy1jbG9zZS1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAyMHB4O1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRpcm9uOyB9XG4gICAgfVxuXG4gICAgLmNsZWFyaW5nLWFzc2VtYmxlZCAuY2xlYXJpbmctY29udGFpbmVyIHsgaGVpZ2h0OiAxMDAlO1xuICAgICAgLmNhcm91c2VsID4gdWwgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgfVxuXG4gICAgLy8gSWYgeW91IHdhbnQgdG8gc2hvdyBhIGxpZ2h0Ym94LCBidXQgb25seSBoYXZlIGEgc2luZ2xlIGltYWdlIGNvbWUgdGhyb3VnaCBhcyB0aGUgdGh1bWJuYWlsXG4gICAgLmNsZWFyaW5nLWZlYXR1cmUgbGkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICYuY2xlYXJpbmctZmVhdHVyZWQtaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGFyZ2Ugc2NyZWVuIG92ZXJyaWRlc1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIC5jbGVhcmluZy1tYWluLXByZXYsXG4gICAgICAuY2xlYXJpbmctbWFpbi1uZXh0IHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCAkY2xlYXJpbmctYXJyb3ctc2l6ZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICY6aG92ZXIgeyBvcGFjaXR5OiAuODsgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuY2xlYXJpbmctbWFpbi1wcmV2IHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgID4gc3BhbiB7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDVweDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQge1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgICAgICA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiAkY2xlYXJpbmctYXJyb3ctY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsZWFyaW5nLW1haW4tcHJldi5kaXNhYmxlZCxcbiAgICAgIC5jbGVhcmluZy1tYWluLW5leHQuZGlzYWJsZWQgeyBvcGFjaXR5OiAuMzsgfVxuXG4gICAgICAuY2xlYXJpbmctYXNzZW1ibGVkIC5jbGVhcmluZy1jb250YWluZXIge1xuXG4gICAgICAgIC5jYXJvdXNlbCB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNsZWFyaW5nLWNhcm91c2VsLWJnO1xuICAgICAgICAgIGhlaWdodDogJGNsZWFyaW5nLWNhcm91c2VsLWhlaWdodDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgID4gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5oZXJpdDtcbiAgICAgICAgICAgICAgb3BhY2l0eTogLjQ7XG4gICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgd2lkdGg6ICRjbGVhcmluZy1jYXJvdXNlbC10aHVtYi13aWR0aDtcblxuICAgICAgICAgICAgICAmLmZpeC1oZWlnaHQge1xuICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgYS50aCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYudmlzaWJsZSB7IG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAgICAgJjpob3ZlciB7IG9wYWNpdHk6IC44OyB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpc2libGUtaW1nIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY2xlYXJpbmctaW1nLWJnO1xuICAgICAgICAgIGhlaWdodDogJGNsZWFyaW5nLWFjdGl2ZS1pbWctaGVpZ2h0O1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLmNsZWFyaW5nLWNsb3NlIHtcbiAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAyMHB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG4iLCIvL1xuLy8gIyBEcm9wZG93blxuLy9cbi8vIFdlIHJlbW92ZWQgdGhlIHZhcmlvdXMgZHJvcGRvd25zIHdpdGhpbiBkaWZmZXJlbnQgVUkgZWxlbWVudHMgZm9yXG4vLyBGb3VuZGF0aW9uIDUuIEluc3RlYWQsIHdlIGNyZWF0ZWQgYSB1bml2ZXJzYWwgZHJvcGRvd24gcGx1Z2luIHRoYXQgd2lsbFxuLy8gYXR0YWNoIGRyb3Bkb3ducyBvciBwb3BvdmVycyB0byB3aGF0ZXZlciBlbGVtZW50IHlvdSBuZWVkLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbHMgaGVpZ2h0IGFuZCB3aWR0aCBzdHlsZXMuXG4vLyAkZi1kcm9wZG93bi1tYXgtd2lkdGg6IDIwMHB4O1xuLy8gJGYtZHJvcGRvd24taGVpZ2h0OiBhdXRvO1xuLy8gJGYtZHJvcGRvd24tbWF4LWhlaWdodDogbm9uZTtcbi8vICRmLWRyb3Bkb3duLW1hcmdpbi10b3A6IDJweDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBjb2xvclxuLy8gJGYtZHJvcGRvd24tYmc6ICNmZmY7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYm9yZGVyIHN0eWxlcyBmb3IgZHJvcGRvd25zLlxuLy8gJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMjAlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHg7XG4vLyAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogI2ZmZjtcbi8vICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0OiAxMHB4O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBzdHlsZXMgZm9yIHRoZSBsaXN0IGVsZW1lbnRzLlxuLy8gJGYtZHJvcGRvd24tbGlzdC1zdHlsZTogbm9uZTtcbi8vICRmLWRyb3Bkb3duLWZvbnQtY29sb3I6ICM1NTU7XG4vLyAkZi1kcm9wZG93bi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtcGFkZGluZzogcmVtLWNhbGMoNSwgMTApO1xuLy8gJGYtZHJvcGRvd24tbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbi8vICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc6ICNlZWVlZWU7XG4vLyAkZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDA7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuLy8gJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvZHJvcGRvd25cIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtZHJvcGRvd25cIikge1xuXG4gIC5GbHlvdXRNZW51LFxuICAuTWVudUl0ZW1zIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG5cbiAgICAmIHtcbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogKCRmLWRyb3Bkb3duLW1heC13aWR0aCAvIDIpO1xuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgQGluY2x1ZGUgZHJvcGRvd24tc3R5bGU7XG4gICAgfVxuXG4gICAgLkJ1dHRvbkdyb3VwLk9wZW4gJiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuVG9nZ2xlRmx5b3V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWRyb3Bkb3duLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2xzIGhlaWdodCBhbmQgd2lkdGggc3R5bGVzLlxuJGYtZHJvcGRvd24tbWF4LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWhlaWdodDogYXV0byAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLW1heC1oZWlnaHQ6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGJvdHRvbSBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLXRvcDogMnB4ICFkZWZhdWx0O1xuXG4vLyBVc2VkIGZvciByaWdodCBwb3NpdGlvblxuJGYtZHJvcGRvd24tbWFyZ2luLWxlZnQ6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3AgIWRlZmF1bHQ7XG5cbi8vIFVzZWQgZm9yIGxlZnQgcG9zaXRpb25cbiRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDogJGYtZHJvcGRvd24tbWFyZ2luLXRvcCAhZGVmYXVsdDtcblxuLy8gVXNlZCBmb3IgdG9wIHBvc2l0aW9uXG4kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tOiAkZi1kcm9wZG93bi1tYXJnaW4tdG9wICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGNvbG9yXG4kZi1kcm9wZG93bi1iZzogJHdoaXRlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIGJvcmRlciBzdHlsZXMgZm9yIGRyb3Bkb3ducy5cbiRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtMjAlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSB0cmlhbmdsZSBwaXAuXG4kZi1kcm9wZG93bi10cmlhbmdsZS1zaXplOiA2cHggIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHN0eWxlcyBmb3IgdGhlIGxpc3QgZWxlbWVudHMuXG4kZi1kcm9wZG93bi1saXN0LXN0eWxlOiBub25lICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1jb2xvcjogJGNoYXJjb2FsICFkZWZhdWx0O1xuJGYtZHJvcGRvd24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LXBhZGRpbmc6IHJlbS1jYWxjKDUsIDEwKSAhZGVmYXVsdDtcbiRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kZi1kcm9wZG93bi1saXN0LWhvdmVyLWJnOiAkc21va2UgIWRlZmF1bHQ7XG4kZHJvcGRvd24tbW9iaWxlLWRlZmF1bHQtZmxvYXQ6IDAgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN0eWxlcyBmb3Igd2hlbiB0aGUgZHJvcGRvd24gaGFzIGN1c3RvbSBjb250ZW50LlxuJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIERlZmF1bHQgcmFkaXVzIGZvciBkcm9wZG93bi5cbiRmLWRyb3Bkb3duLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuLy9cbi8vIE5PVEU6IE1ha2UgZGVmYXVsdCBtYXgtd2lkdGggY2hhbmdlIGJldHdlZW4gbGlzdCBhbmQgY29udGVudCB0eXBlcy4gQ2FuIGFkZCBtb3JlIHdpZHRoIHdpdGggY2xhc3NlcywgbWF5YmUgLnNtYWxsLCAubWVkaXVtLCAubGFyZ2UsIGV0Yy47XG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZHJvcGRvd24gY29udGFpbmVyIGVsZW1lbnQuXG4vLyAkY29udGVudC1saXN0IC0gU2V0cyBsaXN0LXN0eWxlLiBEZWZhdWx0OiBsaXN0LiBPcHRpb25zOiBbbGlzdCwgY29udGVudF1cbi8vICR0cmlhbmdsZSAtIFNldHMgaWYgZHJvcGRvd24gaGFzIHRyaWFuZ2xlLiBEZWZhdWx0OnRydWUuXG4vLyAkbWF4LXdpZHRoIC0gRGVmYXVsdDogJGYtZHJvcGRvd24tbWF4LXdpZHRoIHx8IDIwMHB4LlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lcigkY29udGVudDpsaXN0LCAkdHJpYW5nbGU6dHJ1ZSwgJG1heC13aWR0aDokZi1kcm9wZG93bi1tYXgtd2lkdGgpIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogLTk5OTlweDtcbiAgbGlzdC1zdHlsZTogJGYtZHJvcGRvd24tbGlzdC1zdHlsZTtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgJi5vcGVuIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gID4gKjpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgPiAqOmxhc3QtY2hpbGQgeyBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbiAgQGlmICRjb250ZW50ID09IGxpc3Qge1xuICAgIGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWJnO1xuICAgIGJvcmRlcjogJGYtZHJvcGRvd24tYm9yZGVyLXN0eWxlICRmLWRyb3Bkb3duLWJvcmRlci13aWR0aCAkZi1kcm9wZG93bi1ib3JkZXItY29sb3I7XG4gICAgZm9udC1zaXplOiAkZi1kcm9wZG93bi1mb250LXNpemU7XG4gICAgaGVpZ2h0OiAkZi1kcm9wZG93bi1oZWlnaHQ7XG4gICAgbWF4LWhlaWdodDogJGYtZHJvcGRvd24tbWF4LWhlaWdodDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiA4OTtcbiAgfVxuICBAZWxzZSBpZiAkY29udGVudCA9PSBjb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAkZi1kcm9wZG93bi1iZztcbiAgICBib3JkZXI6ICRmLWRyb3Bkb3duLWJvcmRlci1zdHlsZSAkZi1kcm9wZG93bi1ib3JkZXItd2lkdGggJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yO1xuICAgIGZvbnQtc2l6ZTogJGYtZHJvcGRvd24tZm9udC1zaXplO1xuICAgIGhlaWdodDogJGYtZHJvcGRvd24taGVpZ2h0O1xuICAgIG1heC1oZWlnaHQ6ICRmLWRyb3Bkb3duLW1heC1oZWlnaHQ7XG4gICAgcGFkZGluZzogJGYtZHJvcGRvd24tY29udGVudC1wYWRkaW5nO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDg5O1xuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSBib3R0b20ge1xuICAgIG1hcmdpbi10b3A6ICRmLWRyb3Bkb3duLW1hcmdpbi10b3A7XG5cbiAgICBAaWYgJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAhPSAwcHgge1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgYm90dG9tKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQ7XG4gICAgICAgIHotaW5kZXg6IDg5O1xuICAgICAgfVxuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCBib3R0b20pO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLSgoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEpICogMik7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAgIHotaW5kZXg6IDg4O1xuICAgICAgfVxuXG4gICAgICAmLnJpZ2h0OmJlZm9yZSB7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiBhdXRvO1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYucmlnaHQ6YWZ0ZXIge1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkdHJpYW5nbGUgPT0gJGRlZmF1bHQtZmxvYXQge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi1tYXJnaW4tcmlnaHQ7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSwgJGYtZHJvcGRvd24tdHJpYW5nbGUtY29sb3IsICN7JG9wcG9zaXRlLWRpcmVjdGlvbn0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHotaW5kZXg6IDg5O1xuICAgIH1cbiAgICAmOmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICsgMSwgJGYtZHJvcGRvd24tYm9yZGVyLWNvbG9yLCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGYtZHJvcGRvd24tdHJpYW5nbGUtc2lkZS1vZmZzZXQgLSAxO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpIC0gMjtcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSAkb3Bwb3NpdGUtZGlyZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogLSRmLWRyb3Bkb3duLW1hcmdpbi1yaWdodDtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplLCAkZi1kcm9wZG93bi10cmlhbmdsZS1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC0oJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSAqIDIpO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgI3skZGVmYXVsdC1mbG9hdH0pO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldCAtIDE7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKSAtIDI7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogYXV0bztcbiAgICAgIHotaW5kZXg6IDg4O1xuICAgIH1cblxuICB9XG5cbiAgQGlmICR0cmlhbmdsZSA9PSB0b3Age1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IC0kZi1kcm9wZG93bi1tYXJnaW4tYm90dG9tO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUsICRmLWRyb3Bkb3duLXRyaWFuZ2xlLWNvbG9yLCB0b3ApO1xuICAgICAgYm90dG9tOiAtKCRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpemUgKiAyKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogYXV0bztcbiAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAkZi1kcm9wZG93bi10cmlhbmdsZS1zaWRlLW9mZnNldDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4OTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGYtZHJvcGRvd24tdHJpYW5nbGUtc2l6ZSArIDEsICRmLWRyb3Bkb3duLWJvcmRlci1jb2xvciwgdG9wKTtcbiAgICAgIGJvdHRvbTogLSgkZi1kcm9wZG93bi10cmlhbmdsZS1zaXplICogMikgLSAyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBhdXRvO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRmLWRyb3Bkb3duLXRyaWFuZ2xlLXNpZGUtb2Zmc2V0IC0gMTtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICB6LWluZGV4OiA4ODtcbiAgICB9XG5cbiAgfVxuXG4gIEBpZiAkbWF4LXdpZHRoIHsgbWF4LXdpZHRoOiAkbWF4LXdpZHRoOyB9XG4gIEBlbHNlIHsgbWF4LXdpZHRoOiAkZi1kcm9wZG93bi1tYXgtd2lkdGg7IH1cblxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgbGlzdCBlbGVtZW50cyBvciBjb250ZW50IGluc2lkZSB0aGUgZHJvcGRvd24uXG5cbkBtaXhpbiBkcm9wZG93bi1zdHlsZSB7XG4gIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICBmb250LXNpemU6ICRmLWRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6ICRmLWRyb3Bkb3duLWxpbmUtaGVpZ2h0O1xuICBtYXJnaW46IDA7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRmLWRyb3Bkb3duLWxpc3QtaG92ZXItYmc7IH1cblxuICBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkZi1kcm9wZG93bi1saXN0LXBhZGRpbmc7XG4gICAgY29sb3I6ICRmLWRyb3Bkb3duLWZvbnQtY29sb3I7XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImRyb3Bkb3duXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZHJvcGRvd24tY2xhc3NlcyB7XG5cbiAgICAvKiBGb3VuZGF0aW9uIERyb3Bkb3ducyAqL1xuICAgIC5mLWRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCBib3R0b20pO1xuXG4gICAgICAmLmRyb3AtI3skb3Bwb3NpdGUtZGlyZWN0aW9ufSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRkZWZhdWx0LWZsb2F0fSk7XG4gICAgICB9XG5cbiAgICAgICYuZHJvcC0jeyRkZWZhdWx0LWZsb2F0fSB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259KTtcbiAgICAgIH1cblxuICAgICAgJi5kcm9wLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcihsaXN0LCB0b3ApO1xuICAgICAgfVxuICAgICAgLy8gbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICBsaSB7IEBpbmNsdWRlIGRyb3Bkb3duLXN0eWxlOyB9XG5cbiAgICAgIC8vIFlvdSBjYW4gYWxzbyBwdXQgY3VzdG9tIGNvbnRlbnQgaW4gdGhlc2UgZHJvcGRvd25zXG4gICAgICAmLmNvbnRlbnQgeyBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXIoY29udGVudCwgJHRyaWFuZ2xlOmZhbHNlKTsgfVxuXG4gICAgICAvLyBSYWRpdXMgb2YgRHJvcGRvd25cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgcmFkaXVzKCRmLWRyb3Bkb3duLXJhZGl1cyk7IH1cblxuICAgICAgLy8gU2l6ZXNcbiAgICAgICYudGlueSAgICB7IG1heC13aWR0aDogMjAwcHg7IH1cbiAgICAgICYuc21hbGwgICB7IG1heC13aWR0aDogMzAwcHg7IH1cbiAgICAgICYubWVkaXVtICB7IG1heC13aWR0aDogNTAwcHg7IH1cbiAgICAgICYubGFyZ2UgICB7IG1heC13aWR0aDogODAwcHg7IH1cbiAgICAgICYubWVnYSAgICB7XG4gICAgICAgIHdpZHRoOjEwMCUhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6MTAwJSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJi5vcGVue1xuICAgICAgICAgIGxlZnQ6MCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy9cbi8vICMgRHJvcGRvd24gQnV0dG9uc1xuLy9cbi8vIERyb3Bkb3duIGJ1dHRvbnMgYXJlIGVsZW1lbnRzIHRoYXQsIHdoZW4gdGFwcGVkLCByZXZlYWwgYWRkaXRpb25hbCBjb250ZW50LlxuLy8gV2UndmUgc2ltcGxpZmllZCBvdXIgZHJvcGRvd24gYnV0dG9ucyBieSBnZXR0aW5nIHJpZCBvZiB0aGUgZGVkaWNhdGVkIG9uZXNcbi8vIGFzc29jaWF0ZWQgd2l0aCB0aGUgdmFyaW91cyBidXR0b25zIHN0eWxlcy4gSW5zdGVhZCwgeW91J2xsIHVzZSBvdXIgbmV3XG4vLyBkcm9wZG93biBwbHVnaW4gdG8gYXR0YWNoIGEgZHJvcGRvd24gdG8gdGhlIGJ1dHRvbiBzdHlsZSBvZiB5b3VyIGNob2ljZS5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIGNvbG9yIG9mIHRoZSBwaXAgaW4gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3I6ICNmZmY7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICMzMzM7XG5cbi8vICRidXR0b24tcGlwLXRueTogcmVtLWNhbGMoNik7XG4vLyAkYnV0dG9uLXBpcC1zbWw6IHJlbS1jYWxjKDcpO1xuLy8gJGJ1dHRvbi1waXAtbWVkOiByZW0tY2FsYyg5KTtcbi8vICRidXR0b24tcGlwLWxyZzogcmVtLWNhbGMoMTEpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGlueSBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk6ICRidXR0b24tcGlwLXRueTtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXRueTogJGJ1dHRvbi1waXAtdG55ICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC10bnk6IC0kYnV0dG9uLXBpcC10bnkgLyAyICsgcmVtLWNhbGMoMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBzbWFsbCBkcm9wZG93biBidXR0b25zXG4vLyAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3O1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbDtcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDogJGJ1dHRvbi1waXAtc21sICogMztcbi8vICRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6IC0kYnV0dG9uLXBpcC1zbWwgLyAyICsgcmVtLWNhbGMoMSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBtZWRpdW0gZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogNiArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAtIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkOiAtJGJ1dHRvbi1waXAtbWVkIC8gMiArIHJlbS1jYWxjKDIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgbGFyZ2UgZHJvcGRvd24gYnV0dG9uc1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLWxyZzogJGJ1dHRvbi1waXAtbHJnICogNSArIHJlbS1jYWxjKDMpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xuLy8gJGRyb3Bkb3duLWJ1dHRvbi1waXAtb3Bwb3NpdGUtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiAyLjU7XG4vLyAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnOiAtJGJ1dHRvbi1waXAtbHJnIC8gMiArIHJlbS1jYWxjKDMpO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL2Ryb3Bkb3duLWJ1dHRvbnNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtZHJvcGRvd24tYnV0dG9uc1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1idXR0b24tY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBjb2xvciBvZiB0aGUgcGlwIGluIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIHNpemUgb2YgdGhlIHBpcCBpbiBkcm9wZG93biBidXR0b25zXG4kYnV0dG9uLXBpcC10bnk6IHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJGJ1dHRvbi1waXAtc21sOiByZW0tY2FsYyg3KSAhZGVmYXVsdDtcbiRidXR0b24tcGlwLW1lZDogcmVtLWNhbGMoOSkgIWRlZmF1bHQ7XG4kYnV0dG9uLXBpcC1scmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRpbnkgZHJvcGRvd24gYnV0dG9uc1xuJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTogJGJ1dHRvbi1waXAtdG55ICogNyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtdG55OiAkYnV0dG9uLXBpcC10bnkgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk6ICRidXR0b24tcGlwLXRueSAqIDMgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55OiAoLSRidXR0b24tcGlwLXRueSAvIDIpICsgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBzbWFsbCBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sOiAkYnV0dG9uLXBpcC1zbWwgKiA3ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw6ICRidXR0b24tcGlwLXNtbCAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLXNtbDogJGJ1dHRvbi1waXAtc21sICogMyAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1zbWw6ICgtJGJ1dHRvbi1waXAtc21sIC8gMikgKyByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIG1lZGl1bSBkcm9wZG93biBidXR0b25zXG4kZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkOiAkYnV0dG9uLXBpcC1tZWQgKiA2ICsgcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1zaXplLW1lZDogJGJ1dHRvbi1waXAtbWVkIC0gcmVtLWNhbGMoMykgIWRlZmF1bHQ7XG4kZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDIuNSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXRvcC1tZWQ6ICgtJGJ1dHRvbi1waXAtbWVkIC8gMikgKyByZW0tY2FsYygyKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxhcmdlIGRyb3Bkb3duIGJ1dHRvbnNcbiRkcm9wZG93bi1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDUgKyByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLXNpemUtbHJnOiAkYnV0dG9uLXBpcC1scmcgLSByZW0tY2FsYyg2KSAhZGVmYXVsdDtcbiRkcm9wZG93bi1idXR0b24tcGlwLW9wcG9zaXRlLWxyZzogJGJ1dHRvbi1waXAtbHJnICogMi41ICFkZWZhdWx0O1xuJGRyb3Bkb3duLWJ1dHRvbi1waXAtdG9wLWxyZzogKC0kYnV0dG9uLXBpcC1scmcgLyAyKSArIHJlbS1jYWxjKDMpICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gRHJvcGRvd24gQnV0dG9uIE1peGluXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gYnVpbGQgb2ZmIG9mIHRoZSBidXR0b24gbWl4aW4gYW5kIGFkZCBkcm9wZG93biBidXR0b24gc3R5bGVzXG4vL1xuLy8gJHBhZGRpbmcgLSBEZXRlcm1pbmVzIHRoZSBzaXplIG9mIGJ1dHRvbiB5b3UncmUgd29ya2luZyB3aXRoLiBEZWZhdWx0OiBtZWRpdW0uIE9wdGlvbnMgW3RpbnksIHNtYWxsLCBtZWRpdW0sIGxhcmdlXVxuLy8gJHBpcC1jb2xvciAtIENvbG9yIG9mIHRoZSBsaXR0bGUgdHJpYW5nbGUgdGhhdCBwb2ludHMgdG8gdGhlIGRyb3Bkb3duLiBEZWZhdWx0OiAkd2hpdGUuXG4vLyAkYmFzZS1zdHlsZSAtIEFkZCBpbiBiYXNlLXN0eWxlcy4gVGhpcyBjYW4gYmUgc2V0IHRvIGZhbHNlLiBEZWZhdWx0OnRydWVcblxuQG1peGluIGRyb3Bkb3duLWJ1dHRvbigkcGFkZGluZzptZWRpdW0sICRwaXAtY29sb3I6JGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3IsICRiYXNlLXN0eWxlOnRydWUpIHtcblxuICAvLyBXZSBhZGQgaW4gYmFzZSBzdHlsZXMsIGJ1dCB0aGV5IGNhbiBiZSBuZWdhdGVkIGJ5IHNldHRpbmcgdG8gJ2ZhbHNlJy5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBUaGlzIGNyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciB0aGUgdHJpYW5nbGUgcGlwXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgYm9yZGVyLWNvbG9yOiAkZHJvcGRvd24tYnV0dG9uLXBpcC1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCB0aW55IGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IHRpbnkge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGRyb3Bkb3duLWJ1dHRvbi1wYWRkaW5nLXRueTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS10bnk7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS10bnk7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtdG55O1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBzbWFsbCBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctc21sO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1zbWw7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1zbWw7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3Atc21sO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBkZWZhdWx0IChtZWRpdW0pIGJ1dHRvbnMsIHVzZSB0aGVzZSBzdHlsZXNcbiAgQGlmICRwYWRkaW5nID09IG1lZGl1bSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbWVkO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1tZWQ7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1tZWQ7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbWVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHdlJ3JlIGRlYWxpbmcgd2l0aCBsYXJnZSBidXR0b25zLCB1c2UgdGhlc2Ugc3R5bGVzXG4gIEBpZiAkcGFkZGluZyA9PSBsYXJnZSB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBhZGRpbmctbHJnO1xuICAgICY6OmFmdGVyIHtcbiAgICAgIGJvcmRlci13aWR0aDogJGRyb3Bkb3duLWJ1dHRvbi1waXAtc2l6ZS1scmc7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkZHJvcGRvd24tYnV0dG9uLXBpcC1vcHBvc2l0ZS1scmc7XG4gICAgICBtYXJnaW4tdG9wOiAkZHJvcGRvd24tYnV0dG9uLXBpcC10b3AtbHJnO1xuICAgIH1cbiAgfVxuXG4gIC8vIFdlIGNhbiBjb250cm9sIHRoZSBwaXAgY29sb3IuIFdlIGRpZG4ndCB1c2UgbG9naWMgaW4gdGhpcyBjYXNlLCBqdXN0IHNldCBpdCBhbmQgZm9yZ2V0IGl0LlxuICBAaWYgJHBpcC1jb2xvciB7XG4gICAgJjo6YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwiZHJvcGRvd24tYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuICAgIC5kcm9wZG93bi5idXR0b24sIGJ1dHRvbi5kcm9wZG93biB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbjtcbiAgICAgICYudGlueSB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbih0aW55LCAkYmFzZS1zdHlsZTpmYWxzZSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBkcm9wZG93bi1idXR0b24oc21hbGwsICRiYXNlLXN0eWxlOmZhbHNlKTsgfVxuICAgICAgJi5sYXJnZSB7IEBpbmNsdWRlIGRyb3Bkb3duLWJ1dHRvbihsYXJnZSwgJGJhc2Utc3R5bGU6ZmFsc2UpOyB9XG4gICAgICAmLnNlY29uZGFyeTphZnRlciB7IGJvcmRlci1jb2xvcjogJGRyb3Bkb3duLWJ1dHRvbi1waXAtY29sb3ItYWx0IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBGbGV4IFZpZGVvXG4vL1xuLy8gRmxleCBWaWRlbyBsZXRzIGJyb3dzZXJzIGF1dG9tYXRpY2FsbHkgc2NhbGUgdmlkZW8gb2JqZWN0cyBpbiB5b3VyIHdlYnBhZ2VzLlxuLy8gSWYgeW91J3JlIGVtYmVkZGluZyBhIHZpZGVvIGZyb20gWW91VHViZSwgVmltZW8sIG9yIGFub3RoZXIgc2l0ZSB0aGF0IHVzZXNcbi8vIGlmcmFtZSwgZW1iZWQgb3Igb2JqZWN0IGVsZW1lbnRzLCB5b3UgY2FuIHdyYXAgeW91ciB2aWRlbyBpbiBkaXYuZmxleC12aWRlb1xuLy8gdG8gY3JlYXRlIGFuIGludHJpbnNpYyByYXRpbyB0aGF0IHdpbGwgcHJvcGVybHkgc2NhbGUgeW91ciB2aWRlbyBvbiBhbnlcbi8vIGRldmljZS5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gRGVwZW5kZW5jaWVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcInR5cGVcIjtcblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcbi8vICRmbGV4LXZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4vLyAkZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSU7XG4vLyAkZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xuLy8gJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuNTUlO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL2ZsZXgtdmlkZW9cIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtZmxleC12aWRlb1wiKSB7XG5cbn1cbiIsIi8vXG4vLyAjIFR5cG9ncmFwaHlcbi8vXG4vLyBUeXBvZ3JhcGh5IGluIEZvdW5kYXRpb24gNSBpcyBtZWFudCB0byBtYWtlIHlvdXIgbGlmZSBlYXNpZXIgYnkgcHJvdmlkaW5nXG4vLyBjbGVhbiwgYXR0cmFjdGl2ZSwgc2ltcGxlIGRlZmF1bHQgc3R5bGVzIGZvciBhbGwgb2YgdGhlIG1vc3QgYmFzaWNcbi8vIHR5cG9ncmFwaGljYWwgZWxlbWVudHMuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc3R5bGVzXG4vLyAkaGVhZGVyLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICRoZWFkZXItZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsO1xuLy8gJGhlYWRlci1mb250LWNvbG9yOiAjMjIyO1xuLy8gJGhlYWRlci1saW5lLWhlaWdodDogMS40O1xuLy8gJGhlYWRlci10b3AtbWFyZ2luOiAuMnJlbTtcbi8vICRoZWFkZXItYm90dG9tLW1hcmdpbjogLjVyZW07XG4vLyAkaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHNpemVzXG4vLyAkaDEtZm9udC1zaXplOiByZW0tY2FsYyg0NCk7XG4vLyAkaDItZm9udC1zaXplOiByZW0tY2FsYygzNyk7XG4vLyAkaDMtZm9udC1zaXplOiByZW0tY2FsYygyNyk7XG4vLyAkaDQtZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4vLyAkaDUtZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4vLyAkaDYtZm9udC1zaXplOiAxcmVtO1xuXG4vLyBUaGVzZSBjb250cm9sIGhvdyBzdWJoZWFkZXJzIGFyZSBzdHlsZWQuXG4vLyAkc3ViaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQ7XG4vLyAkc3ViaGVhZGVyLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcbi8vICRzdWJoZWFkZXItZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW07XG4vLyAkc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtO1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4vLyAkc21hbGwtZm9udC1zaXplOiA2MCU7XG4vLyAkc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuLy8gJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdDtcbi8vICRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICRwYXJhZ3JhcGgtZm9udC1zaXplOiAxcmVtO1xuLy8gJHBhcmFncmFwaC1saW5lLWhlaWdodDogMS42O1xuLy8gJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4vLyAkcGFyYWdyYXBoLWFzaWRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhcmFncmFwaC1hc2lkZS1saW5lLWhlaWdodDogMS4zNTtcbi8vICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTogaXRhbGljO1xuLy8gJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgPGNvZGU+IHRhZ3Ncbi8vICRjb2RlLWNvbG9yOiBzY2FsZS1jb2xvcigkYWxlcnQtY29sb3IsICRsaWdodG5lc3M6IC0yNyUpO1xuLy8gJGNvZGUtZm9udC1mYW1pbHk6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuLy8gJGNvZGUtZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4vLyAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbi8vICRhbmNob3ItZm9udC1jb2xvcjogJHByaW1hcnktY29sb3I7XG4vLyAkYW5jaG9yLWZvbnQtY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbi8vICRoci1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRoci1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGhyLWJvcmRlci1jb2xvcjogI2RkZDtcbi8vICRoci1tYXJnaW46IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4vLyAkbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbi8vICRsaXN0LXNpZGUtbWFyZ2luOiAxLjFyZW07XG4vLyAkbGlzdC1vcmRlcmVkLXNpZGUtbWFyZ2luOiAxLjRyZW07XG4vLyAkbGlzdC1zaWRlLW1hcmdpbi1uby1idWxsZXQ6IDA7XG4vLyAkbGlzdC1uZXN0ZWQtbWFyZ2luOiByZW0tY2FsYygyMCk7XG4vLyAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ6IGJvbGQ7XG4vLyAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbTtcbi8vICRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcbi8vICRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKTtcbi8vICRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4vLyAkYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpO1xuLy8gJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3I7XG5cbi8vIEFjcm9ueW0gc3R5bGVzXG4vLyAkYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgI2RkZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXG4vLyAkbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpO1xuLy8gJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAjZGRkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogYm9sZDtcbi8vICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgc3VtbWFyeSBmb250IHN0eWxlc1xuLy8gJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBwYWRkaW5nXG4vLyAkbWljcm9mb3JtYXQtYWJici1wYWRkaW5nOiByZW0tY2FsYygwIDEpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFiYnIgZm9udCBzdHlsZXNcbi8vICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdHlwZSc7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3Qgc3VyZSB3aGF0IHRoaXMgZXhwb3J0IHdyYXBwZXIgZG9lcyBidXQgbGVhdmUgaXRcbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLXR5cGVcIikge1xuXG4vLyBTdGFydCBDdXN0b20gc3R5bGVzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbiosIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYsIGEsIHAsIGRpdntcblx0Zm9udC13ZWlnaHQ6IG5vcm1hbDtcbn1cbmgxe1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbn1cbmgye1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDI5KTtcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM2KTtcbn1cbmgze1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDM3KTtcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQ2KTtcbn1cbmg0e1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcbn1cbmg1e1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE5KTtcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbn1cbmg2e1xuXHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbn1cblxuLlAge1xuICBmb250LXNpemU6ICRwYXJhZ3JhcGgtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICBmb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbn1cblxuY29kZXtcblx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cdGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cblxuLy8gRW5kIEN1c3RvbSBzdHlsZXMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbiRpbmNsdWRlLWh0bWwtdHlwZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBmb250IHN0eWxlc1xuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG4kaGVhZGVyLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kaGVhZGVyLWxpbmUtaGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG4kaGVhZGVyLXRvcC1tYXJnaW46IC4ycmVtICFkZWZhdWx0O1xuJGhlYWRlci1ib3R0b20tbWFyZ2luOiAuNXJlbSAhZGVmYXVsdDtcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgaGVhZGVyIGZvbnQgc2l6ZXNcbiRoMS1mb250LXNpemU6IHJlbS1jYWxjKDQ0KSAhZGVmYXVsdDtcbiRoMi1mb250LXNpemU6IHJlbS1jYWxjKDM3KSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IHJlbS1jYWxjKDI3KSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IHJlbS1jYWxjKDIzKSAhZGVmYXVsdDtcbiRoNS1mb250LXNpemU6IHJlbS1jYWxjKDE4KSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGhlYWRlciBzaXplIHJlZHVjdGlvbiBvbiBzbWFsbCBzY3JlZW5zXG4kaDEtZm9udC1yZWR1Y3Rpb246IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRoMi1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJGgzLWZvbnQtcmVkdWN0aW9uOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcbiRoNC1mb250LXJlZHVjdGlvbjogcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kaDUtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG4kaDYtZm9udC1yZWR1Y3Rpb246IDAgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgaG93IHN1YmhlYWRlcnMgYXJlIHN0eWxlZC5cbiRzdWJoZWFkZXItbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWJoZWFkZXItdG9wLW1hcmdpbjogLjJyZW0gIWRlZmF1bHQ7XG4kc3ViaGVhZGVyLWJvdHRvbS1tYXJnaW46IC41cmVtICFkZWZhdWx0O1xuXG4vLyBBIGdlbmVyYWwgPHNtYWxsPiBzdHlsaW5nXG4kc21hbGwtZm9udC1zaXplOiA2MCUgIWRlZmF1bHQ7XG4kc21hbGwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAzNSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgcGFyYWdyYXBoc1xuJHBhcmFncmFwaC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbGluZS1oZWlnaHQ6IDEuNiAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ6IDEuMzUgIWRlZmF1bHQ7XG4kcGFyYWdyYXBoLWFzaWRlLWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIDxjb2RlPiB0YWdzXG4kY29kZS1jb2xvcjogJG9pbCAhZGVmYXVsdDtcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kY29kZS1iYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2Vjb25kYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiA3MCUpICFkZWZhdWx0O1xuJGNvZGUtYm9yZGVyLXNpemU6IDFweCAhZGVmYXVsdDtcbiRjb2RlLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kY29kZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRjb2RlLWJhY2tncm91bmQtY29sb3IsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMikgcmVtLWNhbGMoNSkgcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSBhbmNob3JzXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuJGFuY2hvci1mb250LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRhbmNob3ItZm9udC1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSA8aHI+IGVsZW1lbnRcbiRoci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRoci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGhyLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIGxpc3RzXG4kbGlzdC1mb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseSAhZGVmYXVsdDtcbiRsaXN0LWZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemUgIWRlZmF1bHQ7XG4kbGlzdC1saW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodCAhZGVmYXVsdDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMXJlbSAhZGVmYXVsdDtcbiRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW46IDEuNHJlbSAhZGVmYXVsdDtcbiRsaXN0LXNpZGUtbWFyZ2luLW5vLWJ1bGxldDogMCAhZGVmYXVsdDtcbiRsaXN0LW5lc3RlZC1tYXJnaW46IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kZGVmaW5pdGlvbi1saXN0LWhlYWRlci1tYXJnaW4tYm90dG9tOiAuM3JlbSAhZGVmYXVsdDtcbiRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgYmxvY2txdW90ZXNcbiRibG9ja3F1b3RlLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCRoZWFkZXItZm9udC1jb2xvciwgJGxpZ2h0bmVzczogMzUlKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcbiRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGhlYWRlci1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAyMyUpICFkZWZhdWx0O1xuJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEFjcm9ueW0gc3R5bGVzXG4kYWNyb255bS11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgcGFkZGluZyBhbmQgbWFyZ2luXG4kbWljcm9mb3JtYXQtcGFkZGluZzogcmVtLWNhbGMoMTAgMTIpICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBmdWxsIG5hbWUgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplOiByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIHN1bW1hcnkgZm9udCBzdHlsZXNcbiRtaWNyb2Zvcm1hdC1zdW1tYXJ5LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBhYmJyIHBhZGRpbmdcbiRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc6IHJlbS1jYWxjKDAgMSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYWJiciBmb250IHN0eWxlc1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG1pY3JvZm9ybWF0LWFiYnItZm9udC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLyBDb250cm9scyB0aGUgcGFnZSBtYXJnaW4gd2hlbiBwcmludGluZyB0aGUgd2Vic2l0ZVxuJHByaW50LW1hcmdpbjogMC4zNGluICFkZWZhdWx0O1xuXG4vLyBUZXh0IGFsaWdubWVudCBjbGFzcyBuYW1lc1xuJGFsaWduLWNsYXNzLW5hbWVzOlxuICBzbWFsbC1vbmx5LFxuICBzbWFsbCxcbiAgbWVkaXVtLW9ubHksXG4gIG1lZGl1bSxcbiAgbGFyZ2Utb25seSxcbiAgbGFyZ2UsXG4gIHhsYXJnZS1vbmx5LFxuICB4bGFyZ2UsXG4gIHh4bGFyZ2Utb25seSxcbiAgeHhsYXJnZTtcblxuLy8gVGV4dCBhbGlnbm1lbnQgYnJlYWtwb2ludHNcbiRhbGlnbi1jbGFzcy1icmVha3BvaW50czpcbiAgJHNtYWxsLW9ubHksXG4gICRzbWFsbC11cCxcbiAgJG1lZGl1bS1vbmx5LFxuICAkbWVkaXVtLXVwLFxuICAkbGFyZ2Utb25seSxcbiAgJGxhcmdlLXVwLFxuICAkeGxhcmdlLW9ubHksXG4gICR4bGFyZ2UtdXAsXG4gICR4eGxhcmdlLW9ubHksXG4gICR4eGxhcmdlLXVwO1xuXG4vLyBHZW5lcmF0ZXMgdGV4dCBhbGlnbiBhbmQganVzdGlmeSBjbGFzc2VzXG5AbWl4aW4gYWxpZ24tY2xhc3Nlc3tcbiAgLnRleHQtbGVmdCAgICB7IHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDsgfVxuICAudGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAudGV4dC1jZW50ZXIgIHsgdGV4dC1hbGlnbjogY2VudGVyICFpbXBvcnRhbnQ7IH1cbiAgLnRleHQtanVzdGlmeSB7IHRleHQtYWxpZ246IGp1c3RpZnkgIWltcG9ydGFudDsgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggbGVuZ3RoKCRhbGlnbi1jbGFzcy1uYW1lcykge1xuICAgIEBtZWRpYSAjeyhudGgoJGFsaWduLWNsYXNzLWJyZWFrcG9pbnRzLCAkaSkpfSB7XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1sZWZ0IHsgdGV4dC1hbGlnbjogbGVmdCAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1yaWdodCAgIHsgdGV4dC1hbGlnbjogcmlnaHQgIWltcG9ydGFudDsgfVxuICAgICAgLiN7KG50aCgkYWxpZ24tY2xhc3MtbmFtZXMsICRpKSl9LXRleHQtY2VudGVyICB7IHRleHQtYWxpZ246IGNlbnRlciAhaW1wb3J0YW50OyB9XG4gICAgICAuI3sobnRoKCRhbGlnbi1jbGFzcy1uYW1lcywgJGkpKX0tdGV4dC1qdXN0aWZ5IHsgdGV4dC1hbGlnbjoganVzdGlmeSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vXG4vLyBUeXBvZ3JhcGh5IFBsYWNlaG9sZGVyc1xuLy9cblxuLy8gVGhlc2Ugd2lsbCB0aHJvdyBhIGRlcHJlY2F0aW9uIHdhcm5pbmcgaWYgdXNlZCB3aXRoaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBsZWFkIHtcbiAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZSArIHJlbS1jYWxjKDMuNSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbkBtaXhpbiBzdWJoZWFkZXIge1xuICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRzdWJoZWFkZXItZm9udC1jb2xvcjtcbiAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItdG9wLW1hcmdpbjtcbiAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1ib3R0b20tbWFyZ2luO1xufVxuQGluY2x1ZGUgZXhwb3J0cyhcInR5cGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXMge1xuICAgIC8vIFJlc3BvbnNpdmUgVGV4dCBhbGlnbm1lbnRcbiAgICBAaW5jbHVkZSBhbGlnbi1jbGFzc2VzO1xuXG4gICAgLyogVHlwb2dyYXBoeSByZXNldHMgKi9cbiAgICBkaXYsXG4gICAgZGwsXG4gICAgZHQsXG4gICAgZGQsXG4gICAgdWwsXG4gICAgb2wsXG4gICAgbGksXG4gICAgaDEsXG4gICAgaDIsXG4gICAgaDMsXG4gICAgaDQsXG4gICAgaDUsXG4gICAgaDYsXG4gICAgcHJlLFxuICAgIGZvcm0sXG4gICAgcCxcbiAgICBibG9ja3F1b3RlLFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cblxuICAgIC8qIERlZmF1bHQgTGluayBTdHlsZXMgKi9cbiAgICBhIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgY29sb3I6ICRhbmNob3ItZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgXHR0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGltZyB7IGJvcmRlcjpub25lOyB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBwYXJhZ3JhcGggc3R5bGVzICovXG4gICAgcCB7XG4gICAgICBmb250LWZhbWlseTogJHBhcmFncmFwaC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJHBhcmFncmFwaC1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgICYubGVhZCB7IEBpbmNsdWRlIGxlYWQ7IH1cblxuICAgICAgJiBhc2lkZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHBhcmFncmFwaC1hc2lkZS1mb250LXNpemU7XG4gICAgICAgIGZvbnQtc3R5bGU6ICRwYXJhZ3JhcGgtYXNpZGUtZm9udC1zdHlsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtYXNpZGUtbGluZS1oZWlnaHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogRGVmYXVsdCBoZWFkZXIgc3R5bGVzICovXG4gICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiB7XG4gICAgICBjb2xvcjogJGhlYWRlci1mb250LWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRoZWFkZXItZm9udC1mYW1pbHk7XG4gICAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkaGVhZGVyLWxpbmUtaGVpZ2h0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGhlYWRlci1ib3R0b20tbWFyZ2luO1xuICAgICAgbWFyZ2luLXRvcDogJGhlYWRlci10b3AtbWFyZ2luO1xuICAgICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgY29sb3I6ICRzbWFsbC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplIC0gJGgxLWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDIgeyBmb250LXNpemU6ICRoMi1mb250LXNpemUgLSAkaDItZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoMyB7IGZvbnQtc2l6ZTogJGgzLWZvbnQtc2l6ZSAtICRoMy1mb250LXJlZHVjdGlvbjsgfVxuICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplIC0gJGg0LWZvbnQtcmVkdWN0aW9uOyB9XG4gICAgaDUgeyBmb250LXNpemU6ICRoNS1mb250LXNpemUgLSAkaDUtZm9udC1yZWR1Y3Rpb247IH1cbiAgICBoNiB7IGZvbnQtc2l6ZTogJGg2LWZvbnQtc2l6ZSAtICRoNi1mb250LXJlZHVjdGlvbjsgfVxuXG4gICAgLnN1YmhlYWRlciB7IEBpbmNsdWRlIHN1YmhlYWRlcjsgfVxuXG4gICAgaHIge1xuICAgICAgYm9yZGVyOiAkaHItYm9yZGVyLXN0eWxlICRoci1ib3JkZXItY29sb3I7XG4gICAgICBib3JkZXItd2lkdGg6ICRoci1ib3JkZXItd2lkdGggMCAwO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBtYXJnaW46ICRoci1tYXJnaW4gMCAoJGhyLW1hcmdpbiAtIHJlbS1jYWxjKCRoci1ib3JkZXItd2lkdGgpKTtcbiAgICB9XG5cbiAgICAvKiBIZWxwZnVsIFR5cG9ncmFwaHkgRGVmYXVsdHMgKi9cbiAgICBlbSxcbiAgICBpIHtcbiAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHN0cm9uZyxcbiAgICBiIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIHNtYWxsIHtcbiAgICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgIGNvZGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZC1jb2xvcjtcbiAgICAgIGJvcmRlci1jb2xvcjogJGNvZGUtYm9yZGVyLWNvbG9yO1xuICAgICAgYm9yZGVyLXN0eWxlOiAkY29kZS1ib3JkZXItc3R5bGU7XG4gICAgICBib3JkZXItd2lkdGg6ICRjb2RlLWJvcmRlci1zaXplO1xuICAgICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICAgICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgICAgcGFkZGluZzogJGNvZGUtcGFkZGluZztcbiAgICB9XG5cbiAgICAvKiBMaXN0cyAqL1xuICAgIHVsLFxuICAgIG9sLFxuICAgIGRsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkbGlzdC1mb250LWZhbWlseTtcbiAgICAgIGZvbnQtc2l6ZTogJGxpc3QtZm9udC1zaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmUtaGVpZ2h0O1xuICAgICAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJGxpc3Qtc3R5bGUtcG9zaXRpb247XG4gICAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgfVxuXG4gICAgLyogVW5vcmRlcmVkIExpc3RzICovXG4gICAgdWwge1xuICAgICAgbGkge1xuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3QtbmVzdGVkLW1hcmdpbjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNxdWFyZSxcbiAgICAgICYuY2lyY2xlLFxuICAgICAgJi5kaXNjIHtcbiAgICAgICAgbGkgdWwgeyBsaXN0LXN0eWxlOiBpbmhlcml0OyB9XG4gICAgICB9XG5cbiAgICAgICYuc3F1YXJlIHsgbGlzdC1zdHlsZS10eXBlOiBzcXVhcmU7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgICAgJi5jaXJjbGUgeyBsaXN0LXN0eWxlLXR5cGU6IGNpcmNsZTsgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1zaWRlLW1hcmdpbjt9XG4gICAgICAmLmRpc2MgeyBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7IG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW47fVxuICAgIH1cblxuICAgIC8qIE9yZGVyZWQgTGlzdHMgKi9cbiAgICBvbCB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRsaXN0LW9yZGVyZWQtc2lkZS1tYXJnaW47XG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXN0cyB3aXRob3V0IGJ1bGxldHNcbiAgICAubm8tYnVsbGV0IHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJGxpc3Qtc2lkZS1tYXJnaW4tbm8tYnVsbGV0O1xuICAgICAgXG4gICAgICBsaSB7XG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkbGlzdC1uZXN0ZWQtbWFyZ2luO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8qIERlZmluaXRpb24gTGlzdHMgKi9cbiAgICBkbCB7XG4gICAgICBkdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmaW5pdGlvbi1saXN0LWhlYWRlci13ZWlnaHQ7XG4gICAgICB9XG4gICAgICBkZCB7IG1hcmdpbi1ib3R0b206ICRkZWZpbml0aW9uLWxpc3QtbWFyZ2luLWJvdHRvbTsgfVxuICAgIH1cblxuICAgIC8qIEFiYnJldmlhdGlvbnMgKi9cbiAgICBhYmJyLFxuICAgIGFjcm9ueW0ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogOTAlO1xuICAgICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRjdXJzb3ItaGVscC12YWx1ZTtcbiAgICB9XG4gICAgYWJiciB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICZbdGl0bGVdIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGFjcm9ueW0tdW5kZXJsaW5lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEJsb2NrcXVvdGVzICovXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBtYXJnaW46IDAgMCAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9OiAkYmxvY2txdW90ZS1ib3JkZXI7XG5cbiAgICAgIGNpdGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAkYmxvY2txdW90ZS1jaXRlLWZvbnQtc2l6ZTtcbiAgICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNpdGUtZm9udC1jb2xvcjtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFwyMDE0IFxcMDAyMFwiO1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHtcbiAgICAgICAgICBjb2xvcjogJGJsb2NrcXVvdGUtY2l0ZS1saW5rLWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGJsb2NrcXVvdGUsXG4gICAgYmxvY2txdW90ZSBwIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmUtaGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgLyogTWljcm9mb3JtYXRzICovXG4gICAgLnZjYXJkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogJG1pY3JvZm9ybWF0LW1hcmdpbjtcbiAgICAgIGJvcmRlcjogJG1pY3JvZm9ybWF0LWJvcmRlci13aWR0aCAkbWljcm9mb3JtYXQtYm9yZGVyLXN0eWxlICRtaWNyb2Zvcm1hdC1ib3JkZXItY29sb3I7XG4gICAgICBwYWRkaW5nOiAkbWljcm9mb3JtYXQtcGFkZGluZztcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgLmZuIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1mdWxsbmFtZS1mb250LXdlaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAkbWljcm9mb3JtYXQtZnVsbG5hbWUtZm9udC1zaXplO1xuICAgICAgfVxuICAgIH1cblxuICAgIC52ZXZlbnQge1xuICAgICAgLnN1bW1hcnkgeyBmb250LXdlaWdodDogJG1pY3JvZm9ybWF0LXN1bW1hcnktZm9udC13ZWlnaHQ7IH1cblxuICAgICAgYWJiciB7XG4gICAgICAgIGN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtZGVjb3JhdGlvbjtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICRtaWNyb2Zvcm1hdC1hYmJyLWZvbnQtd2VpZ2h0O1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRtaWNyb2Zvcm1hdC1hYmJyLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHsgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZS1oZWlnaHQ7IH1cbiAgICAgIGgxIHsgZm9udC1zaXplOiAkaDEtZm9udC1zaXplOyB9XG4gICAgICBoMiB7IGZvbnQtc2l6ZTogJGgyLWZvbnQtc2l6ZTsgfVxuICAgICAgaDMgeyBmb250LXNpemU6ICRoMy1mb250LXNpemU7IH1cbiAgICAgIGg0IHsgZm9udC1zaXplOiAkaDQtZm9udC1zaXplOyB9XG4gICAgICBoNSB7IGZvbnQtc2l6ZTogJGg1LWZvbnQtc2l6ZTsgfVxuICAgICAgaDYgeyBmb250LXNpemU6ICRoNi1mb250LXNpemU7IH1cbiAgICB9XG5cbiAgICAvLyBPbmx5IGluY2x1ZGUgdGhlc2Ugc3R5bGVzIGlmIHlvdSB3YW50IHRoZW0uXG4gICAgQGlmICRpbmNsdWRlLXByaW50LXN0eWxlcyB7XG4gICAgICAvKlxuICAgICAgICogUHJpbnQgc3R5bGVzLlxuICAgICAgICpcbiAgICAgICAqIElubGluZWQgdG8gYXZvaWQgcmVxdWlyZWQgSFRUUCBjb25uZWN0aW9uOiB3d3cucGhwaWVkLmNvbS9kZWxheS1sb2FkaW5nLXlvdXItcHJpbnQtY3NzL1xuICAgICAgICogQ3JlZGl0IHRvIFBhdWwgSXJpc2ggYW5kIEhUTUw1IEJvaWxlcnBsYXRlIChodG1sNWJvaWxlcnBsYXRlLmNvbSlcbiAgICAgICovXG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAqIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGNvbG9yOiAkYmxhY2sgIWltcG9ydGFudDsgLyogQmxhY2sgcHJpbnRzIGZhc3RlcjogaDVicC5jb20vcyAqL1xuICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSxcbiAgICAgICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgICAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogXCIgKFwiIGF0dHIoaHJlZikgXCIpXCI7IH1cblxuICAgICAgICBhYmJyW3RpdGxlXTphZnRlciB7IGNvbnRlbnQ6IFwiIChcIiBhdHRyKHRpdGxlKSBcIilcIjsgfVxuXG4gICAgICAgIC8vIERvbid0IHNob3cgbGlua3MgZm9yIGltYWdlcywgb3IgamF2YXNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgICAgICAuaXIgYTphZnRlcixcbiAgICAgICAgYVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuICAgICAgICBhW2hyZWZePVwiI1wiXTphZnRlciB7IGNvbnRlbnQ6IFwiXCI7IH1cblxuICAgICAgICBwcmUsXG4gICAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRhbHVtaW51bTtcbiAgICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIH1cblxuICAgICAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgLyogaDVicC5jb20vdCAqLyB9XG5cbiAgICAgICAgdHIsXG4gICAgICAgIGltZyB7IHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuXG4gICAgICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICAgICAgQHBhZ2UgeyBtYXJnaW46ICRwcmludC1tYXJnaW47IH1cblxuICAgICAgICBwLFxuICAgICAgICBoMixcbiAgICAgICAgaDMge1xuICAgICAgICAgIG9ycGhhbnM6IDM7XG4gICAgICAgICAgd2lkb3dzOiAzO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIsXG4gICAgICAgIGgzIHsgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdmlkZW8gY29udGFpbmVyIHBhZGRpbmcgYW5kIG1hcmdpbnNcbiRmbGV4LXZpZGVvLXBhZGRpbmctdG9wOiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kZmxleC12aWRlby1wYWRkaW5nLWJvdHRvbTogNjcuNSUgIWRlZmF1bHQ7XG4kZmxleC12aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgd2lkZXNjcmVlbiBib3R0b20gcGFkZGluZ1xuJGZsZXgtdmlkZW8td2lkZXNjcmVlbi1wYWRkaW5nLWJvdHRvbTogNTYuMzQlICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuQG1peGluIGZsZXgtdmlkZW8tY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleC12aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogJGZsZXgtdmlkZW8tcGFkZGluZy1ib3R0b207XG4gIHBhZGRpbmctdG9wOiAkZmxleC12aWRlby1wYWRkaW5nLXRvcDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYud2lkZXNjcmVlbiB7IHBhZGRpbmctYm90dG9tOiAkZmxleC12aWRlby13aWRlc2NyZWVuLXBhZGRpbmctYm90dG9tOyB9XG4gICYudmltZW8geyBwYWRkaW5nLXRvcDogMDsgfVxuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJmbGV4LXZpZGVvXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG4gICAgLmZsZXgtdmlkZW8geyBAaW5jbHVkZSBmbGV4LXZpZGVvLWNvbnRhaW5lcjsgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBGb3Jtc1xuLy9cbi8vIFdlIHNldCBvdXQgdG8gY3JlYXRlIGFuIGVhc3ksIHBvd2VyZnVsIGFuZCB2ZXJzYXRpbGUgZm9ybSBsYXlvdXQgc3lzdGVtLiBBXG4vLyBjb21iaW5hdGlvbiBvZiBmb3JtIHN0eWxlcyBhbmQgdGhlIEZvdW5kYXRpb24gZ3JpZCBtZWFucyB5b3UgY2FuIGRvIGFsbW9zdFxuLy8gYW55dGhpbmcuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoaXMgdG8gc2V0IHRoZSBiYXNlIGZvciBsb3RzIG9mIGZvcm0gc3BhY2luZyBhbmQgcG9zaXRpb25pbmcgc3R5bGVzXG4vLyAkZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgbGFiZWxzIGluIGRpZmZlcmVudCB3YXlzXG4vLyAkZm9ybS1sYWJlbC1wb2ludGVyOiBwb2ludGVyO1xuLy8gJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkZm9ybS1sYWJlbC1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuNTtcbi8vICRmb3JtLWxhYmVsLWZvbnQtY29sb3I6IHNjYWxlLWNvbG9yKCMwMDAsICRsaWdodG5lc3M6IDMwJSk7XG4vLyAkZm9ybS1sYWJlbC1ib3R0b20tbWFyZ2luOiAwO1xuLy8gJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuLy8gJGlucHV0LWZvbnQtY29sb3I6IHJnYmEoMCwwLDAsMC43NSk7XG4vLyAkaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkaW5wdXQtYmctY29sb3I6ICNmZmY7XG4vLyAkaW5wdXQtZm9jdXMtYmctY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0yJSk7XG4vLyAkaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtMjAlKTtcbi8vICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC00MCUpO1xuLy8gJGlucHV0LWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkaW5wdXQtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkaW5wdXQtYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4vLyAkaW5wdXQtZGlzYWJsZWQtYmc6ICNkZGQ7XG4vLyAkaW5wdXQtYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMCwwLDAsMC4xKTtcbi8vICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0OiB0cnVlO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGZpZWxkc2V0IGJvcmRlciBhbmQgc3BhY2luZy5cbi8vICRmaWVsZHNldC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJGZpZWxkc2V0LWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGZpZWxkc2V0LWJvcmRlci1jb2xvcjogI2RkZDtcbi8vICRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG4vLyAkZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsZWdlbmRzIHdoZW4geW91IHVzZSB0aGVtXG4vLyAkbGVnZW5kLWJnOiAjZmZmO1xuLy8gJGxlZ2VuZC1mb250LXdlaWdodDogYm9sZDtcbi8vICRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBwcmVmaXggYW5kIHBvc3RmaXggaW5wdXQgZWxlbWVudHNcbi8vICRpbnB1dC1wcmVmaXgtYmc6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC01JSk7XG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTIwJSk7XG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci1zaXplOiAxcHg7XG4vLyAkaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZDtcbi8vICRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IGhpZGRlbjtcbi8vICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjogIzMzMztcbi8vICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ6ICNmZmY7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZXJyb3Igc3RhdGVzIGZvciBpbnB1dHMgYW5kIGxhYmVsc1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtcGFkZGluZzogcmVtLWNhbGMoNiA5IDkpO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtdG9wOiAtMXB4O1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTogaXRhbGljO1xuLy8gJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjogI2ZmZjtcbi8vICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtY29sb3ItYWx0OiAjMzMzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgZ2xvd2luZyBlZmZlY3Qgb2YgaW5wdXRzIHdoZW4gZm9jdXNlZFxuLy8gJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZTogMC40NXM7XG4vLyAkZ2xvd2luZy1lZmZlY3QtY29sb3I6ICRpbnB1dC1mb2N1cy1ib3JkZXItY29sb3I7XG5cbi8vIFNlbGVjdCB2YXJpYWJsZXNcbi8vICRzZWxlY3QtYmctY29sb3I6ICNmYWZhZmE7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvZm9ybXNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtZm9ybXNcIikge1xuXG4gIC8vIEdlbmVyYWwgRm9ybSBMYXlvdXRcblxuXG4gIHNlbGVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAuRm9ybVdyYXBwZXJ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyNSAxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygyNSk7XG4gICAgfVxuICB9XG4gIC5NZXNzYWdlRm9ybXtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMjUpO1xuICAgIH1cbiAgICAuSHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI0KTtcbiAgICB9XG4gIH1cbiAgLkRhdGFMaXN0V3JhcCwgLkNvbW1lbnRGb3JtV3JhcHtcbiAgICB0ZXh0YXJlYXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gIH1cblxuICAuVGV4dEJveFdyYXBwZXJ7XG4gICAgLklucHV0Qm94LCB0ZXh0YXJlYSwgLnRva2VuLWlucHV0LWxpc3R7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICB9XG4gIH1cblxuICAuUCAuUHJldmlldywgLlByZXZpZXd7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC5NZXNzYWdle1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5lZGl0b3ItaGVscC10ZXh0IGF7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuICAuYmJjb2RlX3VybHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLkZvcm1XcmFwcGVye1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICAuZWRpdG9yLWhlbHAtdGV4dCxcbiAgICAuZWRpdG9ye1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gICAgLmVkaXRvci11cGxvYWQtcHJldmlld3N7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbiAgICAuZWRpdG9yLWhlbHAtdGV4dHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgIGF7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIERpc2N1c3Npb24gQ29tbWVudEZvcm0gRm9ybVdyYXBwZXJcbiAgLkNvbW1lbnRGb3Jte1xuICAgIC5Gb3JtLUhlYWRlcntcbiAgICAgIC5BdXRob3J7XG4gICAgICAgIC5QaG90b1dyYXB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLkNvbW1lbnRMaW5re1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMjUpO1xuICAgIH1cbiAgICAuRm9ybVdyYXBwZXJ7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEVycm9yIE1lc3NhZ2VcbiAgLkZvcm1XcmFwcGVye1xuICAgIC5NZXNzYWdlcywgLkVycm9yc3tcbiAgICAgIHVse1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUHJvZmlsZSBGb3JtIFdyYXBwZXIgU3BhY2luZ1xuLlByb2ZpbGV7XG4gIC5Gb3JtV3JhcHBlcntcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cblxuLy8gSlMgQ29ubmVjdCBGb3JtXG4uY29ubmVjdCAuQ29ubmVjdHtcbiAgI0Nvbm5lY3RQYXNzd29yZHtcbiAgICAuSW5wdXRCb3h7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KTtcbiAgICB9XG4gICAgbGFiZWx7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gICAgLkZpbmVQcmludHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2J1dHRvbnMnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgYmFzZSBmb3IgbG90cyBvZiBmb3JtIHNwYWNpbmcgYW5kIHBvc2l0aW9uaW5nIHN0eWxlc1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxhYmVscyBpbiBkaWZmZXJlbnQgd2F5c1xuJGZvcm0tbGFiZWwtcG9pbnRlcjogcG9pbnRlciAhZGVmYXVsdDtcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS41ICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtZm9udC1jb2xvcjogc2NhbGUtY29sb3IoJGJsYWNrLCAkbGlnaHRuZXNzOiAzMCUpICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtc21hbGwtdHJhbnNmb3JtOiBjYXBpdGFsaXplICFkZWZhdWx0O1xuJGZvcm0tbGFiZWwtYm90dG9tLW1hcmdpbjogMCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LWNvbG9yOiByZ2JhKDAsMCwwLDAuNzUpICFkZWZhdWx0O1xuJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRpbnB1dC1iZy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yJSkgIWRlZmF1bHQ7XG4kaW5wdXQtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0yMCUpICFkZWZhdWx0O1xuJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNDAlKSAhZGVmYXVsdDtcbiRpbnB1dC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJGlucHV0LWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWJnOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGlucHV0LWRpc2FibGVkLWN1cnNvcjogJGN1cnNvci1kZWZhdWx0LXZhbHVlICFkZWZhdWx0O1xuJGlucHV0LWJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMSkgIWRlZmF1bHQ7XG4kaW5wdXQtaW5jbHVkZS1nbG93aW5nLWVmZmVjdDogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgZmllbGRzZXQgYm9yZGVyIGFuZCBzcGFjaW5nLlxuJGZpZWxkc2V0LWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kZmllbGRzZXQtYm9yZGVyLWNvbG9yOiAkZ2FpbnNib3JvICFkZWZhdWx0O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGxlZ2VuZHMgd2hlbiB5b3UgdXNlIHRoZW1cbiRsZWdlbmQtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHByZWZpeCBhbmQgcG9zdGZpeCBpbnB1dCBlbGVtZW50c1xuJGlucHV0LXByZWZpeC1iZzogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuJGlucHV0LXByZWZpeC1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTIwJSkgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWJvcmRlci10eXBlOiBzb2xpZCAhZGVmYXVsdDtcbiRpbnB1dC1wcmVmaXgtb3ZlcmZsb3c6IHZpc2libGUgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHNldHRpbmcgdG8gdHVybiBvbi9vZmYgSFRNTDUgbnVtYmVyIHNwaW5uZXJzICh0aGUgdXAvZG93biBhcnJvd3MpXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIGVycm9yIHN0YXRlcyBmb3IgaW5wdXRzIGFuZCBsYWJlbHNcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc6IHJlbS1jYWxjKDYgOSA5KSAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLXRvcDogLTFweCAhZGVmYXVsdDtcbiRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kaW5wdXQtZXJyb3ItbWVzc2FnZS1iZy1jb2xvcjogJGFsZXJ0LWNvbG9yICFkZWZhdWx0O1xuJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvci1hbHQ6ICRvaWwgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHN0eWxlIHRoZSBnbG93aW5nIGVmZmVjdCBvZiBpbnB1dHMgd2hlbiBmb2N1c2VkXG4kZ2xvd2luZy1lZmZlY3QtZmFkZS10aW1lOiAuNDVzICFkZWZhdWx0O1xuJGdsb3dpbmctZWZmZWN0LWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzdHlsZSB0aGUgdHJhbnNpdGlvbiB3aGVuIGlucHV0cyBhcmUgZm9jdXNlZCBhbmQgd2hlbiB0aGUgZ2xvd2luZyBlZmZlY3QgaXMgZGlzYWJsZWQuXG4kaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWU6IDAuMTVzICFkZWZhdWx0O1xuJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhZGVmYXVsdDtcblxuLy8gU2VsZWN0IHZhcmlhYmxlc1xuJHNlbGVjdC1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xuJHNlbGVjdC1ob3Zlci1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlbGVjdC1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTMlKSAhZGVmYXVsdDtcblxuLy9cbi8vIEBNSVhJTlNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGdpdmUgdXMgZm9ybSBzdHlsZXMgZm9yIHJvd3MgaW5zaWRlIG9mIGZvcm1zXG5AbWl4aW4gZm9ybS1yb3ctYmFzZSB7XG4gIC5yb3cgeyBtYXJnaW46IDAgKCgtJGZvcm0tc3BhY2luZykgLyAyKTtcblxuICAgIC5jb2x1bW4sXG4gICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwICgkZm9ybS1zcGFjaW5nIC8gMik7IH1cblxuICAgIC8vIFVzZSB0aGlzIHRvIGNvbGxhcHNlIHRoZSBtYXJnaW5zIG9mIGEgZm9ybSByb3dcbiAgICAmLmNvbGxhcHNlIHsgbWFyZ2luOiAwO1xuXG4gICAgICAuY29sdW1uLFxuICAgICAgLmNvbHVtbnMgeyBwYWRkaW5nOiAwOyB9XG4gICAgICBpbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sIDApO1xuICAgICAgfVxuXG4gICAgfVxuICB9XG4gIGlucHV0LmNvbHVtbixcbiAgaW5wdXQuY29sdW1ucyxcbiAgdGV4dGFyZWEuY29sdW1uLFxuICB0ZXh0YXJlYS5jb2x1bW5zIHsgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogKCRmb3JtLXNwYWNpbmcgLyAyKTsgfVxufVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBnaXZlIGFsbCBiYXNpYyBmb3JtIGVsZW1lbnRzIHRoZWlyIHN0eWxlXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJnLWNvbG9yO1xuICBib3JkZXI6IHtcbiAgICBzdHlsZTogJGlucHV0LWJvcmRlci1zdHlsZTtcbiAgICB3aWR0aDogJGlucHV0LWJvcmRlci13aWR0aDtcbiAgICBjb2xvcjogJGlucHV0LWJvcmRlci1jb2xvcjtcbiAgfVxuICBib3gtc2hhZG93OiAkaW5wdXQtYm94LXNoYWRvdztcbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgQGlmICRpbnB1dC1pbmNsdWRlLWdsb3dpbmctZWZmZWN0IHtcbiAgICBAaW5jbHVkZSBibG9jay1nbG93aW5nLWVmZmVjdChmb2N1cywgJGdsb3dpbmctZWZmZWN0LWZhZGUtdGltZSwgJGdsb3dpbmctZWZmZWN0LWNvbG9yKTtcbiAgfVxuICAvLyBCYXNpYyBmb2N1cyBzdHlsZXNcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogJGlucHV0LWZvY3VzLWJnLWNvbG9yO1xuICAgIGJvcmRlci1jb2xvcjogJGlucHV0LWZvY3VzLWJvcmRlci1jb2xvcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gIC8vIERpc2FibGVkIFN0eWxlc1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgYmFja2dyb3VuZCBpbnB1dCBiYWNrZ3JvdW5kIGNvbG9yXG4gICZbZGlzYWJsZWRdLFxuICAmW3JlYWRvbmx5XSxcbiAgZmllbGRzZXRbZGlzYWJsZWRdICYge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1kaXNhYmxlZC1iZztcbiAgICBjdXJzb3I6ICRpbnB1dC1kaXNhYmxlZC1jdXJzb3I7XG4gIH1cbn1cblxuLy8gQE1JWElOXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIGZvcm0gbGFiZWxzXG4vL1xuLy8gJGFsaWdubWVudCAtIEFsaWdubWVudCBvcHRpb25zLiBEZWZhdWx0OiBmYWxzZS4gT3B0aW9uczogW3JpZ2h0LCBpbmxpbmUsIGZhbHNlXVxuLy8gJGJhc2Utc3R5bGUgLSBDb250cm9sIHdoZXRoZXIgb3Igbm90IHRoZSBiYXNlIHN0eWxlcyBjb21lIHRocm91Z2guIERlZmF1bHQ6IHRydWUuXG5AbWl4aW4gZm9ybS1sYWJlbCgkYWxpZ25tZW50OmZhbHNlLCAkYmFzZS1zdHlsZTp0cnVlKSB7XG5cbiAgLy8gQ29udHJvbCB3aGV0aGVyIG9yIG5vdCB0aGUgYmFzZSBzdHlsZXMgY29tZSB0aHJvdWdoLlxuICBAaWYgJGJhc2Utc3R5bGUge1xuICAgIGNvbG9yOiAkZm9ybS1sYWJlbC1mb250LWNvbG9yO1xuICAgIGN1cnNvcjogJGZvcm0tbGFiZWwtcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLWxhYmVsLWJvdHRvbS1tYXJnaW47XG4gIH1cblxuICAvLyBBbGlnbm1lbnQgb3B0aW9uc1xuICBAaWYgJGFsaWdubWVudCA9PSByaWdodCB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgfVxuICBAZWxzZSBpZiAkYWxpZ25tZW50ID09IGlubGluZSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZyAwO1xuICAgIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkgMDtcbiAgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcG9zdGZpeC9wcmVmaXggZm9ybSBMYWJlbHNcbkBtaXhpbiBwcmVmaXgtcG9zdGZpeC1iYXNlIHtcbiAgYm9yZGVyLXN0eWxlOiAkaW5wdXQtcHJlZml4LWJvcmRlci10eXBlO1xuICBib3JkZXItd2lkdGg6ICRpbnB1dC1wcmVmaXgtYm9yZGVyLXNpemU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgbGluZS1oZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuICBvdmVyZmxvdzogJGlucHV0LXByZWZpeC1vdmVyZmxvdztcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwcmVmaXggbGFiZWwgc3R5bGVzXG4vLyAkYmcgLSBEZWZhdWx0OiRpbnB1dC1wcmVmaXgtYmcgfHwgc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAtNSUpICFkZWZhdWx0O1xuLy8gJGlzLWJ1dHRvbiAtIFRvZ2dsZSBwb3NpdGlvbiBzZXR0aW5ncyBpZiBwcmVmaXggaXMgYSBidXR0b24uIERlZmF1bHQ6ZmFsc2Vcbi8vXG5AbWl4aW4gcHJlZml4KCRiZzokaW5wdXQtcHJlZml4LWJnLCAkYm9yZGVyOiRpbnB1dC1wcmVmaXgtYm9yZGVyLWNvbG9yLCAkaXMtYnV0dG9uOmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7XG4gICAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiBub25lO1xuXG4gICAgLy8gQ29udHJvbCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGJyaWdodG5lc3NcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSBvciAkYmcgPT0geWVsbG93IHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRpbnB1dC1wcmVmaXgtZm9udC1jb2xvci1hbHQ7IH1cbiAgfVxuXG4gIEBpZiAkYm9yZGVyIHtcbiAgICBib3JkZXItY29sb3I6ICRib3JkZXI7XG4gIH1cblxuICBAaWYgJGlzLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBwb3N0Zml4IGxhYmVsIHN0eWxlc1xuLy8gJGJnIC0gRGVmYXVsdDokaW5wdXQtcHJlZml4LWJnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbi8vICRpcy1idXR0b24gLSBUb2dnbGUgcG9zaXRpb24gc2V0dGluZ3MgaWYgcHJlZml4IGlzIGEgYnV0dG9uLiBEZWZhdWx0OiBmYWxzZVxuQG1peGluIHBvc3RmaXgoJGJnOiRpbnB1dC1wcmVmaXgtYmcsICRib3JkZXItbGVmdC1oaWRkZW46dHJ1ZSwgJGJvcmRlcjokaW5wdXQtcHJlZml4LWJvcmRlci1jb2xvciwgJGlzLWJ1dHRvbjpmYWxzZSkge1xuXG4gIEBpZiAkYmcge1xuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICAgIGJhY2tncm91bmQ6ICRiZztcbiAgICBAaWYgJGJvcmRlci1sZWZ0LWhpZGRlbiB7XG4gICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH06IG5vbmU7XG4gICAgfVxuXG4gICAgLy8gQ29udHJvbCB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiBiYWNrZ3JvdW5kIGJyaWdodG5lc3NcbiAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+IDcwJSAgb3IgJGJnID09IHllbGxvdyB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3I7IH1cbiAgICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtcHJlZml4LWZvbnQtY29sb3ItYWx0OyB9XG4gIH1cblxuICBAaWYgJGJvcmRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAkYm9yZGVyO1xuICB9XG5cbiAgQGlmICRpcy1idXR0b24ge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBmaWVsZHNldHNcbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlci13aWR0aCAkZmllbGRzZXQtYm9yZGVyLXN0eWxlICRmaWVsZHNldC1ib3JkZXItY29sb3I7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG5cbiAgLy8gYW5kIGxlZ2VuZCBzdHlsZXNcbiAgbGVnZW5kIHtcbiAgICBmb250LXdlaWdodDogJGxlZ2VuZC1mb250LXdlaWdodDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiByZW0tY2FsYygtMyk7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNvbnRyb2wgYm9yZGVyIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDogJGFsZXJ0LWNvbG9yIChmb3VuZCBpbiBzZXR0aW5ncyBmaWxlKVxuQG1peGluIGZvcm0tZXJyb3ItY29sb3IoJGNvbG9yOiRhbGVydC1jb2xvcikge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRjb2xvciwgLjEpO1xuICBib3JkZXItY29sb3I6ICRjb2xvcjtcblxuICAvLyBHbyBiYWNrIHRvIG5vcm1hbCBvbiBmb2N1c1xuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtZm9jdXMtYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG59XG5cbi8vIEBNSVhJTlxuLy9cbi8vIFdlIHVzZSB0aGlzIHNpbXBsZSBtaXhpbiB0byBzdHlsZSBsYWJlbHMgZm9yIGVycm9yIGlucHV0c1xuLy8gJGNvbG9yIC0gRGVmYXVsdDokYWxlcnQtY29sb3IuIEZvdW5kIGluIHNldHRpbmdzIGZpbGVcbkBtaXhpbiBmb3JtLWxhYmVsLWVycm9yLWNvbG9yKCRjb2xvcjokYWxlcnQtY29sb3IpIHsgY29sb3I6ICRjb2xvcjsgfVxuXG4vLyBATUlYSU5cbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgZXJyb3IgbWVzc2FnZSBzdHlsZXNcbi8vICRiZyAtIERlZmF1bHQ6ICRhbGVydC1jb2xvciAoRm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbkBtaXhpbiBmb3JtLWVycm9yLW1lc3NhZ2UoJGJnOiRpbnB1dC1lcnJvci1tZXNzYWdlLWJnLWNvbG9yKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtc2l6ZTtcbiAgZm9udC1zdHlsZTogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1zdHlsZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1lcnJvci1tZXNzYWdlLWZvbnQtd2VpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBtYXJnaW4tdG9wOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS10b3A7XG4gIHBhZGRpbmc6ICRpbnB1dC1lcnJvci1tZXNzYWdlLXBhZGRpbmc7XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgdGhlIHRleHQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXG4gICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuICBiYWNrZ3JvdW5kOiAkYmc7XG4gIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIG9yICRiZyA9PSB5ZWxsb3cgeyBjb2xvcjogJGlucHV0LWVycm9yLW1lc3NhZ2UtZm9udC1jb2xvcjsgfVxuICBAZWxzZSB7IGNvbG9yOiAkaW5wdXQtZXJyb3ItbWVzc2FnZS1mb250LWNvbG9yLWFsdDsgfVxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSBzZWxlY3QgZWxlbWVudHNcbkBtaXhpbiBmb3JtLXNlbGVjdCAge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmUgIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lICFpbXBvcnRhbnQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmctY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8vIFRoZSBjdXN0b20gYXJyb3cgaGFzIHNvbWUgZmFrZSBob3Jpem9udGFsIHBhZGRpbmcgc28gd2UgY2FuIGFsaWduIGl0XG4gIC8vIGZyb20gdGhlIHJpZ2h0IHNpZGUgb2YgdGhlIGVsZW1lbnQgd2l0aG91dCByZWx5aW5nIG9uIENTUzNcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUI0Yld4dWN6MGlhSFIwY0RvdkwzZDNkeTUzTXk1dmNtY3ZNakF3TUM5emRtY2lJSFpsY25OcGIyNDlJakV1TVNJZ2VEMGlNVEp3ZUNJZ2VUMGlNSEI0SWlCM2FXUjBhRDBpTWpSd2VDSWdhR1ZwWjJoMFBTSXpjSGdpSUhacFpYZENiM2c5SWpBZ01DQTJJRE1pSUdWdVlXSnNaUzFpWVdOclozSnZkVzVrUFNKdVpYY2dNQ0F3SURZZ015SWdlRzFzT25Od1lXTmxQU0p3Y21WelpYSjJaU0krUEhCdmJIbG5iMjRnY0c5cGJuUnpQU0kxTGprNU1pd3dJREl1T1RreUxETWdMVEF1TURBNExEQWdJaTgrUEM5emRtYysnKTtcblxuICAvLyBXZSBjYW4gc2FmZWx5IHVzZSBsZWZ0bW9zdCBhbmQgcmlnaHRtb3N0IG5vd1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBpZigkdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcsIDAlLCAxMDAlKSBjZW50ZXI7XG5cbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYm9yZGVyOiB7XG4gICAgc3R5bGU6ICRpbnB1dC1ib3JkZXItc3R5bGU7XG4gICAgd2lkdGg6ICRpbnB1dC1ib3JkZXItd2lkdGg7XG4gICAgY29sb3I6ICRpbnB1dC1ib3JkZXItY29sb3I7XG4gIH1cbiAgY29sb3I6ICRpbnB1dC1mb250LWNvbG9yO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIEBpbmNsdWRlIHJhZGl1cygwKTtcbiAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yYWRpdXMpOyB9XG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtaG92ZXItYmctY29sb3I7XG4gICAgYm9yZGVyLWNvbG9yOiAkaW5wdXQtZm9jdXMtYm9yZGVyLWNvbG9yO1xuICB9XG4gIC8vIERpc2FibGVkIFN0eWxlc1xuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtZGlzYWJsZWQtYmc7XG4gICAgY3Vyc29yOiAkaW5wdXQtZGlzYWJsZWQtY3Vyc29yO1xuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIHR1cm4gb24vb2ZmIEhUTUw1IG51bWJlciBzcGlubmVyc1xuQG1peGluIGh0bWw1bnVtYmVyKCRicm93c2VyLCAkb246IHRydWUpIHtcbiAgQGlmICRvbiA9PSBmYWxzZSB7XG4gICAgICBAaWYgJGJyb3dzZXIgPT0gd2Via2l0IHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9IEBlbHNlIGlmICRicm93c2VyID09IG1veiB7XG4gICAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuICAgICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJmb3JtXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtZm9ybS1jbGFzc2VzIHtcbiAgICAvKiBTdGFuZGFyZCBGb3JtcyAqL1xuICAgIGZvcm0geyBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nOyB9XG5cbiAgICAvKiBVc2luZyBmb3JtcyB3aXRoaW4gcm93cywgd2UgbmVlZCB0byBzZXQgc29tZSBkZWZhdWx0cyAqL1xuICAgIGZvcm0gLnJvdyB7IEBpbmNsdWRlIGZvcm0tcm93LWJhc2U7IH1cblxuICAgIC8qIExhYmVsIFN0eWxlcyAqL1xuICAgIGxhYmVsIHsgQGluY2x1ZGUgZm9ybS1sYWJlbDtcbiAgICAgICYucmlnaHQgeyBAaW5jbHVkZSBmb3JtLWxhYmVsKHJpZ2h0LCBmYWxzZSk7IH1cbiAgICAgICYuaW5saW5lIHsgQGluY2x1ZGUgZm9ybS1sYWJlbChpbmxpbmUsIGZhbHNlKTsgfVxuICAgICAgLyogU3R5bGVzIGZvciByZXF1aXJlZCBpbnB1dHMgKi9cbiAgICAgIHNtYWxsIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRmb3JtLWxhYmVsLWZvbnQtY29sb3IsICRsaWdodG5lc3M6IDE1JSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogQXR0YWNoIGVsZW1lbnRzIHRvIHRoZSBiZWdpbm5pbmcgb3IgZW5kIG9mIGFuIGlucHV0ICovXG4gICAgLnByZWZpeCxcbiAgICAucG9zdGZpeCB7IEBpbmNsdWRlIHByZWZpeC1wb3N0Zml4LWJhc2U7IH1cblxuICAgIC8qIEFkanVzdCBwYWRkaW5nLCBhbGlnbm1lbnQgYW5kIHJhZGl1cyBpZiBwcmUvcG9zdCBlbGVtZW50IGlzIGEgYnV0dG9uICovXG4gICAgLnBvc3RmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcG9zdGZpeChmYWxzZSwgZmFsc2UsIGZhbHNlLCB0cnVlKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uIHsgQGluY2x1ZGUgYnV0dG9uLXNpemUoZmFsc2UsIGZhbHNlKTsgQGluY2x1ZGUgcHJlZml4KGZhbHNlLCBmYWxzZSwgdHJ1ZSk7IH1cblxuICAgIC5wcmVmaXguYnV0dG9uLnJhZGl1cyB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wb3N0Zml4LmJ1dHRvbi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgIC5wcmVmaXguYnV0dG9uLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yb3VuZCk7IH1cbiAgICAucG9zdGZpeC5idXR0b24ucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG5cbiAgICAvKiBTZXBhcmF0ZSBwcmVmaXggYW5kIHBvc3RmaXggc3R5bGVzIHdoZW4gb24gc3BhbiBvciBsYWJlbCBzbyBidXR0b25zIGtlZXAgdGhlaXIgb3duICovXG4gICAgc3Bhbi5wcmVmaXgsIGxhYmVsLnByZWZpeCB7IEBpbmNsdWRlIHByZWZpeCgpOyB9XG4gICAgc3Bhbi5wb3N0Zml4LCBsYWJlbC5wb3N0Zml4IHsgQGluY2x1ZGUgcG9zdGZpeCgpOyB9XG5cbiAgICAvKiBXZSB1c2UgdGhpcyB0byBnZXQgYmFzaWMgc3R5bGluZyBvbiBhbGwgYmFzaWMgZm9ybSBlbGVtZW50cyAqL1xuICAgIGlucHV0Om5vdChbdHlwZV0pLCAje3RleHQtaW5wdXRzKGFsbCwgJ2lucHV0Jyl9IHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgICBAaWYgJGlucHV0LWluY2x1ZGUtZ2xvd2luZy1lZmZlY3QgPT0gZmFsc2Uge1xuICAgICAgICAtd2Via2l0LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtbW96LXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICAtbXMtdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbiwgYmFja2dyb3VuZCAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb247XG4gICAgICAgIC1vLXRyYW5zaXRpb246IGJvcmRlci1jb2xvciAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWUgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1pbmctZnVuY3Rpb24sIGJhY2tncm91bmQgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgJGlucHV0LXRyYW5zaXRpb24tZmFkZS10aW1lICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltaW5nLWZ1bmN0aW9uLCBiYWNrZ3JvdW5kICRpbnB1dC10cmFuc2l0aW9uLWZhZGUtdGltZSAkaW5wdXQtdHJhbnNpdGlvbi1mYWRlLXRpbWluZy1mdW5jdGlvbjtcbiAgICAgIH1cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKCRpbnB1dC1ib3JkZXItcmFkaXVzKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBmb3JtIHtcbiAgICAgIC5yb3cge1xuICAgICAgICAucHJlZml4LXJhZGl1cy5yb3cuY29sbGFwc2Uge1xuICAgICAgICAgIGlucHV0LFxuICAgICAgICAgIHRleHRhcmVhLFxuICAgICAgICAgIHNlbGVjdCxcbiAgICAgICAgICBidXR0b24geyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgICAucG9zdGZpeC1yYWRpdXMucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGJ1dHRvbi1yYWRpdXMpOyB9XG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcmFkaXVzKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wcmVmaXgtcm91bmQucm93LmNvbGxhcHNlIHtcbiAgICAgICAgICBpbnB1dCxcbiAgICAgICAgICB0ZXh0YXJlYSxcbiAgICAgICAgICBzZWxlY3QsXG4gICAgICAgICAgYnV0dG9uIHsgQGluY2x1ZGUgcmFkaXVzKDApOyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICAgIC5wcmVmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRkZWZhdWx0LWZsb2F0LCAkYnV0dG9uLXJvdW5kKTsgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3N0Zml4LXJvdW5kLnJvdy5jb2xsYXBzZSB7XG4gICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgdGV4dGFyZWEsXG4gICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgIGJ1dHRvbiB7IEBpbmNsdWRlIHJhZGl1cygwKTsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJGRlZmF1bHQtZmxvYXQsICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgICAgLnBvc3RmaXggeyBAaW5jbHVkZSByYWRpdXMoMCk7IEBpbmNsdWRlIHNpZGUtcmFkaXVzKCRvcHBvc2l0ZS1kaXJlY3Rpb24sICRidXR0b24tcm91bmQpOyB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgfVxuXG4gICAgLyogUmVzcGVjdCBlbmZvcmNlZCBhbW91bnQgb2Ygcm93cyBmb3IgdGV4dGFyZWEgKi9cbiAgICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyogTm90IGFsbG93IHJlc2l6ZSBvdXQgb2YgcGFyZW50ICovXG4gICAgdGV4dGFyZWEge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIHN0eWxlIHBsYWNlaG9sZGVyIHRleHQgY3Jvc3MgYnJvd3NlclxuICAgIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOi1tb3otcGxhY2Vob2xkZXIgeyAvKiBGaXJlZm94IDE4LSAqL1xuICAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICA6Oi1tb3otcGxhY2Vob2xkZXIgeyAgLyogRmlyZWZveCAxOSsgKi9cbiAgICAgICBjb2xvcjogJGlucHV0LXBsYWNlaG9sZGVyLWZvbnQtY29sb3I7XG4gICAgfVxuXG4gICAgOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1mb250LWNvbG9yO1xuICAgIH1cblxuXG4gICAgLyogQWRkIGhlaWdodCB2YWx1ZSBmb3Igc2VsZWN0IGVsZW1lbnRzIHRvIG1hdGNoIHRleHQgaW5wdXQgaGVpZ2h0ICovXG4gICAgc2VsZWN0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICAgICAgaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcbiAgICAgICZbbXVsdGlwbGVdIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qIEFkanVzdCBtYXJnaW4gZm9yIGZvcm0gZWxlbWVudHMgYmVsb3cgKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAgIHNlbGVjdCB7XG4gICAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nIDA7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdICsgbGFiZWwsXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkZm9ybS1zcGFjaW5nICogLjU7XG4gICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJGZvcm0tc3BhY2luZztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgLyogTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGggKi9cbiAgICBpbnB1dFt0eXBlPVwiZmlsZVwiXSB7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgIH1cblxuICAgIC8qIEhUTUw1IE51bWJlciBzcGlubmVycyBzZXR0aW5ncyAqL1xuICAgIGlucHV0W3R5cGU9bnVtYmVyXSB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcihtb3osICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpXG4gICAgfVxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBodG1sNW51bWJlcih3ZWJraXQsICRpbnB1dC1udW1iZXItc3Bpbm5lcnMpO1xuICAgIH1cblxuICAgIC8qIFdlIGFkZCBiYXNpYyBmaWVsZHNldCBzdHlsaW5nICovXG4gICAgZmllbGRzZXQge1xuICAgICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gICAgfVxuXG4gICAgLyogRXJyb3IgSGFuZGxpbmcgKi9cblxuICAgICN7ZGF0YSgnYWJpZGUnKX0ge1xuICAgICAgLmVycm9yIHNtYWxsLmVycm9yLCAuZXJyb3Igc3Bhbi5lcnJvciwgc3Bhbi5lcnJvciwgc21hbGwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgICB9XG4gICAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cbiAgICBzcGFuLmVycm9yLCBzbWFsbC5lcnJvciB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWVycm9yLW1lc3NhZ2U7XG4gICAgfVxuXG4gICAgLmVycm9yIHtcbiAgICAgIGlucHV0LFxuICAgICAgdGV4dGFyZWEsXG4gICAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nXG4gICAgICB9XG5cbiAgICAgIGxhYmVsLFxuICAgICAgbGFiZWwuZXJyb3Ige1xuICAgICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yO1xuICAgICAgfVxuXG4gICAgICBzbWFsbC5lcnJvciB7XG4gICAgICAgIEBpbmNsdWRlIGZvcm0tZXJyb3ItbWVzc2FnZTtcbiAgICAgIH1cblxuICAgICAgPiBsYWJlbCB7XG4gICAgICAgID4gc21hbGwge1xuICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGNvbG9yOiBzY2FsZS1jb2xvcigkZm9ybS1sYWJlbC1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAxNSUpO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBmb250LXNpemU6IDYwJTtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICRmb3JtLWxhYmVsLXNtYWxsLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBzcGFuLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dC5lcnJvcixcbiAgICB0ZXh0YXJlYS5lcnJvcixcbiAgICBzZWxlY3QuZXJyb3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gICAgbGFiZWwuZXJyb3IgeyBAaW5jbHVkZSBmb3JtLWxhYmVsLWVycm9yLWNvbG9yOyB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIEljb24gQmFyXG4vL1xuLy8gQW4gSWNvbiBCYXIgcHJvdmlkZXMgYSBtZW51IHRvIHF1aWNrbHkgbmF2aWdhdGUgYW4gYXBwLiBVc2UgdGhlIEljb24gQmFyIGhvcml6b250YWxseSBvclxuLy8gdmVydGljYWxseSwgd2l0aCB0aGUgbGFiZWxzIGJlbG93IHRoZSBpY29ucyBvciB0byB0aGUgcmlnaHQuIEhhdmUgaXQgeW91ciB3YXkuXG4vL1xuLy8gJGluY2x1ZGUtaHRtbC1pY29uLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXNcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBpY29uLWJhciBhbmQgaXRlbXNcbi8vICRpY29uLWJhci1iZzogJG9pbDtcbi8vICRpY29uLWJhci1mb250LWNvbG9yOiAkd2hpdGU7XG4vLyAkaWNvbi1iYXItZm9udC1jb2xvci1ob3ZlcjogJGljb24tYmFyLWZvbnQtY29sb3I7XG4vLyAkaWNvbi1iYXItZm9udC1zaXplOiAxcmVtO1xuLy8gJGljb24tYmFyLWhvdmVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRpY29uLWJhci1pY29uLWNvbG9yOiAkd2hpdGU7XG4vLyAkaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcjogJGljb24tYmFyLWljb24tY29sb3I7XG4vLyAkaWNvbi1iYXItaWNvbi1zaXplOiAxLjg3NXJlbTtcbi8vICRpY29uLWJhci1pbWFnZS13aWR0aDogMS44NzVyZW07XG4vLyAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0OiAxLjg3NXJlbTtcbi8vICRpY29uLWJhci1hY3RpdmUtY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJGljb24tYmFyLWl0ZW0tcGFkZGluZzogMS4yNXJlbTtcbi8vICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5OiAwLjdcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9pY29uLWJhclwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1pY29uLWJhclwiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cblxuLy8gQG5hbWVcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG5cbiRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBAdmFyaWFibGVzXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgaWNvbi1iYXIgYW5kIGl0ZW1zXG4kaWNvbi1iYXItYmc6ICRvaWwgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXI6ICRpY29uLWJhci1mb250LWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWZvbnQtc2l6ZTogMXJlbSAhZGVmYXVsdDtcbiRpY29uLWJhci1ob3Zlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kaWNvbi1iYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGljb24tYmFyLWljb24tY29sb3ItaG92ZXI6ICRpY29uLWJhci1pY29uLWNvbG9yICFkZWZhdWx0O1xuJGljb24tYmFyLWljb24tc2l6ZTogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItaW1hZ2Utd2lkdGg6IDEuODc1cmVtICFkZWZhdWx0O1xuJGljb24tYmFyLWltYWdlLWhlaWdodDogMS44NzVyZW0gIWRlZmF1bHQ7XG4kaWNvbi1iYXItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRpY29uLWJhci1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCBkZWZhdWx0IG9wYWNpdHkgYW5kIGN1cnNvciBmb3IgZGlzYWJsZWQgaWNvbnMuXG4kaWNvbi1iYXItZGlzYWJsZWQtb3BhY2l0eTogLjcgIWRlZmF1bHQ7XG4kaWNvbi1iYXItZGlzYWJsZWQtY3Vyc29yOiAkY3Vyc29yLWRpc2FibGVkLXZhbHVlICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgdGhlIGJhc2Ugc3R5bGVzIGZvciBvdXIgSWNvbiBiYXIgZWxlbWVudC5cbi8vXG5AbWl4aW4gaWNvbi1iYXItYmFzZSgpIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDA7XG4gIHdpZHRoOiAxMDAlO1xuXG4gID4gKiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAkaWNvbi1iYXItZm9udC1zaXplO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmc7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyNSU7XG5cbiAgICBpLCBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICAgJiArIGxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLjA2MjVyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6ICRpY29uLWJhci1pY29uLXNpemU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBoZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQ7XG4gICAgICB3aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoO1xuICAgIH1cbiAgfVxuXG4gICYubGFiZWwtcmlnaHQgPiAqIHtcblxuICAgIGksIGltZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW46IDAgLjA2MjVyZW0gMCAwO1xuXG4gICAgICAmICsgbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHsgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIH1cblxuICAmLnZlcnRpY2FsLmxhYmVsLXJpZ2h0ID4gKiB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgfVxuXG4gICYudmVydGljYWwsICYuc21hbGwtdmVydGljYWx7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLml0ZW0ge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cblxuICAmLm1lZGl1bS12ZXJ0aWNhbCB7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubGFyZ2UtdmVydGljYWwge1xuICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgIC5pdGVtIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc2l6ZSBzdHlsZXMgZm9yIGljb24gYmFycy5cbkBtaXhpbiBpY29uLWJhci1zaXplKFxuICAkcGFkZGluZzogJGljb24tYmFyLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGljb24tYmFyLWZvbnQtc2l6ZSxcbiAgJGljb24tc2l6ZTogJGljb24tYmFyLWljb24tc2l6ZSxcbiAgJGltYWdlLXdpZHRoOiAkaWNvbi1iYXItaW1hZ2Utd2lkdGgsXG4gICRpbWFnZS1oZWlnaHQ6ICRpY29uLWJhci1pbWFnZS1oZWlnaHQpIHtcblxuICA+ICoge1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAgIGksIGltZyB7XG5cbiAgICAgICYgKyBsYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IC4wNjI1cmVtO1xuICAgICAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICBmb250LXNpemU6ICRpY29uLXNpemU7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgIGhlaWdodDogJGltYWdlLWhlaWdodDtcbiAgICAgIHdpZHRoOiAkaW1hZ2Utd2lkdGg7XG4gICAgfVxuICB9XG5cbn1cblxuQG1peGluIGljb24tYmFyLXN0eWxlKFxuICAkYmFyLWJnOiRpY29uLWJhci1iZyxcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxuICAkYmFyLWZvbnQtY29sb3ItaG92ZXI6JGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXIsXG4gICRiYXItaG92ZXItY29sb3I6JGljb24tYmFyLWhvdmVyLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXG4gICRiYXItaWNvbi1jb2xvci1ob3ZlcjokaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcixcbiAgJGJhci1hY3RpdmUtY29sb3I6JGljb24tYmFyLWFjdGl2ZS1jb2xvcixcbiAgJGJhc2Utc3R5bGU6dHJ1ZSxcbiAgJGRpc2FibGVkOmZhbHNlKSB7XG5cbiAgQGlmICRiYXNlLXN0eWxlIHtcblxuICAgIGJhY2tncm91bmQ6ICRiYXItYmc7XG5cbiAgICA+ICoge1xuICAgICAgbGFiZWwgeyBjb2xvcjogJGJhci1mb250LWNvbG9yOyB9XG5cbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yOyB9XG4gICAgfVxuXG4gICAgPiBhOmhvdmVyIHtcblxuICAgICAgYmFja2dyb3VuZDogJGJhci1ob3Zlci1jb2xvcjtcblxuICAgICAgbGFiZWwgeyBjb2xvcjogJGJhci1mb250LWNvbG9yLWhvdmVyOyB9XG5cbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yLWhvdmVyOyB9XG4gICAgfVxuXG4gICAgICAgID4gYS5hY3RpdmUge1xuXG4gICAgICBiYWNrZ3JvdW5kOiAkYmFyLWFjdGl2ZS1jb2xvcjtcblxuICAgICAgbGFiZWwgeyBjb2xvcjogJGJhci1mb250LWNvbG9yLWhvdmVyOyB9XG5cbiAgICAgIGkgeyBjb2xvcjogJGJhci1pY29uLWNvbG9yLWhvdmVyOyB9XG4gICAgfVxuICB9XG4gIEBpZiAkZGlzYWJsZWQge1xuICAgIC5pdGVtLmRpc2FibGVkIHtcbiAgICAgIGN1cnNvcjogJGljb24tYmFyLWRpc2FibGVkLWN1cnNvcjtcbiAgICAgIG9wYWNpdHk6ICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICA+KiB7XG4gICAgICAgIG9wYWNpdHk6ICRpY29uLWJhci1kaXNhYmxlZC1vcGFjaXR5O1xuICAgICAgICBjdXJzb3I6ICRpY29uLWJhci1kaXNhYmxlZC1jdXJzb3I7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gcXVpY2tseSBjcmVhdGUgaWNvbiBiYXJzIHdpdGggYSBzaW5nbGUgbWl4aW5cbi8vICRoZWlnaHQgLSBUaGUgb3ZlcmFsbCBjYWxjdWxhdGVkIGhlaWdodCBvZiB0aGUgaWNvbiBiYXIgKGhvcml6b250YWwpXG4vLyAkYmFyLWJnIC0gdGhlIGJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJhclxuLy8gJGJhci1mb250LWNvbG9yIC0gdGhlIGZvbnQgY29sb3Jcbi8vICRiYXItaG92ZXItY29sb3IgLSBva2F5IHRoZXNlIGFyZSBwcmV0dHkgb2J2aW91cyB2YXJpYWJsZXNcbi8vICRiYXItaWNvbi1jb2xvciAtIG1heWJlIHdlIGNvdWxkIHNraXAgZXhwbGFpbmluZyB0aGVtIGFsbD8gT2theSB0aGlzIG9uZSBkb2VzIGNoYW5nZSBpY29uIGNvbG9yIGlmIHlvdSB1c2UgYW4gaWNvbiBmb250XG4vLyAkYmFyLWFjdGl2ZS1jb2xvciAtIHRoZSBjb2xvciBvZiBhbiBhY3RpdmUgLyBob3ZlciBzdGF0ZVxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlcz8gRGVmYXVsdDogdHJ1ZS5cbi8vICRkaXNhYmxlZCAtIEFsbG93IGRpc2FibGVkIGljb25zPyBEZWZhdWx0OiBmYWxzZS5cblxuQG1peGluIGljb24tYmFyKFxuICAkYmFyLWJnOiRpY29uLWJhci1iZyxcbiAgJGJhci1mb250LWNvbG9yOiRpY29uLWJhci1mb250LWNvbG9yLFxuICAkYmFyLWZvbnQtY29sb3ItaG92ZXI6JGljb24tYmFyLWZvbnQtY29sb3ItaG92ZXIsXG4gICRiYXItaG92ZXItY29sb3I6JGljb24tYmFyLWhvdmVyLWNvbG9yLFxuICAkYmFyLWljb24tY29sb3I6JGljb24tYmFyLWljb24tY29sb3IsXG4gICRiYXItaWNvbi1jb2xvci1ob3ZlcjokaWNvbi1iYXItaWNvbi1jb2xvci1ob3ZlcixcbiAgJGJhci1hY3RpdmUtY29sb3I6JGljb24tYmFyLWFjdGl2ZS1jb2xvcixcbiAgJHBhZGRpbmc6ICRpY29uLWJhci1pdGVtLXBhZGRpbmcsXG4gICRmb250LXNpemU6ICRpY29uLWJhci1mb250LXNpemUsXG4gICRpY29uLXNpemU6ICRpY29uLWJhci1pY29uLXNpemUsXG4gICRpbWFnZS13aWR0aDogJGljb24tYmFyLWltYWdlLXdpZHRoLFxuICAkaW1hZ2UtaGVpZ2h0OiAkaWNvbi1iYXItaW1hZ2UtaGVpZ2h0LFxuICAkYmFzZS1zdHlsZTp0cnVlLFxuICAkZGlzYWJsZWQ6dHJ1ZSkge1xuICAgIEBpbmNsdWRlIGljb24tYmFyLWJhc2UoKTtcbiAgICBAaW5jbHVkZSBpY29uLWJhci1zaXplKCRwYWRkaW5nLCAkZm9udC1zaXplLCAkaWNvbi1zaXplLCAkaW1hZ2Utd2lkdGgsICRpbWFnZS1oZWlnaHQpO1xuICAgIEBpbmNsdWRlIGljb24tYmFyLXN0eWxlKCRiYXItYmcsICRiYXItZm9udC1jb2xvciwgJGJhci1mb250LWNvbG9yLWhvdmVyLCAkYmFyLWhvdmVyLWNvbG9yLCAkYmFyLWljb24tY29sb3IsICRiYXItaWNvbi1jb2xvci1ob3ZlciwgJGJhci1hY3RpdmUtY29sb3IsICRiYXNlLXN0eWxlLCAkZGlzYWJsZWQpO1xuXG4gIC8vIENvdW50c1xuXG4gICYudHdvLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiA1MCU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi50aHJlZS11cCB7XG4gICAgLml0ZW0geyB3aWR0aDogMzMuMzMzMyU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5mb3VyLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAyNSU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5maXZlLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi5zaXgtdXAge1xuICAgIC5pdGVtIHsgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLnNldmVuLXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLmVpZ2h0LXVwIHtcbiAgICAuaXRlbSB7IHdpZHRoOiAxMi41JTsgfVxuICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJpY29uLWJhclwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWljb24tYmFyLWNsYXNzZXMge1xuICAgIC5pY29uLWJhciB7XG4gICAgICBAaW5jbHVkZSBpY29uLWJhcjtcbiAgICB9XG4gIH1cbn1cblxuQGlmICRpbmNsdWRlLWh0bWwtaWNvbi1iYXItY2xhc3NlcyB7XG5cbiAgLy8gdG9vbGJhciBzdHlsZXNcblxuICAuaWNvbi1iYXIge1xuXG4gICAgLy8gQ291bnRzXG5cbiAgICAmLnR3by11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiA1MCU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnRocmVlLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDMzLjMzMzMlOyB9XG4gICAgICAmLnZlcnRpY2FsIC5pdGVtLCAmLnNtYWxsLXZlcnRpY2FsIC5pdGVtIHsgd2lkdGg6IGF1dG87IH1cbiAgICAgICYubWVkaXVtLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmxhcmdlLXZlcnRpY2FsIC5pdGVtIHtcbiAgICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5mb3VyLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDI1JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5sYXJnZS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRsYXJnZS11cH0ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuZml2ZS11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAyMCU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnNpeC11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAgICYudmVydGljYWwgLml0ZW0sICYuc21hbGwtdmVydGljYWwgLml0ZW0geyB3aWR0aDogYXV0bzsgfVxuICAgICAgJi5tZWRpdW0tdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLnNldmVuLXVwIHtcbiAgICAgIC5pdGVtIHsgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5laWdodC11cCB7XG4gICAgICAuaXRlbSB7IHdpZHRoOiAxMi41JTsgfVxuICAgICAgJi52ZXJ0aWNhbCAuaXRlbSwgJi5zbWFsbC12ZXJ0aWNhbCAuaXRlbSB7IHdpZHRoOiBhdXRvOyB9XG4gICAgICAmLm1lZGl1bS12ZXJ0aWNhbCAuaXRlbSB7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubGFyZ2UtdmVydGljYWwgLml0ZW0ge1xuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIElubGluZSBMaXN0c1xuLy9cbi8vIFRoaXMgc2ltcGxlIGNvbnN0cnVjdCBjcmVhdGVzIGEgaG9yaXpvbnRhbCBsaXN0IG9mIGxpbmtzLCBsaWtlIGluIGEgZm9vdGVyLlxuLy8gVXNlIGl0IHdoZW4geW91IHdhbnQgbW9yZSBjb250cm9sIHRoYW4gc3BhY2VzIGJldHdlZW4gbGlua3MuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxuLy8gJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDA7XG4vLyAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwO1xuLy8gJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KTtcbi8vICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKTtcblxuLy8gJGlubGluZS1saXN0LXBhZGRpbmc6IDA7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG92ZXJmbG93IG9mIHRoZSBpbmxpbmUgbGlzdC5cbi8vICRpbmxpbmUtbGlzdC1vdmVyZmxvdzogaGlkZGVuO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW1zXG4vLyAkaW5saW5lLWxpc3QtZGlzcGxheTogYmxvY2s7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgYW55IGVsZW1lbnRzIHdpdGhpbiBsaXN0IGl0ZW1zXG4vLyAkaW5saW5lLWxpc3QtY2hpbGRyZW4tZGlzcGxheTogYmxvY2s7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvaW5saW5lLWxpc3RzXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLWlubGluZS1saXN0c1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1pbmxpbmUtbGlzdC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIG1hcmdpbnMgYW5kIHBhZGRpbmcgb2YgdGhlIGlubGluZSBsaXN0LlxuJGlubGluZS1saXN0LXRvcC1tYXJnaW46IDAgIWRlZmF1bHQ7XG4kaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luOiAwICFkZWZhdWx0O1xuJGlubGluZS1saXN0LWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDE3KSAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LW1hcmdpbjogcmVtLWNhbGMoLTIyKSAhZGVmYXVsdDtcbiRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luOiByZW0tY2FsYygyMikgIWRlZmF1bHQ7XG5cbiRpbmxpbmUtbGlzdC1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBvdmVyZmxvdyBvZiB0aGUgaW5saW5lIGxpc3QuXG4kaW5saW5lLWxpc3Qtb3ZlcmZsb3c6IGhpZGRlbiAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgbGlzdCBpdGVtc1xuJGlubGluZS1saXN0LWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGFueSBlbGVtZW50cyB3aXRoaW4gbGlzdCBpdGVtc1xuJGlubGluZS1saXN0LWNoaWxkcmVuLWRpc3BsYXk6IGJsb2NrICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBpbmxpbmUgbGlzdHNcbkBtaXhpbiBpbmxpbmUtbGlzdCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRpbmxpbmUtbGlzdC10b3AtbWFyZ2luO1xuICBtYXJnaW4tYm90dG9tOiAkaW5saW5lLWxpc3QtYm90dG9tLW1hcmdpbjtcbiAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkaW5saW5lLWxpc3QtZGVmYXVsdC1mbG9hdC1tYXJnaW47XG4gIG1hcmdpbi0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkaW5saW5lLWxpc3Qtb3Bwb3NpdGUtbWFyZ2luO1xuICBvdmVyZmxvdzogJGlubGluZS1saXN0LW92ZXJmbG93O1xuICBwYWRkaW5nOiAkaW5saW5lLWxpc3QtcGFkZGluZztcblxuICA+IGxpIHtcbiAgICBkaXNwbGF5OiAkaW5saW5lLWxpc3QtZGlzcGxheTtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRpbmxpbmUtbGlzdC1kZWZhdWx0LWZsb2F0LWxpc3QtbWFyZ2luO1xuICAgID4gKiB7IGRpc3BsYXk6ICRpbmxpbmUtbGlzdC1jaGlsZHJlbi1kaXNwbGF5OyB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImlubGluZS1saXN0XCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtaW5saW5lLWxpc3QtY2xhc3NlcyB7XG4gICAgLmlubGluZS1saXN0IHtcbiAgICAgIEBpbmNsdWRlIGlubGluZS1saXN0KCk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBKb3lyaWRlXG4vL1xuLy8gSm95cmlkZSBnaXZlcyB1c2VycyBhIHRvdXIgb2YgeW91ciBzaXRlIG9yIGFwcCB3aGVuIHRoZXkgdmlzaXQuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1qb3lyaWRlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gQ29udHJvbGxpbmcgZGVmYXVsdCBKb3lyaWRlIHN0eWxlc1xuLy8gJGpveXJpZGUtdGlwLWJnOiAjMzMzO1xuLy8gJGpveXJpZGUtdGlwLWRlZmF1bHQtd2lkdGg6IDMwMHB4O1xuLy8gJGpveXJpZGUtdGlwLXBhZGRpbmc6IHJlbS1jYWxjKDE4IDIwIDI0KTtcbi8vICRqb3lyaWRlLXRpcC1ib3JkZXI6IHNvbGlkIDFweCAjNTU1O1xuLy8gJGpveXJpZGUtdGlwLXJhZGl1czogNHB4O1xuLy8gJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDogMjJweDtcblxuLy8gSGVyZSwgd2UncmUgc2V0dGluZyB0aGUgdGlwIGZvbnQgc3R5bGVzXG4vLyAkam95cmlkZS10aXAtZm9udC1jb2xvcjogI2ZmZjtcbi8vICRqb3lyaWRlLXRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0OiBib2xkO1xuXG4vLyBUaGlzIGNoYW5nZXMgdGhlIG51YiBzaXplXG4vLyAkam95cmlkZS10aXAtbnViLXNpemU6IDEwcHg7XG5cbi8vIFRoaXMgYWRqdXN0cyB0aGUgc3R5bGVzIGZvciB0aGUgdGltZXIgd2hlbiBpdHMgZW5hYmxlZFxuLy8gJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoOiA1MHB4O1xuLy8gJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDogM3B4O1xuLy8gJGpveXJpZGUtdGlwLXRpbWVyLWNvbG9yOiAjNjY2O1xuXG4vLyBUaGlzIGNoYW5nZXMgdXAgdGhlIHN0eWxlcyBmb3IgdGhlIGNsb3NlIGJ1dHRvblxuLy8gJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yOiAjNzc3O1xuLy8gJGpveXJpZGUtdGlwLWNsb3NlLXNpemU6IDI0cHg7XG4vLyAkam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0OiBub3JtYWw7XG5cbi8vIFdoZW4gSm95cmlkZSBpcyBmaWxsaW5nIHRoZSBzY3JlZW4sIHdlIHVzZSB0aGlzIHN0eWxlIGZvciB0aGUgYmdcbi8vICRqb3lyaWRlLXNjcmVlbmZpbGw6IHJnYmEoMCwwLDAsMC41KTtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9qb3lyaWRlXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLWpveXJpZGVcIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtam95cmlkZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIGRlZmF1bHQgSm95cmlkZSBzdHlsZXNcbiRqb3lyaWRlLXRpcC1iZzogJG9pbCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcbiRqb3lyaWRlLXRpcC1wYWRkaW5nOiByZW0tY2FsYygxOCAyMCAyNCkgIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtYm9yZGVyOiBzb2xpZCAxcHggJGNoYXJjb2FsICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXJhZGl1czogNHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXBvc2l0aW9uLW9mZnNldDogMjJweCAhZGVmYXVsdDtcblxuLy8gSGVyZSwgd2UncmUgc2V0dGluZyB0aGUgdGlwIGZvbnQgc3R5bGVzXG4kam95cmlkZS10aXAtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLyBUaGlzIGNoYW5nZXMgdGhlIG51YiBzaXplXG4kam95cmlkZS10aXAtbnViLXNpemU6IDEwcHggIWRlZmF1bHQ7XG5cbi8vIFRoaXMgYWRqdXN0cyB0aGUgc3R5bGVzIGZvciB0aGUgdGltZXIgd2hlbiBpdHMgZW5hYmxlZFxuJGpveXJpZGUtdGlwLXRpbWVyLXdpZHRoOiA1MHB4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDogM3B4ICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLXRpbWVyLWNvbG9yOiAkc3RlZWwgIWRlZmF1bHQ7XG5cbi8vIFRoaXMgY2hhbmdlcyB1cCB0aGUgc3R5bGVzIGZvciB0aGUgY2xvc2UgYnV0dG9uXG4kam95cmlkZS10aXAtY2xvc2UtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJGpveXJpZGUtdGlwLWNsb3NlLXNpemU6IDI0cHggIWRlZmF1bHQ7XG4kam95cmlkZS10aXAtY2xvc2Utd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLyBXaGVuIEpveXJpZGUgaXMgZmlsbGluZyB0aGUgc2NyZWVuLCB3ZSB1c2UgdGhpcyBzdHlsZSBmb3IgdGhlIGJnXG4kam95cmlkZS1zY3JlZW5maWxsOiByZ2JhKDAsMCwwLDAuNSkgIWRlZmF1bHQ7XG5cblxuLy8gV2UgZGVjaWRlZCBub3QgdG8gbWFrZSBhIG1peGluIGZvciB0aGlzIGJlY2F1c2UgaXQgcmVsaWVzIG9uXG4vLyBwcmVkZWZpbmVkIGNsYXNzZXMgdG8gd29yayBwcm9wZXJseS5cbkBpbmNsdWRlIGV4cG9ydHMoXCJqb3lyaWRlXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtam95cmlkZS1jbGFzc2VzIHtcblxuICAgIC8qIEZvdW5kYXRpb24gSm95cmlkZSAqL1xuICAgIC5qb3lyaWRlLWxpc3QgeyBkaXNwbGF5OiBub25lOyB9XG5cbiAgICAvKiBEZWZhdWx0IHN0eWxlcyBmb3IgdGhlIGNvbnRhaW5lciAqL1xuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS10aXAtYmc7XG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWZvbnQtY29sb3I7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgICBmb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiA5NSU7XG4gICAgICB6LWluZGV4OiAxMDM7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMi41JTtcbiAgICB9XG5cbiAgICAubHQtaWU5IC5qb3lyaWRlLXRpcC1ndWlkZSB7XG4gICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC00MDBweDtcbiAgICAgIG1heC13aWR0aDogODAwcHg7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAkam95cmlkZS10aXAtcGFkZGluZztcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAuYnV0dG9uIHsgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbiAgICAgIC5qb3lyaWRlLXByZXYtdGlwIHsgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICAgfVxuXG4gICAgLyogQWRkIGEgbGl0dGxlIGNzcyB0cmlhbmdsZSBwaXAsIG9sZGVyIGJyb3dzZXIganVzdCBtaXNzIG91dCBvbiB0aGUgZmFuY2luZXNzIG9mIGl0ICovXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIHtcbiAgICAgIC5qb3lyaWRlLW51YiB7XG4gICAgICAgIGJvcmRlcjogJGpveXJpZGUtdGlwLW51Yi1zaXplIHNvbGlkICRqb3lyaWRlLXRpcC1iZztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06ICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ7XG5cbiAgICAgICAgJi50b3Age1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnO1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgIH1cbiAgICAgICAgJi5ib3R0b20ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogJGpveXJpZGUtdGlwLWJnICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm90dG9tOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmlnaHQgeyByaWdodDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7IH1cbiAgICAgICAgJi5sZWZ0IHsgbGVmdDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7IH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiBUeXBvZ3JhcGh5ICovXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGgxLFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoMixcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDMsXG4gICAgLmpveXJpZGUtdGlwLWd1aWRlIGg0LFxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBoNSxcbiAgICAuam95cmlkZS10aXAtZ3VpZGUgaDYge1xuICAgICAgY29sb3I6ICRqb3lyaWRlLXRpcC1mb250LWNvbG9yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRqb3lyaWRlLXRpcC1oZWFkZXItd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICAgIC5qb3lyaWRlLXRpcC1ndWlkZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogJGpveXJpZGUtdGlwLWZvbnQtc2l6ZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxOCAwKTtcbiAgICB9XG5cbiAgICAuam95cmlkZS10aW1lci1pbmRpY2F0b3Itd3JhcCB7XG4gICAgICBib3JkZXI6ICRqb3lyaWRlLXRpcC1ib3JkZXI7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgIGhlaWdodDogJGpveXJpZGUtdGlwLXRpbWVyLWhlaWdodDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAkam95cmlkZS10aXAtdGltZXItd2lkdGg7XG4gICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiByZW0tY2FsYygxNyk7XG4gICAgfVxuICAgIC5qb3lyaWRlLXRpbWVyLWluZGljYXRvciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkam95cmlkZS10aXAtdGltZXItY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogaW5oZXJpdDtcbiAgICAgIHdpZHRoOiAwO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWNsb3NlLXRpcCB7XG4gICAgICBjb2xvcjogJGpveXJpZGUtdGlwLWNsb3NlLWNvbG9yICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6ICRqb3lyaWRlLXRpcC1jbG9zZS1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICRqb3lyaWRlLXRpcC1jbG9zZS13ZWlnaHQ7XG4gICAgICBsaW5lLWhlaWdodDogLjUgIWltcG9ydGFudDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHRvcDogMTBweDtcbiAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDEycHg7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHsgY29sb3I6ICRzbW9rZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuXG4gICAgLmpveXJpZGUtbW9kYWwtYmcge1xuICAgICAgYmFja2dyb3VuZDogJGpveXJpZGUtc2NyZWVuZmlsbDtcbiAgICAgIGN1cnNvcjogJGN1cnNvci1wb2ludGVyLXZhbHVlO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTAwO1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgfVxuXG4gICAgLmpveXJpZGUtZXhwb3NlLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgYm94LXNoYWRvdzogMCAwIDE1cHggJHdoaXRlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTAyO1xuICAgIH1cblxuICAgIC5qb3lyaWRlLWV4cG9zZS1jb3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgIH1cblxuXG4gICAgLyogU3R5bGVzIGZvciBzY3JlZW5zIHRoYXQgYXJlIGF0IGxlYXN0IDc2OHB4OyAqL1xuICAgIEBtZWRpYSAjeyRzbWFsbH0ge1xuICAgICAgLmpveXJpZGUtdGlwLWd1aWRlIHsgd2lkdGg6ICRqb3lyaWRlLXRpcC1kZWZhdWx0LXdpZHRoOyAjeyRkZWZhdWx0LWZsb2F0fTogaW5oZXJpdDtcbiAgICAgICAgLmpveXJpZGUtbnViIHtcbiAgICAgICAgICAmLmJvdHRvbSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm90dG9tOiAtKCRqb3lyaWRlLXRpcC1udWItc2l6ZSoyKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5yaWdodCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyBib3JkZXItYm90dG9tLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICByaWdodDogLSgkam95cmlkZS10aXAtbnViLXNpemUqMik7XG4gICAgICAgICAgICB0b3A6ICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICYubGVmdCB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRqb3lyaWRlLXRpcC1iZyAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGxlZnQ6IC0oJGpveXJpZGUtdGlwLW51Yi1zaXplKjIpO1xuICAgICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgICB0b3A6ICRqb3lyaWRlLXRpcC1wb3NpdGlvbi1vZmZzZXQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBLZXlzdHJva2VzXG4vL1xuLy8gSWYgeW91IGhhdmUga2V5Ym9hcmQgYWZmb3JkYW5jZXMsIHlvdSBtaWdodCBuZWVkIHRvIGV4cGxhaW4gdGhlbSB0byB1c2Vycy5cbi8vIEZvciBleGFtcGxlLCB0byBxdWl0IHlvdXIgYnJvd3NlciBoaXQgQ21kICsgUS4gKERvbid0IGFjdHVhbGx5IHR5cGUgdGhhdCBub3dcbi8vIC0gdGhlcmUgYXJlIG1vcmUgZG9jcyB0byByZWFkLikgS2V5c3Ryb2tlIGlzIEZvdW5kYXRpb24ncyBzaW1wbGUgY2hhcmFjdGVyXG4vLyBhZmZvcmRhbmNlIHRvb2wuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC10eXBlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZXMuXG4vLyAka2V5c3Ryb2tlLWZvbnQ6IFwiQ29uc29sYXNcIiwgXCJNZW5sb1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlO1xuLy8gJGtleXN0cm9rZS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvcjogIzIyMjtcbi8vICRrZXlzdHJva2UtZm9udC1jb2xvci1hbHQ6ICNmZmY7XG4vLyAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcjogLTclO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGtleXN0cm9rZSBwYWRkaW5nLlxuLy8gJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXMuXG4vLyAka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3Rvcik7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAka2V5c3Ryb2tlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJGtleXN0cm9rZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRrZXlzdHJva2UtYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcbi8vICRrZXlzdHJva2UtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9rZXlzdHJva2VzXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLWtleXN0cm9rZXNcIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwta2V5c3Ryb2tlLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGV4dCBzdHlsZXMuXG4ka2V5c3Ryb2tlLWZvbnQ6IFwiQ29uc29sYXNcIiwgXCJNZW5sb1wiLCBcIkNvdXJpZXJcIiwgbW9ub3NwYWNlICFkZWZhdWx0O1xuJGtleXN0cm9rZS1mb250LXNpemU6IGluaGVyaXQgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWZ1bmN0aW9uLWZhY3RvcjogLTclICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIGtleXN0cm9rZSBwYWRkaW5nLlxuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGJhY2tncm91bmQgYW5kIGJvcmRlciBzdHlsZXMuXG4ka2V5c3Ryb2tlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiRrZXlzdHJva2UtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4ka2V5c3Ryb2tlLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJGtleXN0cm9rZS1iZywgJGxpZ2h0bmVzczogJGtleXN0cm9rZS1mdW5jdGlvbi1mYWN0b3IpICFkZWZhdWx0O1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBrZXlzdHJva2Ugc3R5bGVzLlxuLy8gJGJnIC0gRGVmYXVsdDogJGtleXN0cm9rZS1iZyB8fCBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKSAhZGVmYXVsdDtcbkBtaXhpbiBrZXlzdHJva2UoJGJnOiRrZXlzdHJva2UtYmcpIHtcbiAgLy8gVGhpcyBmaW5kIHRoZSBsaWdodG5lc3MgcGVyY2VudGFnZSBvZiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbiAgJGJnLWxpZ2h0bmVzczogbGlnaHRuZXNzKCRiZyk7XG4gIGJhY2tncm91bmQtY29sb3I6ICRiZztcbiAgYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkYmcsICRsaWdodG5lc3M6ICRrZXlzdHJva2UtZnVuY3Rpb24tZmFjdG9yKTtcblxuICAvLyBXZSBhZGp1c3QgdGhlIGZvbnQgY29sb3IgYmFzZWQgb24gdGhlIGJyaWdodG5lc3Mgb2YgdGhlIGJhY2tncm91bmQuXG4gIEBpZiAkYmctbGlnaHRuZXNzID4gNzAlIHsgY29sb3I6ICRrZXlzdHJva2UtZm9udC1jb2xvcjsgfVxuICBAZWxzZSB7IGNvbG9yOiAka2V5c3Ryb2tlLWZvbnQtY29sb3ItYWx0OyB9XG5cbiAgYm9yZGVyLXN0eWxlOiAka2V5c3Ryb2tlLWJvcmRlci1zdHlsZTtcbiAgYm9yZGVyLXdpZHRoOiAka2V5c3Ryb2tlLWJvcmRlci13aWR0aDtcbiAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcbiAgZm9udC1zaXplOiAka2V5c3Ryb2tlLWZvbnQtc2l6ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJrZXlzdHJva2VcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1rZXlzdHJva2UtY2xhc3NlcyAge1xuICAgIC5rZXlzdHJva2UsXG4gICAga2JkIHtcbiAgICAgIEBpbmNsdWRlIGtleXN0cm9rZTtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygka2V5c3Ryb2tlLXJhZGl1cyk7XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBMYWJlbHNcbi8vXG4vLyBMYWJlbHMgYXJlIHVzZWZ1bCBpbmxpbmUgc3R5bGVzIHRoYXQgY2FuIGJlIGRyb3BwZWQgaW50byBib2R5IGNvcHkgdG8gY2FsbFxuLy8gb3V0IGNlcnRhaW4gc2VjdGlvbnMgb3IgdG8gYXR0YWNoIG1ldGFkYXRhLiBGb3IgZXhhbXBsZSwgeW91IGNhbiBhdHRhY2ggYVxuLy8gbGFiZWwgdGhhdCBub3RlcyB3aGVuIHNvbWV0aGluZyB3YXMgdXBkYXRlZC5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcbi8vICRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNik7XG4vLyAkbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4vLyAkbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKTtcbi8vICRsYWJlbC1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJGxhYmVsLWZvbnQtY29sb3I6ICMzMzM7XG4vLyAkbGFiZWwtZm9udC1jb2xvci1hbHQ6ICNmZmY7XG4vLyAkbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL2xhYmVsc1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1sYWJlbHNcIikge1xuXG4gIC5UYWcsXG4gIC5Db3VudCxcbiAgLkFsZXJ0IHtcbiAgICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICAgIEBpbmNsdWRlIGxhYmVsLXNpemUocmVtLWNhbGMoNCA4KSk7XG4gIH1cblxuICAuVGFnIHtcbiAgICBAaW5jbHVkZSBsYWJlbC1zdHlsZTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICB9XG5cbiAgLkNvdW50IHtcbiAgICBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkcmFkaXVzOiAxMDAwcHgpO1xuICB9XG5cbiAgLkFsZXJ0IHtcbiAgICBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkYWxlcnQtY29sb3IsICRyYWRpdXM6IDEwMDBweCk7XG4gIH1cblxuICAuVGFnLUFubm91bmNlbWVudCB7XG4gICAgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHN1Y2Nlc3MtY29sb3IpO1xuICB9XG5cbiAgLlRhZy1DbG9zZWQge1xuICAgIEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRhbGVydC1jb2xvcik7XG4gIH1cblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLWxhYmVsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbHNcbiRsYWJlbC1wYWRkaW5nOiByZW0tY2FsYyg0IDggNCkgIWRlZmF1bHQ7XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSBsYWJlbCB0ZXh0XG4kbGFiZWwtZm9udC1zaXppbmc6IHJlbS1jYWxjKDExKSAhZGVmYXVsdDtcbiRsYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRsYWJlbC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGxhYmVsLWZvbnQtY29sb3ItYWx0OiAkd2hpdGUgIWRlZmF1bHQ7XG4kbGFiZWwtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSBhIGRlZmF1bHQgbGFiZWwgYmFzZS5cbkBtaXhpbiBsYWJlbC1iYXNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LWZhbWlseTogJGxhYmVsLWZvbnQtZmFtaWx5O1xuICBmb250LXdlaWdodDogJGxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogYXV0bztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzaXplIHN0eWxlcy5cbi8vICRwYWRkaW5nIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgcGFkZGluZy4gRGVmYXVsdDogJGxhYmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoNCA4IDQpICFkZWZhdWx0XG4vLyAkdGV4dC1zaXplIC0gVXNlZCB0byBkZXRlcm1pbmUgbGFiZWwgdGV4dC1zaXplLiBEZWZhdWx0OiAkdGV4dC1zaXplIGZvdW5kIGluIHNldHRpbmdzXG5AbWl4aW4gbGFiZWwtc2l6ZSgkcGFkZGluZzokbGFiZWwtcGFkZGluZywgJHRleHQtc2l6ZTokbGFiZWwtZm9udC1zaXppbmcpIHtcbiAgQGlmICRwYWRkaW5nIHsgcGFkZGluZzogJHBhZGRpbmc7IH1cbiAgQGlmICR0ZXh0LXNpemUgeyBmb250LXNpemU6ICR0ZXh0LXNpemU7IH1cbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGFkZCBsYWJlbCBzdHlsZXMuXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJpbWFyeS1jb2xvciAoZm91bmQgaW4gc2V0dGluZ3MgZmlsZSlcbi8vICRyYWRpdXMgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZSwgc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwtc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yLCAkcmFkaXVzOmZhbHNlKSB7XG5cbiAgLy8gV2UgY29udHJvbCB3aGljaCBiYWNrZ3JvdW5kIGNvbG9yIGNvbWVzIHRocm91Z2hcbiAgQGlmICRiZyB7XG5cbiAgICAvLyBUaGlzIGZpbmQgdGhlIGxpZ2h0bmVzcyBwZXJjZW50YWdlIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgICRiZy1saWdodG5lc3M6IGxpZ2h0bmVzcygkYmcpO1xuXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJnO1xuXG4gICAgLy8gV2UgY29udHJvbCB0aGUgdGV4dCBjb2xvciBmb3IgeW91IGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuICAgIEBpZiAkYmctbGlnaHRuZXNzIDwgNzAlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yLWFsdDsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRsYWJlbC1mb250LWNvbG9yOyB9XG4gIH1cblxuICAvLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSByYWRpdXMgb24gbGFiZWxzLlxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRsYWJlbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gYWRkIGNsb3NlIGJ1dHRvbnMgdG8gYWxlcnRzXG4vLyAkcGFkZGluZyAtIERlZmF1bHQ6ICRsYWJlbC1wYWRkaW5nLFxuLy8gJHRleHQtc2l6ZSAtIERlZmF1bHQ6ICRsYWJlbC1mb250LXNpemluZyxcbi8vICRiZyAtIERlZmF1bHQ6ICRwcmltYXJ5LWNvbG9yKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG4vLyAkcmFkaXVzIC0gRGVmYXVsdDogZmFsc2UsIE9wdGlvbnM6IHRydWUgd2hpY2ggc2V0cyByYWRpdXMgdG8gJGdsb2JhbC1yYWRpdXMgKGZvdW5kIGluIHNldHRpbmdzIGZpbGUpXG5AbWl4aW4gbGFiZWwoJHBhZGRpbmc6JGxhYmVsLXBhZGRpbmcsICR0ZXh0LXNpemU6JGxhYmVsLWZvbnQtc2l6aW5nLCAkYmc6JHByaW1hcnktY29sb3IsICRyYWRpdXM6ZmFsc2UpIHtcblxuICBAaW5jbHVkZSBsYWJlbC1iYXNlO1xuICBAaW5jbHVkZSBsYWJlbC1zaXplKCRwYWRkaW5nLCAkdGV4dC1zaXplKTtcbiAgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJGJnLCAkcmFkaXVzKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcImxhYmVsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbGFiZWwtY2xhc3NlcyB7XG4gICAgLmxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGxhYmVsLWJhc2U7XG4gICAgICBAaW5jbHVkZSBsYWJlbC1zaXplO1xuICAgICAgQGluY2x1ZGUgbGFiZWwtc3R5bGU7XG5cbiAgICAgICYucmFkaXVzIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsIHRydWUpOyB9XG4gICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoZmFsc2UsICRyYWRpdXM6MTAwMHB4KTsgfVxuXG4gICAgICAmLmFsZXJ0ICAgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRhbGVydC1jb2xvcik7IH1cbiAgICAgICYud2FybmluZyAgIHsgQGluY2x1ZGUgbGFiZWwtc3R5bGUoJHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAmLnN1Y2Nlc3MgICB7IEBpbmNsdWRlIGxhYmVsLXN0eWxlKCRzdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi5pbmZvICAgICAgeyBAaW5jbHVkZSBsYWJlbC1zdHlsZSgkaW5mby1jb2xvcik7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIE1hZ2VsbGFuXG4vL1xuLy8gTWFnZWxsYW4gaXMgYSBzdHlsZS1hZ25vc3RpYyBwbHVnaW4gdGhhdCBsZXRzIHlvdSBnaXZlIHlvdXIgc2l0ZSBzdGlja3lcbi8vIG5hdmlnYXRpb24uIFRoaXMgZml4ZWQtcG9zaXRpb24gbmF2aWdhdGlvbiBoZWxwcyB1c2VycyBrZWVwIHRyYWNrIG9mIHdoZXJlXG4vLyB0aGV5IGFyZSBvbiBhIHBhZ2Ugd2l0aG91dCBzY3JvbGxpbmcuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1tYWdlbGxhbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICRtYWdlbGxhbi1iZzogI2ZmZjtcbi8vICRtYWdlbGxhbi1wYWRkaW5nOiAxMHB4O1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL21hZ2VsbGFuXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLW1hZ2VsbGFuXCIpIHtcblxuICAvLyBOb3RoaW5nIHRvIHNlZSBoZXJlLi4uIHlldCFcblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW1hZ2VsbGFuLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJG1hZ2VsbGFuLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kbWFnZWxsYW4tcGFkZGluZzogMTBweCAhZGVmYXVsdDtcblxuQGluY2x1ZGUgZXhwb3J0cyhcIm1hZ2VsbGFuXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWFnZWxsYW4tY2xhc3NlcyB7XG5cbiAgICAje2RhdGEoJ21hZ2VsbGFuLWV4cGVkaXRpb24nKX0sICN7ZGF0YSgnbWFnZWxsYW4tZXhwZWRpdGlvbi1jbG9uZScpfSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWFnZWxsYW4tYmc7XG4gICAgICBtaW4td2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkbWFnZWxsYW4tcGFkZGluZztcbiAgICAgIHotaW5kZXg6IDUwO1xuXG4gICAgICAuc3ViLW5hdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGRkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS44ZW07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy9cbi8vICMgT3JiaXRcbi8vXG4vLyBPcmJpdCBpcyBhbiBlYXN5LCBwb3dlcmZ1bCwgcmVzcG9uc2l2ZSBpbWFnZSBzbGlkZXIgdGhhdCBhbGxvd3MgdXNlcnMgdG9cbi8vIHN3aXBlIG9uIHRvdWNoLWVuYWJsZWQgZGV2aWNlcy5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4vLyAkb3JiaXQtY29udGFpbmVyLWJnOiBub25lO1xuLy8gJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIDAuOCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1mb250LWNvbG9yOiAjZmZmO1xuLy8gJG9yYml0LWNhcHRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbjogXCJib3R0b21cIjsgLy8gU3VwcG9ydGVkIHZhbHVlczogXCJib3R0b21cIiwgXCJ1bmRlclwiXG4vLyAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxMCAxNCk7XG4vLyAkb3JiaXQtY2FwdGlvbi1oZWlnaHQ6IGF1dG87XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsZWZ0L3JpZ2h0IG5hdiBzdHlsZXNcbi8vICRvcmJpdC1uYXYtYmc6IG5vbmU7XG4vLyAkb3JiaXQtbmF2LWJnLWhvdmVyOiByZ2JhKDAsMCwwLDAuMyk7XG4vLyAkb3JiaXQtbmF2LWFycm93LWNvbG9yOiAjZmZmO1xuLy8gJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjogI2ZmZjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuLy8gJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMyk7XG4vLyAkb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWU7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuLy8gJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICNjY2M7XG4vLyAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU6ICM5OTk7XG4vLyAkb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuLy8gJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKTtcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogI2ZmZjtcbi8vICRvcmJpdC1zbGlkZS1udW1iZXItcGFkZGluZzogcmVtLWNhbGMoNSk7XG5cbi8vIEdyYWNlZnVsIExvYWRpbmcgV3JhcHBlciBhbmQgcHJlbG9hZGVyXG4vLyAkd3JhcHBlci1jbGFzczogXCJzbGlkZXNob3ctd3JhcHBlclwiO1xuLy8gJHByZWxvYWRlci1jbGFzczogXCJwcmVsb2FkZXJcIjtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9vcmJpdFwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1vcmJpdFwiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1odG1sLW9yYml0LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGNhcHRpb24gc3R5bGVzXG4kb3JiaXQtY29udGFpbmVyLWJnOiBub25lICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tYmc6IHJnYmEoNTEsNTEsNTEsIC44KSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1jYXB0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24tcG9zaXRpb246IFwiYm90dG9tXCIgIWRlZmF1bHQ7IC8vIFN1cHBvcnRlZCB2YWx1ZXM6IFwiYm90dG9tXCIsIFwidW5kZXJcIlxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogcmVtLWNhbGMoMTAgMTQpICFkZWZhdWx0O1xuJG9yYml0LWNhcHRpb24taGVpZ2h0OiBhdXRvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbGVmdC9yaWdodCBuYXYgc3R5bGVzXG4kb3JiaXQtbmF2LWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYmctaG92ZXI6IHJnYmEoMCwwLDAsMC4zKSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpbWVyIHN0eWxlc1xuJG9yYml0LXRpbWVyLWJnOiByZ2JhKDI1NSwyNTUsMjU1LDAuMykgIWRlZmF1bHQ7XG4kb3JiaXQtdGltZXItc2hvdy1wcm9ncmVzcy1iYXI6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBidWxsZXQgbmF2IHN0eWxlc1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3I6ICRpcm9uICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1uYXYtY29sb3ItYWN0aXZlOiAkYWx1bWludW0gIWRlZmF1bHQ7XG4kb3JiaXQtYnVsbGV0LXJhZGl1czogcmVtLWNhbGMoOSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9scyB0aGUgc3R5bGUgb2Ygc2xpZGUgbnVtYmVyc1xuJG9yYml0LXNsaWRlLW51bWJlci1iZzogcmdiYSgwLDAsMCwwKSAhZGVmYXVsdDtcbiRvcmJpdC1zbGlkZS1udW1iZXItZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nOiByZW0tY2FsYyg1KSAhZGVmYXVsdDtcblxuLy8gR3JhY2VmdWwgTG9hZGluZyBXcmFwcGVyIGFuZCBwcmVsb2FkZXJcbiR3cmFwcGVyLWNsYXNzOiBcInNsaWRlc2hvdy13cmFwcGVyXCIgIWRlZmF1bHQ7XG4kcHJlbG9hZGVyLWNsYXNzOiBcInByZWxvYWRlclwiICFkZWZhdWx0O1xuXG4vLyBIaWRlIGNvbnRyb2xzIG9uIHNtYWxsXG4kb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsOiB0cnVlICFkZWZhdWx0O1xuJG9yYml0LWJ1bGxldC1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcbiRvcmJpdC10aW1lci1oaWRlLWZvci1zbWFsbDogdHJ1ZSAhZGVmYXVsdDtcblxuXG5AaW5jbHVkZSBleHBvcnRzKFwib3JiaXRcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1vcmJpdC1jbGFzc2VzIHtcblxuICAgIEAtd2Via2l0LWtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgfVxuICAgICAgdG8ge1xuICAgICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgICAgZnJvbSB7XG4gICAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgIH1cbiAgICAgIHRvIHtcbiAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyogT3JiaXQgR3JhY2VmdWwgTG9hZGluZyAqL1xuICAgIC4jeyR3cmFwcGVyLWNsYXNzfSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIHVsIHtcbiAgICAgICAgLy8gUHJldmVudCBidWxsZXRzIHNob3dpbmcgYmVmb3JlIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC8vIEhpZGUgYWxsIGxpc3QgaXRlbXNcbiAgICAgICAgbGksXG4gICAgICAgIGxpIC5vcmJpdC1jYXB0aW9uIHsgZGlzcGxheTogbm9uZTsgfVxuXG4gICAgICAgIC8vIC4uLmV4Y2VwdCBmb3IgdGhlIGZpcnN0IG9uZVxuICAgICAgICBsaTpmaXJzdC1jaGlsZCB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG5cbiAgICAgIC5vcmJpdC1jb250YWluZXIgeyBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgICAgICAvLyBTaG93IGltYWdlcyB3aGVuIC5vcmJpdC1jb250YWluZXIgaXMgbG9hZGVkXG4gICAgICAgIGxpIHsgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAub3JiaXQtY2FwdGlvbiB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIH1cbiAgICAgICAgLm9yYml0LWJ1bGxldHMgbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBPcmJpdCBwcmVsb2FkZXJcbiAgICAgIC4jeyRwcmVsb2FkZXItY2xhc3N9IHtcbiAgICAgICAgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMS41cztcbiAgICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkY2hhcmNvYWwgJHdoaXRlO1xuICAgICAgICBib3JkZXI6IHNvbGlkIDNweDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgIH1cbiAgICB9XG5cblxuICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9yYml0LWNvbnRhaW5lci1iZztcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAvLyBQcmV2ZW50cyBpbWFnZXMgKGFuZCBjYXB0aW9ucykgZnJvbSBkaXNhcHBlYXJpbmcgYWZ0ZXIgZmlyc3Qgcm90YXRpb24gb24gQ2hyb21lIGZvciBBbmRyb2lkXG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWigwKTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVaKDApO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG5cbiAgICAgICAgaW1nIHsgZGlzcGxheTogYmxvY2s7IG1heC13aWR0aDogMTAwJTsgfVxuXG4gICAgICAgID4gKiB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBlbHNlIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgQGlmICR0ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC5vcmJpdC1jYXB0aW9uIHtcbiAgICAgICAgICAgIEBpZiAkb3JiaXQtY2FwdGlvbi1wb3NpdGlvbiA9PSBcImJvdHRvbVwiIHtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9IEBlbHNlIGlmICRvcmJpdC1jYXB0aW9uLXBvc2l0aW9uID09IFwidW5kZXJcIiB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmc7XG4gICAgICAgICAgICBjb2xvcjogJG9yYml0LWNhcHRpb24tZm9udC1jb2xvcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJG9yYml0LWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgICAgICAgcGFkZGluZzogJG9yYml0LWNhcHRpb24tcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtc2xpZGUtbnVtYmVyIHtcbiAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDEwcHg7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1zbGlkZS1udW1iZXItYmc7XG4gICAgICAgIGNvbG9yOiAkb3JiaXQtc2xpZGUtbnVtYmVyLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBzcGFuIHsgZm9udC13ZWlnaHQ6IDcwMDsgcGFkZGluZzogJG9yYml0LXNsaWRlLW51bWJlci1wYWRkaW5nO31cbiAgICAgICAgdG9wOiAxMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgIH1cblxuICAgICAgLm9yYml0LXRpbWVyIHtcbiAgICAgICAgXG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4O1xuICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IDEwMHB4O1xuICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgXG5cbiAgICAgICAgLm9yYml0LXByb2dyZXNzIHtcbiAgICAgICAgICBAaWYgJG9yYml0LXRpbWVyLXNob3ctcHJvZ3Jlc3MtYmFyIHtcbiAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LXRpbWVyLWJnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiA1cHg7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQbGF5IGJ1dHRvblxuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgYm9yZGVyLXRvcDogbm9uZTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQYXVzZSBidXR0b25cbiAgICAgICAgJi5wYXVzZWQge1xuICAgICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMXB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCA4cHg7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IC00cHg7XG5cbiAgICAgICAgICAgICYuZGFyayB7XG4gICAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiAkb2lsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG5cblxuICAgICAgJjpob3ZlciAub3JiaXQtdGltZXIgPiBzcGFuIHsgZGlzcGxheTogYmxvY2s7IH1cblxuICAgICAgLy8gTGV0J3MgZ2V0IHRob3NlIGNvbnRyb2xzIHRvIGJlIHJpZ2h0IGluIHRoZSBjZW50ZXIgb24gZWFjaCBzaWRlXG4gICAgICAub3JiaXQtcHJldixcbiAgICAgIC5vcmJpdC1uZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LW5hdi1iZztcbiAgICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMjVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweCAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IDQ1JTtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1uYXYtYmctaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyOiBpbnNldCAxMHB4O1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vcmJpdC1wcmV2IHsgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvcjtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyID4gc3BhbiB7XG4gICAgICAgICAgYm9yZGVyLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3ItaG92ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5vcmJpdC1uZXh0IHsgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgICAgJiA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLSN7JGRlZmF1bHQtZmxvYXR9LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItI3skZGVmYXVsdC1mbG9hdH0tY29sb3I6ICRvcmJpdC1uYXYtYXJyb3ctY29sb3I7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC00cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciA+IHNwYW4ge1xuICAgICAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJG9yYml0LW5hdi1hcnJvdy1jb2xvci1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5vcmJpdC1idWxsZXRzLWNvbnRhaW5lciB7IHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5vcmJpdC1idWxsZXRzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW46IDAgYXV0byAzMHB4IGF1dG87XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdG9wOiAxMHB4O1xuXG4gICAgICBsaSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRvcmJpdC1idWxsZXQtbmF2LWNvbG9yO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgLy8gZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiAkb3JiaXQtYnVsbGV0LXJhZGl1cztcbiAgICAgICAgbWFyZ2luLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDZweDtcbiAgICAgICAgd2lkdGg6ICRvcmJpdC1idWxsZXQtcmFkaXVzO1xuXG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cygxMDAwcHgpO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkb3JiaXQtYnVsbGV0LW5hdi1jb2xvci1hY3RpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQgeyBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDsgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50b3VjaCB7XG4gICAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgICAgLm9yYml0LXByZXYsXG4gICAgICAgIC5vcmJpdC1uZXh0IHsgZGlzcGxheTogbm9uZTsgfVxuICAgICAgfVxuXG4gICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IG5vbmU7IH1cbiAgICB9XG5cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcblxuICAgICAgLnRvdWNoIHtcbiAgICAgICAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgICAgICAgLm9yYml0LXByZXYsXG4gICAgICAgICAgLm9yYml0LW5leHQgeyBkaXNwbGF5OiBpbmhlcml0OyB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JiaXQtYnVsbGV0cyB7IGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgLm9yYml0LXN0YWNrLW9uLXNtYWxsIHtcbiAgICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIge2hlaWdodDogYXV0byAhaW1wb3J0YW50O31cbiAgICAgICAgLm9yYml0LXNsaWRlcy1jb250YWluZXIgPiAqIHtcbiAgICAgICAgICBtYXJnaW46MCAgIWltcG9ydGFudDtcbiAgICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yYml0LXNsaWRlLW51bWJlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJG9yYml0LXRpbWVyLWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC10aW1lcntkaXNwbGF5OiBub25lO31cbiAgICAgIH1cbiAgICAgIEBpZiAkb3JiaXQtbmF2LWhpZGUtZm9yLXNtYWxsIHtcbiAgICAgICAgIC5vcmJpdC1uZXh0LC5vcmJpdC1wcmV2e2Rpc3BsYXk6IG5vbmU7fVxuICAgICAgfVxuICAgICAgQGlmICRvcmJpdC1idWxsZXQtaGlkZS1mb3Itc21hbGwge1xuICAgICAgICAgLm9yYml0LWJ1bGxldHN7ZGlzcGxheTogbm9uZTt9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBQYWdpbmF0aW9uXG4vL1xuLy8gUGFnaW5hdGlvbiBpcyBhIHR5cGUgb2YgbmF2aWdhdGlvbiB0aGF0IGxldHMgdXNlcnMgdGFwIHRocm91Z2ggYSBzZXJpZXMgb2Zcbi8vIHJlbGF0ZWQgcGFnZXMuIE1vdmluZyBiZXR3ZWVuIHBhZ2VzIGhhcyBiZWNvbWUgbGVzcyBjb21tb24gd2l0aCB0aGUgYWR2ZW50XG4vLyBvZiBsb25nZXIgcGFnZXMgYW5kIEFKQVggbG9hZGluZywgYnV0IGlmIHlvdSBuZWVkIHBhZ2luYXRpb24sIEZvdW5kYXRpb24gaGFzXG4vLyB5b3UgY292ZXJlZC5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lclxuLy8gJHBhZ2luYXRpb24taGVpZ2h0OiByZW0tY2FsYygyNCk7XG4vLyAkcGFnaW5hdGlvbi1tYXJnaW46IHJlbS1jYWxjKC01KTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHNldCB0aGUgbGlzdC1pdGVtIHByb3BlcnRpZXNcbi8vICRwYWdpbmF0aW9uLWxpLWZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbi8vICRwYWdpbmF0aW9uLWxpLWhlaWdodDogcmVtLWNhbGMoMjQpO1xuLy8gJHBhZ2luYXRpb24tbGktZm9udC1jb2xvcjogIzIyMjtcbi8vICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuLy8gJHBhZ2luYXRpb24tbGktbWFyZ2luOiByZW0tY2FsYyg1KTtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciB0aGUgcGFnaW5hdGlvbiBhbmNob3IgbGlua3Ncbi8vICRwYWdpbmF0aW9uLWxpbmstcGFkOiByZW0tY2FsYygxIDEwIDEpO1xuLy8gJHBhZ2luYXRpb24tbGluay1mb250LWNvbG9yOiAjOTk5O1xuLy8gJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IC0xMCUpO1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGRpc2FibGVkIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICM5OTk7XG4vLyAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWJnLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIFdlIHVzZSB0aGVzZSBmb3IgY3VycmVudGx5IHNlbGVjdGVkIGFuY2hvciBsaW5rc1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I6ICNmZmY7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yOiBkZWZhdWx0O1xuLy8gJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3I7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFnaW5hdGlvblwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1wYWdpbmF0aW9uXCIpIHtcblxuICAuUGFnZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBoZWlnaHQ6ICRwYWdpbmF0aW9uLWhlaWdodDtcbiAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRwYWdpbmF0aW9uLW1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC1zaXplOiAkcGFyYWdyYXBoLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5lLWhlaWdodDtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cbiAgICA+IGEsXG4gICAgPiBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZmxvYXQ6ICRwYWdpbmF0aW9uLWxpLWZsb2F0O1xuICAgICAgaGVpZ2h0OiAkcGFnaW5hdGlvbi1saS1oZWlnaHQ7XG4gICAgICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1saW5rLXBhZDtcbiAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHBhZ2luYXRpb24tbGktbWFyZ2luO1xuICAgICAgZm9udC1zaXplOiAkcGFnaW5hdGlvbi1saS1mb250LXNpemU7XG4gICAgfVxuXG4gICAgPiBhIHtcbiAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I7XG4gICAgICBAaW5jbHVkZSByYWRpdXMoJGdsb2JhbC1yYWRpdXMpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgYTpmb2N1cyB7XG4gICAgICAgIC8vIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gc3BhbiB7XG4gICAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtY3Vyc29yO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtZm9udC1jb2xvcjtcbiAgICB9XG5cbiAgICAuSGlnaGxpZ2h0IHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG4gICAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgICBjdXJzb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I7XG4gICAgICAvLyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICAvLyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5QYWdlQ29udHJvbHMge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgLy8gRml4ZXMgQnJva2VuIHNlYXJjaCByZXN1bHQgc3R5bGluZ1xuICAuU2VhcmNoIC5QYWdlQ29udHJvbHMge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gIH1cblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG4kaW5jbHVkZS1wYWdpbmF0aW9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHBhZ2luYXRpb24gY29udGFpbmVyXG4kcGFnaW5hdGlvbi1oZWlnaHQ6IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLW1hcmdpbjogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBsaXN0LWl0ZW0gcHJvcGVydGllc1xuJHBhZ2luYXRpb24tbGktZmxvYXQ6ICRkZWZhdWx0LWZsb2F0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktaGVpZ2h0OiByZW0tY2FsYygyNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGktZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saS1tYXJnaW46IHJlbS1jYWxjKDUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIHRoZSBwYWdpbmF0aW9uIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay1wYWQ6IHJlbS1jYWxjKDEgMTAgMSkgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstYWN0aXZlLWJnOiBzY2FsZS1jb2xvcigkd2hpdGUsICRsaWdodG5lc3M6IC0xMCUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgZm9yIGRpc2FibGVkIGFuY2hvciBsaW5rc1xuJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIGZvciBjdXJyZW50bHkgc2VsZWN0ZWQgYW5jaG9yIGxpbmtzXG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcbiRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1jdXJzb3I6IGRlZmF1bHQgIWRlZmF1bHQ7XG4kcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8gQG1peGluc1xuLy9cbi8vIFN0eWxlIHRoZSBwYWdpbmF0aW9uIGNvbnRhaW5lci4gQ3VycmVudGx5IG9ubHkgdXNlZCB3aGVuIGNlbnRlcmluZyBlbGVtZW50cy5cbi8vICRjZW50ZXIgLSBEZWZhdWx0OiBmYWxzZSwgT3B0aW9uczogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyKCRjZW50ZXI6ZmFsc2UpIHtcbiAgQGlmICRjZW50ZXIgeyB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbn1cblxuLy8gQG1peGluc1xuLy8gU3R5bGUgdW5hdmFpbGFibGUgbGlzdCBpdGVtc1xuQG1peGluIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSB7XG4gIGEsIGJ1dHRvbiB7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLXVuYXZhaWxhYmxlLWN1cnNvcjtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay11bmF2YWlsYWJsZS1mb250LWNvbG9yO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICY6aG92ZXIgYSxcbiAgJiBhOmZvY3VzLFxuXG4gICY6aG92ZXIgYnV0dG9uLFxuICAmIGJ1dHRvbjpmb2N1c1xuICB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstdW5hdmFpbGFibGUtYmctYWN0aXZlOyB9XG59XG4vLyBAbWl4aW5zXG4vLyBTdHlsZSB0aGUgY3VycmVudCBsaXN0IGl0ZW0uIERvIG5vdCBhc3N1bWUgdGhhdCB0aGUgY3VycmVudCBpdGVtIGhhc1xuLy8gYW4gYW5jaG9yIDxhPiBlbGVtZW50LlxuLy8gJGhhcy1hbmNob3IgLSBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuQG1peGluIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCRoYXMtYW5jaG9yOiB0cnVlKSB7XG4gIEBpZiAkaGFzLWFuY2hvciB7XG4gICAgYSwgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1iYWNrZ3JvdW5kO1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LWNvbG9yO1xuICAgICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1mb250LXdlaWdodDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMgeyBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYWN0aXZlLWJnOyB9XG4gICAgfVxuICB9IEBlbHNlIHtcbiAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHBhZ2luYXRpb24tbGluay1jdXJyZW50LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtY3Vyc29yO1xuICAgIGZvbnQtd2VpZ2h0OiAkcGFnaW5hdGlvbi1saW5rLWN1cnJlbnQtZm9udC13ZWlnaHQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgIEBpbmNsdWRlIHJhZGl1cztcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7IGJhY2tncm91bmQ6ICRwYWdpbmF0aW9uLWxpbmstY3VycmVudC1hY3RpdmUtYmc7IH1cbiAgfVxufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc2V0IHRoZSBwcm9wZXJ0aWVzIGZvciB0aGUgY3JlYXRpbmcgRm91bmRhdGlvbiBwYWdpbmF0aW9uXG4vLyAkY2VudGVyIC0gTGVmdCBvciBjZW50ZXIgYWxpZ24gdGhlIGxpIGVsZW1lbnRzLiBEZWZhdWx0OiBmYWxzZVxuLy8gJGJhc2Utc3R5bGUgLSBTZXRzIGJhc2Ugc3R5bGVzIGZvciBwYWdpbmF0aW9uLiBEZWZhdWx0OiB0cnVlLCBPcHRpb25zOiBmYWxzZVxuLy8gJHVzZS1kZWZhdWx0LWNsYXNzZXMgLSBNYWtlcyB1bmF2YWlsYWJsZSAmIGN1cnJlbnQgY2xhc3NlcyBhdmFpbGFibGUgZm9yIHVzZS4gRGVmYXVsdDogdHJ1ZVxuQG1peGluIHBhZ2luYXRpb24oJGNlbnRlcjpmYWxzZSwgJGJhc2Utc3R5bGU6dHJ1ZSwgJHVzZS1kZWZhdWx0LWNsYXNzZXM6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1tYXJnaW47XG4gICAgbWluLWhlaWdodDogJHBhZ2luYXRpb24taGVpZ2h0O1xuXG4gICAgbGkge1xuICAgICAgY29sb3I6ICRwYWdpbmF0aW9uLWxpLWZvbnQtY29sb3I7XG4gICAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWxpLWZvbnQtc2l6ZTtcbiAgICAgIGhlaWdodDogJHBhZ2luYXRpb24tbGktaGVpZ2h0O1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkcGFnaW5hdGlvbi1saS1tYXJnaW47XG5cbiAgICAgIGEsIGJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1saW5rLWZvbnQtY29sb3I7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWxpbmstcGFkO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyIGEsXG4gICAgICBhOmZvY3VzLFxuICAgICAgJjpob3ZlciBidXR0b24sXG4gICAgICBidXR0b246Zm9jdXNcbiAgICAgIHsgYmFja2dyb3VuZDogJHBhZ2luYXRpb24tbGluay1hY3RpdmUtYmc7IH1cblxuICAgICAgQGlmICR1c2UtZGVmYXVsdC1jbGFzc2VzIHtcbiAgICAgICAgJi51bmF2YWlsYWJsZSB7IEBpbmNsdWRlIHBhZ2luYXRpb24tdW5hdmFpbGFibGUtaXRlbSgpOyB9XG4gICAgICAgICYuY3VycmVudCB7IEBpbmNsdWRlIHBhZ2luYXRpb24tY3VycmVudC1pdGVtKCk7IH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMZWZ0IG9yIGNlbnRlciBhbGlnbiB0aGUgbGkgZWxlbWVudHNcbiAgbGkge1xuICAgIEBpZiAkY2VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgIH0gQGVsc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmbG9hdDogJHBhZ2luYXRpb24tbGktZmxvYXQ7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYWdpbmF0aW9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLXBhZ2luYXRpb24tY2xhc3NlcyB7XG4gICAgdWwucGFnaW5hdGlvbiB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uO1xuICAgIH1cblxuICAgIC8qIFBhZ2luYXRpb24gY2VudHJlZCB3cmFwcGVyICovXG4gICAgLnBhZ2luYXRpb24tY2VudGVyZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXIodHJ1ZSk7XG5cbiAgICAgIHVsLnBhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uKHRydWUsIGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIFBhbmVsc1xuLy9cbi8vIEEgcGFuZWwgaXMgYSBzaW1wbGUsIGhlbHBmdWwgRm91bmRhdGlvbiBjb21wb25lbnQgdGhhdCBlbmFibGVzIHlvdSB0b1xuLy8gb3V0bGluZSBzZWN0aW9ucyBvZiB5b3VyIHBhZ2UgZWFzaWx5LiBUaGlzIGFsbG93cyB5b3UgdG8gdmlldyB5b3VyIHBhZ2Vcbi8vIHNlY3Rpb25zIGFzIHlvdSBhZGQgY29udGVudCB0byB0aGVtLCBvciBhZGQgZW1waGFzaXMgdG8gYSBzZWN0aW9uLiBUaGUgd2lkdGhcbi8vIGlzIGNvbnRyb2xsZWQgYnkgdGhlIGdyaWQgY29sdW1ucyB5b3UgcHV0IHRoZW0gaW5zaWRlLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtcGFuZWwtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIHN0eWxlc1xuLy8gJHBhbmVsLWJnOiBzY2FsZS1jb2xvcigjZmZmLCAkbGlnaHRuZXNzOiAtNSUpO1xuLy8gJHBhbmVsLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcGFuZWwtYm9yZGVyLXNpemU6IDFweDtcblxuLy8gV2UgdXNlIHRoaXMgJSB0byBjb250cm9sIGhvdyBtdWNoIHdlIGRhcmtlbiB0aGluZ3Mgb24gaG92ZXJcbi8vICRwYW5lbC1mdW5jdGlvbi1mYWN0b3I6IC0xMSU7XG4vLyAkcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6ICRwYW5lbC1mdW5jdGlvbi1mYWN0b3IpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgaW5uZXIgcGFkZGluZyBhbmQgYm90dG9tIG1hcmdpblxuLy8gJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbi8vICRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xuLy8gJHBhbmVsLWZvbnQtY29sb3I6ICMzMzM7XG4vLyAkcGFuZWwtZm9udC1jb2xvci1hbHQ6ICNmZmY7XG5cbi8vICRwYW5lbC1oZWFkZXItYWRqdXN0OiB0cnVlO1xuLy8gJGNhbGxvdXQtcGFuZWwtbGluay1jb2xvcjogJHByaW1hcnktY29sb3I7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvcGFuZWxzXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLXBhbmVsc1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wYW5lbC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgc3R5bGVzXG4kcGFuZWwtYmc6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdDtcbiRwYW5lbC1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHBhbmVsLWJvcmRlci1zaXplOiAxcHggIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1iZzogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IDk0JSkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzICUgdG8gY29udHJvbCBob3cgbXVjaCB3ZSBkYXJrZW4gdGhpbmdzIG9uIGhvdmVyXG4kcGFuZWwtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcGFuZWwtYmcsICRsaWdodG5lc3M6IC0xMSUpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IGRlZmF1bHQgaW5uZXIgcGFkZGluZyBhbmQgYm90dG9tIG1hcmdpblxuJHBhbmVsLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcbiRwYW5lbC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgZGVmYXVsdCBmb250IGNvbG9yc1xuJHBhbmVsLWZvbnQtY29sb3I6ICRvaWwgIWRlZmF1bHQ7XG4kcGFuZWwtZm9udC1jb2xvci1hbHQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuJHBhbmVsLWhlYWRlci1hZGp1c3Q6IHRydWUgIWRlZmF1bHQ7XG4kY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjYWxsb3V0LXBhbmVsLWxpbmstY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuLy9cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgcGFuZWxzLlxuLy8gJGJnIC0gU2V0cyB0aGUgcGFuZWwgYmFja2dyb3VuZCBjb2xvci4gRGVmYXVsdDogJHBhbmVsLXBnIHx8IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTUlKSAhZGVmYXVsdFxuLy8gJHBhZGRpbmcgLSBTZXRzIHRoZSBwYW5lbCBwYWRkaW5nIGFtb3VudC4gRGVmYXVsdDogJHBhbmVsLXBhZGRpbmcgfHwgcmVtLWNhbGMoMjApXG4vLyAkYWRqdXN0IC0gU2V0cyB0aGUgZm9udCBjb2xvciBiYXNlZCBvbiB0aGUgZGFya25lc3Mgb2YgdGhlIGJnICYgcmVzZXRzIGhlYWRlciBsaW5lLWhlaWdodHMgZm9yIHBhbmVscy4gRGVmYXVsdDogJHBhbmVsLWhlYWRlci1hZGp1c3QgfHwgdHJ1ZVxuQG1peGluIHBhbmVsKCRiZzokcGFuZWwtYmcsICRwYWRkaW5nOiRwYW5lbC1wYWRkaW5nLCAkYWRqdXN0OiRwYW5lbC1oZWFkZXItYWRqdXN0LCAkYm9yZGVyOnRydWUpIHtcblxuICBAaWYgJGJnIHtcbiAgICAkYmctbGlnaHRuZXNzOiBsaWdodG5lc3MoJGJnKTtcblxuICAgIEBpZiAkYm9yZGVyIHtcbiAgICAgIGJvcmRlci1zdHlsZTogJHBhbmVsLWJvcmRlci1zdHlsZTtcbiAgICAgIGJvcmRlci13aWR0aDogJHBhbmVsLWJvcmRlci1zaXplO1xuICAgICAgYm9yZGVyLWNvbG9yOiAkcGFuZWwtYm9yZGVyLWNvbG9yO1xuICAgIH0gQGVsc2Uge1xuICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgIH1cblxuICAgIG1hcmdpbi1ib3R0b206ICRwYW5lbC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJGJnO1xuICAgIEBpZiAkYmctbGlnaHRuZXNzID49IDUwJSB7IGNvbG9yOiAkcGFuZWwtZm9udC1jb2xvcjsgfVxuICAgIEBlbHNlIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuXG4gICAgLy8gUmVzcGVjdCB0aGUgcGFkZGluZywgZm9vbC5cbiAgICA+IDpmaXJzdC1jaGlsZCB7IG1hcmdpbi10b3A6IDA7IH1cbiAgICA+IDpsYXN0LWNoaWxkIHsgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4gICAgQGlmICRhZGp1c3Qge1xuICAgICAgLy8gV2Ugc2V0IHRoZSBmb250IGNvbG9yIGJhc2VkIG9uIHRoZSBkYXJrbmVzcyBvZiB0aGUgYmcuXG4gICAgICBAaWYgJGJnLWxpZ2h0bmVzcyA+PSA1MCUge1xuICAgICAgICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2LCBwLCBsaSwgZGwgeyBjb2xvcjogJHBhbmVsLWZvbnQtY29sb3I7IH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIGg1LCBoNiwgcCwgbGksIGRsIHsgY29sb3I6ICRwYW5lbC1mb250LWNvbG9yLWFsdDsgfVxuICAgICAgfVxuXG4gICAgICAvLyByZXNldCBoZWFkZXIgbGluZS1oZWlnaHRzIGZvciBwYW5lbHNcbiAgICAgIGgxLCBoMiwgaDMsIGg0LCBoNSwgaDYge1xuICAgICAgICBsaW5lLWhlaWdodDogMTsgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIC8gMjtcbiAgICAgICAgJi5zdWJoZWFkZXIgeyBsaW5lLWhlaWdodDogMS40OyB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJwYW5lbFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXBhbmVsLWNsYXNzZXMge1xuXG4gICAgLyogUGFuZWxzICovXG4gICAgLnBhbmVsIHsgQGluY2x1ZGUgcGFuZWw7XG5cbiAgICAgICYuY2FsbG91dCB7XG4gICAgICAgIEBpbmNsdWRlIHBhbmVsKCRjYWxsb3V0LXBhbmVsLWJnKTtcbiAgICAgICAgYTpub3QoLmJ1dHRvbikge1xuICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yO1xuXG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGNvbG9yOiAkY2FsbG91dC1wYW5lbC1saW5rLWNvbG9yLWhvdmVyO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnJhZGl1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJhZGl1cztcbiAgICAgIH1cblxuICAgIH1cblxuICB9XG59XG4iLCIvL1xuLy8gIyBQcmljaW5nIFRhYmxlc1xuLy9cbi8vIElmIHlvdSdyZSBtYWtpbmcgYSByb2NraW4nIG1hcmtldGluZyBzaXRlIGZvciBhIHN1YnNjcmlwdGlvbi1iYXNlZCBwcm9kdWN0LFxuLy8geW91J3JlIGxpa2VseSBpbiBuZWVkIG9mIGEgcHJpY2luZyB0YWJsZS4gVGhlc2UgdGFibGVzIGZpbGwgMTAwJSBvZiB0aGVpclxuLy8gY29udGFpbmVyIGFuZCBhcmUgbWFkZSBmcm9tIGEgc2ltcGxlIHVub3JkZXJlZCBsaXN0LlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtcHJpY2luZy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvcmRlciBjb2xvclxuLy8gJHByaWNlLXRhYmxlLWJvcmRlcjogc29saWQgMXB4ICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNvbnRyb2wgdGhlIGJvdHRvbSBtYXJnaW4gb2YgdGhlIHByaWNpbmcgdGFibGVcbi8vICRwcmljZS10YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSB0aXRsZSBzdHlsZXNcbi8vICRwcmljZS10aXRsZS1iZzogIzMzMztcbi8vICRwcmljZS10aXRsZS1wYWRkaW5nOiByZW0tY2FsYygxNSAyMCk7XG4vLyAkcHJpY2UtdGl0bGUtYWxpZ246IGNlbnRlcjtcbi8vICRwcmljZS10aXRsZS1jb2xvcjogI2VlZTtcbi8vICRwcmljZS10aXRsZS13ZWlnaHQ6IG5vcm1hbDtcbi8vICRwcmljZS10aXRsZS1zaXplOiByZW0tY2FsYygxNik7XG4vLyAkcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgcHJpY2Ugc3R5bGVzXG4vLyAkcHJpY2UtbW9uZXktYmc6ICNmNmY2ZjY7XG4vLyAkcHJpY2UtbW9uZXktcGFkZGluZzogcmVtLWNhbGMoMTUgMjApO1xuLy8gJHByaWNlLW1vbmV5LWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtbW9uZXktY29sb3I6ICMzMzM7XG4vLyAkcHJpY2UtbW9uZXktd2VpZ2h0OiBub3JtYWw7XG4vLyAkcHJpY2UtbW9uZXktc2l6ZTogcmVtLWNhbGMoMzIpO1xuLy8gJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGRlc2NyaXB0aW9uIHN0eWxlc1xuLy8gJHByaWNlLWJnOiAjZmZmO1xuLy8gJHByaWNlLWRlc2MtY29sb3I6ICM3Nzc7XG4vLyAkcHJpY2UtZGVzYy1wYWRkaW5nOiByZW0tY2FsYygxNSk7XG4vLyAkcHJpY2UtZGVzYy1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWRlc2MtZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4vLyAkcHJpY2UtZGVzYy13ZWlnaHQ6IG5vcm1hbDtcbi8vICRwcmljZS1kZXNjLWxpbmUtaGVpZ2h0OiAxLjQ7XG4vLyAkcHJpY2UtZGVzYy1ib3R0b20tYm9yZGVyOiBkb3R0ZWQgMXB4ICNkZGQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBsaXN0IGl0ZW0gc3R5bGVzXG4vLyAkcHJpY2UtaXRlbS1jb2xvcjogIzMzMztcbi8vICRwcmljZS1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbi8vICRwcmljZS1pdGVtLWFsaWduOiBjZW50ZXI7XG4vLyAkcHJpY2UtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRwcmljZS1pdGVtLXdlaWdodDogbm9ybWFsO1xuLy8gJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAjZGRkO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXG4vLyAkcHJpY2UtY3RhLWJnOiAjZmZmO1xuLy8gJHByaWNlLWN0YS1hbGlnbjogY2VudGVyO1xuLy8gJHByaWNlLWN0YS1wYWRkaW5nOiByZW0tY2FsYygyMCAyMCAwKTtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9wcmljaW5nLXRhYmxlc1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1wcmljaW5nLXRhYmxlc1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuJGluY2x1ZGUtaHRtbC1wcmljaW5nLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm9yZGVyIGNvbG9yXG4kcHJpY2UtdGFibGUtYm9yZGVyOiBzb2xpZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCB0aGUgYm90dG9tIG1hcmdpbiBvZiB0aGUgcHJpY2luZyB0YWJsZVxuJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHRpdGxlIHN0eWxlc1xuJHByaWNlLXRpdGxlLWJnOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLWNvbG9yOiAkc21va2UgIWRlZmF1bHQ7XG4kcHJpY2UtdGl0bGUtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLXRpdGxlLXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRwcmljZS10aXRsZS1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBwcmljZSBzdHlsZXNcbiRwcmljZS1tb25leS1iZzogJHZhcG9yICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKSAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1hbGlnbjogY2VudGVyICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLW1vbmV5LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRwcmljZS1tb25leS1zaXplOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XG4kcHJpY2UtbW9uZXktZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBkZXNjcmlwdGlvbiBzdHlsZXNcbiRwcmljZS1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJHByaWNlLWRlc2Mtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWRlc2MtbGluZS1oZWlnaHQ6IDEuNCAhZGVmYXVsdDtcbiRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI6IGRvdHRlZCAxcHggJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGxpc3QgaXRlbSBzdHlsZXNcbiRwcmljZS1pdGVtLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMTUpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYWxpZ246IGNlbnRlciAhZGVmYXVsdDtcbiRwcmljZS1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0td2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHByaWNlLWl0ZW0tYm90dG9tLWJvcmRlcjogZG90dGVkIDFweCAkZ2FpbnNib3JvICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgQ1RBIGFyZWEgc3R5bGVzXG4kcHJpY2UtY3RhLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLWFsaWduOiBjZW50ZXIgIWRlZmF1bHQ7XG4kcHJpY2UtY3RhLXBhZGRpbmc6IHJlbS1jYWxjKDIwIDIwIDApICFkZWZhdWx0O1xuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgdG8gY3JlYXRlIHRoZSBjb250YWluZXIgZWxlbWVudCBmb3IgdGhlIHByaWNpbmcgdGFibGVzXG5AbWl4aW4gcHJpY2luZy10YWJsZS1jb250YWluZXIge1xuICBib3JkZXI6ICRwcmljZS10YWJsZS1ib3JkZXI7XG4gIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHByaWNlLXRhYmxlLW1hcmdpbi1ib3R0b207XG5cbiAgJiAqIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG59XG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBwcmljaW5nIHRhYmxlIHRpdGxlIHN0eWxlc1xuQG1peGluIHByaWNpbmctdGFibGUtdGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtdGl0bGUtYmc7XG4gIGNvbG9yOiAkcHJpY2UtdGl0bGUtY29sb3I7XG4gIGZvbnQtZmFtaWx5OiAkcHJpY2UtdGl0bGUtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJHByaWNlLXRpdGxlLXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtdGl0bGUtd2VpZ2h0O1xuICBwYWRkaW5nOiAkcHJpY2UtdGl0bGUtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLXRpdGxlLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY29udHJvbCB0aGUgcHJpY2luZyB0YWJsZSBwcmljZSBzdHlsZXNcbkBtaXhpbiBwcmljaW5nLXRhYmxlLXByaWNlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLW1vbmV5LWJnO1xuICBjb2xvcjogJHByaWNlLW1vbmV5LWNvbG9yO1xuICBmb250LWZhbWlseTogJHByaWNlLW1vbmV5LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRwcmljZS1tb25leS1zaXplO1xuICBmb250LXdlaWdodDogJHByaWNlLW1vbmV5LXdlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLW1vbmV5LXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1tb25leS1hbGlnbjtcbn1cblxuLy8gQG1peGluc1xuLy9cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgZGVzY3JpcHRpb24gc3R5bGVzIGZvciB0aGUgcHJpY2luZyB0YWJsZVxuQG1peGluIHByaWNpbmctdGFibGUtZGVzY3JpcHRpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1kZXNjLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtZGVzYy1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtZGVzYy1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtZGVzYy13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkcHJpY2UtZGVzYy1saW5lLWhlaWdodDtcbiAgcGFkZGluZzogJHByaWNlLWRlc2MtcGFkZGluZztcbiAgdGV4dC1hbGlnbjogJHByaWNlLWRlc2MtYWxpZ247XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBzdHlsZSB0aGUgYnVsbGV0IGl0ZW1zIGluIHRoZSBwcmljaW5nIHRhYmxlXG5AbWl4aW4gcHJpY2luZy10YWJsZS1idWxsZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJpY2UtYmc7XG4gIGJvcmRlci1ib3R0b206ICRwcmljZS1pdGVtLWJvdHRvbS1ib3JkZXI7XG4gIGNvbG9yOiAkcHJpY2UtaXRlbS1jb2xvcjtcbiAgZm9udC1zaXplOiAkcHJpY2UtaXRlbS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcHJpY2UtaXRlbS13ZWlnaHQ7XG4gIHBhZGRpbmc6ICRwcmljZS1pdGVtLXBhZGRpbmc7XG4gIHRleHQtYWxpZ246ICRwcmljZS1pdGVtLWFsaWduO1xufVxuXG4vLyBAbWl4aW5zXG4vL1xuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gc3R5bGUgdGhlIENUQSBhcmVhIG9mIHRoZSBwcmljaW5nIHRhYmxlc1xuQG1peGluIHByaWNpbmctdGFibGUtY3RhIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByaWNlLWN0YS1iZztcbiAgcGFkZGluZzogJHByaWNlLWN0YS1wYWRkaW5nO1xuICB0ZXh0LWFsaWduOiAkcHJpY2UtY3RhLWFsaWduO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJpY2luZy10YWJsZVwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXByaWNpbmctY2xhc3NlcyB7XG5cbiAgICAvKiBQcmljaW5nIFRhYmxlcyAqL1xuICAgIC5wcmljaW5nLXRhYmxlIHtcbiAgICAgIEBpbmNsdWRlIHByaWNpbmctdGFibGUtY29udGFpbmVyO1xuXG4gICAgICAudGl0bGUgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXRpdGxlOyB9XG4gICAgICAucHJpY2UgeyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLXByaWNlOyB9XG4gICAgICAuZGVzY3JpcHRpb24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWRlc2NyaXB0aW9uOyB9XG4gICAgICAuYnVsbGV0LWl0ZW0geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWJ1bGxldDsgfVxuICAgICAgLmN0YS1idXR0b24geyBAaW5jbHVkZSBwcmljaW5nLXRhYmxlLWN0YTsgfVxuICAgIH1cblxuICB9XG59XG4iLCIvL1xuLy8gIyBQcm9ncmVzcyBCYXJzXG4vL1xuLy8gQSBzaW1wbGUgd2F5IHRvIGFkZCBwcm9ncmVzcyBiYXJzIHRvIHlvdXIgbGF5b3V0cy4gWW91IG9ubHkgbmVlZCB0d28gSFRNTFxuLy8gZWxlbWVudHMgdG8gbWFrZSB0aGVtIGFuZCB0aGV5J3JlIGVhc3kgdG8gY3VzdG9taXplLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbi8vICRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4vLyAkcHJvZ3Jlc3MtYmFyLWNvbG9yOiAjZjZmNmY2O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYm9yZGVyIHN0eWxlc1xuLy8gJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCNmZmYsICRsaWdodG5lc3M6IDIwJSk7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zaXplOiAxcHg7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkcHJvZ3Jlc3MtYmFyLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbWFyZ2luICYgcGFkZGluZ1xuLy8gJHByb2dyZXNzLWJhci1wYWQ6IHJlbS1jYWxjKDIpO1xuLy8gJHByb2dyZXNzLWJhci1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzZXQgdGhlIG1ldGVyIGNvbG9yc1xuLy8gJHByb2dyZXNzLW1ldGVyLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbi8vICRwcm9ncmVzcy1tZXRlci1zZWNvbmRhcnktY29sb3I6ICRzZWNvbmRhcnktY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcjogJHN1Y2Nlc3MtY29sb3I7XG4vLyAkcHJvZ3Jlc3MtbWV0ZXItYWxlcnQtY29sb3I6ICRhbGVydC1jb2xvcjtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9wcm9ncmVzcy1iYXJzXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLXByb2dyZXNzLWJhcnNcIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdGhlIHByb2dyZXNzIGJhciBoZWlnaHRcbiRwcm9ncmVzcy1iYXItaGVpZ2h0OiByZW0tY2FsYygyNSkgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtYmFyLWNvbG9yOiAkdmFwb3IgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBib3JkZXIgc3R5bGVzXG4kcHJvZ3Jlc3MtYmFyLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoJHdoaXRlLCAkbGlnaHRuZXNzOiAyMCUpICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1hcmdpbiAmIHBhZGRpbmdcbiRwcm9ncmVzcy1iYXItcGFkOiByZW0tY2FsYygyKSAhZGVmYXVsdDtcbiRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc2V0IHRoZSBtZXRlciBjb2xvcnNcbiRwcm9ncmVzcy1tZXRlci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yOiAkc2Vjb25kYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLXN1Y2Nlc3MtY29sb3I6ICRzdWNjZXNzLWNvbG9yICFkZWZhdWx0O1xuJHByb2dyZXNzLW1ldGVyLWFsZXJ0LWNvbG9yOiAkYWxlcnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyBXZSB1c2UgdGhpcyB0byBzZXQgdXAgdGhlIHByb2dyZXNzIGJhciBjb250YWluZXJcbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFyLWNvbG9yO1xuICBib3JkZXI6ICRwcm9ncmVzcy1iYXItYm9yZGVyLXNpemUgJHByb2dyZXNzLWJhci1ib3JkZXItc3R5bGUgJHByb2dyZXNzLWJhci1ib3JkZXItY29sb3I7XG4gIGhlaWdodDogJHByb2dyZXNzLWJhci1oZWlnaHQ7XG4gIG1hcmdpbi1ib3R0b206ICRwcm9ncmVzcy1iYXItbWFyZ2luLWJvdHRvbTtcbiAgcGFkZGluZzogJHByb2dyZXNzLWJhci1wYWQ7XG59XG5cbi8vIEBtaXhpbnNcbi8vXG4vLyAkYmcgLSBEZWZhdWx0OiAkcHJvZ3Jlc3MtbWV0ZXItY29sb3IgfHwgJHByaW1hcnktY29sb3JcbkBtaXhpbiBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLWNvbG9yKSB7XG4gIGJhY2tncm91bmQ6ICRiZztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTAwJTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAwJTtcbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwicHJvZ3Jlc3MtYmFyXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtbWVkaWEtY2xhc3NlcyB7XG5cbiAgICAvKiBQcm9ncmVzcyBCYXIgKi9cbiAgICAucHJvZ3Jlc3Mge1xuICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtY29udGFpbmVyO1xuXG4gICAgICAvLyBNZXRlclxuICAgICAgLm1ldGVyIHtcbiAgICAgICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXI7XG5cbiAgICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcigkYmc6JHByb2dyZXNzLW1ldGVyLXNlY29uZGFyeS1jb2xvcik7IH1cbiAgICAgICAgJi5zdWNjZXNzIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1zdWNjZXNzLWNvbG9yKTsgfVxuICAgICAgICAmLmFsZXJ0IHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcik7IH1cbiAgICAgIH1cbiAgICAgICYuc2Vjb25kYXJ5IC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgJi5zdWNjZXNzIC5tZXRlciB7IEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyKCRiZzokcHJvZ3Jlc3MtbWV0ZXItc3VjY2Vzcy1jb2xvcik7IH1cbiAgICAgICYuYWxlcnQgLm1ldGVyIHsgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXIoJGJnOiRwcm9ncmVzcy1tZXRlci1hbGVydC1jb2xvcik7IH1cblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHByb2dyZXNzLWJhci1ib3JkZXItcmFkaXVzKTtcbiAgICAgICAgLm1ldGVyIHsgQGluY2x1ZGUgcmFkaXVzKCRwcm9ncmVzcy1iYXItYm9yZGVyLXJhZGl1cyAtIDEpOyB9XG4gICAgICB9XG5cbiAgICAgICYucm91bmQgeyBAaW5jbHVkZSByYWRpdXMoMTAwMHB4KTtcbiAgICAgICAgLm1ldGVyIHsgQGluY2x1ZGUgcmFkaXVzKDk5OXB4KTsgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vXG4vLyAjIFJhbmdlIFNsaWRlclxuLy9cbi8vIFRoaXMgaGFuZHkgc2xpZGVyIHdpbGwgYWxsb3cgeW91IHRvIGRyYWcgYSBoYW5kbGUgdG8gc2VsZWN0IGEgc3BlY2lmaWMgdmFsdWVcbi8vIGZyb20gYSByYW5nZS5cbi8vXG4vLyBEZXByZWNhdGVkOiBSYW5nZSBzbGlkZXJzIGhhdmUgYmVlbiBkZXByZWNhdGVkIGluIEZvdW5kYXRpb24gNSBhbmQgd2lsbCBiZVxuLy8gcmVtb3ZlZCBpbiB0aGUgZnV0dXJlLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtcmFuZ2Utc2xpZGVyLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gVGhlc2UgdmFyaWFiZWxzIGRlZmluZSB0aGUgc2xpZGVyIGJhciBzdHlsZXNcbi8vICRyYW5nZS1zbGlkZXItYmFyLXdpZHRoOiAxMDAlO1xuLy8gJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0OiByZW0tY2FsYygxNik7XG5cbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjogI2RkZDtcbi8vICRyYW5nZS1zbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbi8vICRyYW5nZS1zbGlkZXItYmFyLWJnLWNvbG9yOiAjZmFmYWZhO1xuXG4vLyBWZXJ0aWNhbCBiYXIgc3R5bGVzXG4vLyAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDogcmVtLWNhbGMoMTYpO1xuLy8gJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0OiByZW0tY2FsYygyMDApO1xuXG4vLyBUaGVzZSB2YXJpYWJlbHMgZGVmaW5lIHRoZSBzbGlkZXIgaGFuZGxlIHN0eWxlc1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg6IHJlbS1jYWxjKDMyKTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWhlaWdodDogJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1tYXJnaW4tdG9wOiByZW0tY2FsYygtMTApO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoOiAxcHg7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBzY2FsZS1jb2xvcigkcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTEwJSk7XG4vLyAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctaG92ZXItY29sb3I6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTIlKTtcbi8vICRyYW5nZS1zbGlkZXItaGFuZGxlLWN1cnNvcjogcG9pbnRlcjtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9yYW5nZS1zbGlkZXJcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtcmFuZ2Utc2xpZGVyXCIpIHtcblxuICAvLyBOb3RoaW5nIHRvIHNlZSBoZXJlLi4uIHlldCFcblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF9yYW5nZS1zbGlkZXIuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLXJhbmdlLXNsaWRlci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIHZhcmlhYmxlcyBkZWZpbmUgdGhlIHNsaWRlciBiYXIgc3R5bGVzXG4kcmFuZ2Utc2xpZGVyLWJhci13aWR0aDogMTAwJSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWhlaWdodDogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4kcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGg6IDFweCAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItY29sb3I6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcjogJGdob3N0ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudC1iZy1jb2xvcjogc2NhbGUtY29sb3IoJHNlY29uZGFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTElKSAhZGVmYXVsdDtcblxuLy8gVmVydGljYWwgYmFyIHN0eWxlc1xuJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItd2lkdGg6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodDogcmVtLWNhbGMoMjAwKSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgdmFyaWFibGVzIGRlZmluZSB0aGUgc2xpZGVyIGhhbmRsZSBzdHlsZXNcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoOiByZW0tY2FsYygzMikgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKSAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXBvc2l0aW9uLXRvcDogcmVtLWNhbGMoLTUpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoOiAxcHggIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLWNvbG9yOiBub25lICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiRyYW5nZS1zbGlkZXItaGFuZGxlLXJvdW5kOiAkZ2xvYmFsLXJvdW5kZWQgIWRlZmF1bHQ7XG4kcmFuZ2Utc2xpZGVyLWhhbmRsZS1iZy1ob3Zlci1jb2xvcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xMiUpICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1oYW5kbGUtY3Vyc29yOiBwb2ludGVyICFkZWZhdWx0O1xuXG4kcmFuZ2Utc2xpZGVyLWRpc2FibGVkLW9wYWNpdHk6IC43ICFkZWZhdWx0O1xuJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1jdXJzb3I6ICRjdXJzb3ItZGlzYWJsZWQtdmFsdWUgIWRlZmF1bHQ7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWJhci1iYXNlKCR2ZXJ0aWNhbDogZmFsc2UpIHtcbiAgYm9yZGVyOiAkcmFuZ2Utc2xpZGVyLWJhci1ib3JkZXItd2lkdGggJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXN0eWxlICRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci1jb2xvcjtcbiAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG4gIEBpZiAkdmVydGljYWwgPT0gdHJ1ZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogJHJhbmdlLXNsaWRlci12ZXJ0aWNhbC1iYXItaGVpZ2h0O1xuICAgIHdpZHRoOiAkcmFuZ2Utc2xpZGVyLXZlcnRpY2FsLWJhci13aWR0aDtcbiAgfSBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAkcmFuZ2Utc2xpZGVyLWJhci1oZWlnaHQ7XG4gICAgd2lkdGg6ICRyYW5nZS1zbGlkZXItYmFyLXdpZHRoO1xuICB9XG59XG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWJhci1zdHlsZShcbiAgJGJnOiB0cnVlLFxuICAkcmFkaXVzOiBmYWxzZSxcbiAgJHJvdW5kOiBmYWxzZSxcbiAgJGRpc2FibGVkOiBmYWxzZSkge1xuICBAaWYgJGJnID09IHRydWUgeyBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcjsgfVxuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcmFkaXVzKTsgfVxuICBAaWYgJHJvdW5kID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJhbmdlLXNsaWRlci1yb3VuZCk7IH1cbiAgQGlmICRkaXNhYmxlZCA9PSB0cnVlIHtcbiAgICBjdXJzb3I6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtY3Vyc29yO1xuICAgIG9wYWNpdHk6ICRyYW5nZS1zbGlkZXItZGlzYWJsZWQtb3BhY2l0eTtcbiAgfVxufVxuXG5AbWl4aW4gcmFuZ2Utc2xpZGVyLWJhcihcbiAgJGJnOiAkcmFuZ2Utc2xpZGVyLWJhci1iZy1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSkge1xuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLWJhc2U7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGU7XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2UoKSB7XG4gIGJvcmRlcjogJHJhbmdlLXNsaWRlci1oYW5kbGUtYm9yZGVyLXdpZHRoICRyYW5nZS1zbGlkZXItaGFuZGxlLWJvcmRlci1zdHlsZSAkcmFuZ2Utc2xpZGVyLWhhbmRsZS1ib3JkZXItY29sb3I7XG4gIGN1cnNvcjogJHJhbmdlLXNsaWRlci1oYW5kbGUtY3Vyc29yO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogJHJhbmdlLXNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogJHJhbmdlLXNsaWRlci1oYW5kbGUtcG9zaXRpb24tdG9wO1xuICB3aWR0aDogJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIHotaW5kZXg6IDE7XG5cbiAgLy8gVGhpcyByZW1vdmVzIHRoZSAzMDBtcyB0b3VjaCBkZWxheSBvbiBXaW5kb3dzIDhcbiAgLW1zLXRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbn1cblxuQG1peGluIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoXG4gICRiZzogdHJ1ZSxcbiAgJHJhZGl1czogZmFsc2UsXG4gICRyb3VuZDogZmFsc2UsXG4gICRkaXNhYmxlZDogZmFsc2UpIHtcbiAgQGlmICRiZyA9PSB0cnVlIHsgYmFja2dyb3VuZDogJHJhbmdlLXNsaWRlci1oYW5kbGUtYmctY29sb3I7IH1cbiAgQGlmICRyYWRpdXMgPT0gdHJ1ZSB7IEBpbmNsdWRlIHJhZGl1cygkcmFuZ2Utc2xpZGVyLXJhZGl1cyk7IH1cbiAgQGlmICRyb3VuZCA9PSB0cnVlIHsgQGluY2x1ZGUgcmFkaXVzKCRyYW5nZS1zbGlkZXItcm91bmQpOyB9XG4gIEBpZiAkZGlzYWJsZWQgPT0gdHJ1ZSB7XG4gICAgY3Vyc29yOiAkY3Vyc29yLWRlZmF1bHQtdmFsdWU7XG4gICAgb3BhY2l0eTogJHJhbmdlLXNsaWRlci1kaXNhYmxlZC1vcGFjaXR5O1xuICB9XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICRyYW5nZS1zbGlkZXItaGFuZGxlLWJnLWhvdmVyLWNvbG9yO1xuICB9XG59XG5cbkBtaXhpbiByYW5nZS1zbGlkZXItaGFuZGxlKCkge1xuICBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLWJhc2U7XG4gIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGU7XG59XG5cbi8vIENTUyBHZW5lcmF0aW9uXG5AaW5jbHVkZSBleHBvcnRzKFwicmFuZ2Utc2xpZGVyLWJhclwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXJhbmdlLXNsaWRlci1jbGFzc2VzIHtcbiAgICAucmFuZ2Utc2xpZGVyIHtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZTtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJGJnOnRydWUsICRyYWRpdXM6ZmFsc2UpO1xuICAgICAgJi52ZXJ0aWNhbC1yYW5nZSB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItYmFzZSgkdmVydGljYWw6IHRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7XG4gICAgICAgICAgYm90dG9tOiAtKCRyYW5nZS1zbGlkZXItdmVydGljYWwtYmFyLWhlaWdodCAtICRyYW5nZS1zbGlkZXItaGFuZGxlLXdpZHRoKTtcbiAgICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06IC0oJHJhbmdlLXNsaWRlci1oYW5kbGUtd2lkdGggLyA0KTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgICAgICAucmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50IHtcbiAgICAgICAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaXRpYWw7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB3aWR0aDogJHJhbmdlLXNsaWRlci1iYXItaGVpZ2h0IC0gcmVtLWNhbGMoKHN0cmlwLXVuaXQoJHJhbmdlLXNsaWRlci1iYXItYm9yZGVyLXdpZHRoKSAqIDIpKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRyYWRpdXM6dHJ1ZSk7XG4gICAgICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHsgQGluY2x1ZGUgcmFuZ2Utc2xpZGVyLWhhbmRsZS1zdHlsZSgkcmFkaXVzOiB0cnVlKTsgfVxuICAgICAgfVxuICAgICAgJi5yb3VuZCB7XG4gICAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1iYXItc3R5bGUoJHJvdW5kOnRydWUpO1xuICAgICAgICAucmFuZ2Utc2xpZGVyLWhhbmRsZSB7IEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJHJvdW5kOiB0cnVlKTsgfVxuICAgICAgfVxuICAgICAgJi5kaXNhYmxlZCwgJltkaXNhYmxlZF0ge1xuICAgICAgICBAaW5jbHVkZSByYW5nZS1zbGlkZXItYmFyLXN0eWxlKCRkaXNhYmxlZDp0cnVlKTtcbiAgICAgICAgLnJhbmdlLXNsaWRlci1oYW5kbGUgeyBAaW5jbHVkZSByYW5nZS1zbGlkZXItaGFuZGxlLXN0eWxlKCRkaXNhYmxlZDogdHJ1ZSk7IH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnJhbmdlLXNsaWRlci1hY3RpdmUtc2VnbWVudCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcmFuZ2Utc2xpZGVyLWFjdGl2ZS1zZWdtZW50LWJnLWNvbG9yO1xuICAgICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogaW5oZXJpdDtcbiAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IGluaGVyaXQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6ICRyYW5nZS1zbGlkZXItYmFyLWhlaWdodCAtIHJlbS1jYWxjKChzdHJpcC11bml0KCRyYW5nZS1zbGlkZXItYmFyLWJvcmRlci13aWR0aCkgKiAyKSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgIC5yYW5nZS1zbGlkZXItaGFuZGxlIHtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtYmFzZTtcbiAgICAgIEBpbmNsdWRlIHJhbmdlLXNsaWRlci1oYW5kbGUtc3R5bGUoJGJnOnRydWUsICRyYWRpdXM6IGZhbHNlKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIFJldmVhbFxuLy9cbi8vIE1vZGFsIGRpYWxvZ3MsIG9yIHBvcC11cCB3aW5kb3dzLCBhcmUgaGFuZHkgZm9yIHByb3RvdHlwaW5nIGFuZCBwcm9kdWN0aW9uLlxuLy8gRm91bmRhdGlvbiBpbmNsdWRlcyBSZXZlYWwgb3VyIGpRdWVyeSBtb2RhbCBwbHVnaW4sIHRvIG1ha2UgdGhpcyBlYXN5IGZvclxuLy8geW91LlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSByZXZlYWwgb3ZlcmxheS5cbi8vICRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgjMDAwLCAuNDUpO1xuLy8gJHJldmVhbC1vdmVybGF5LWJnLW9sZDogIzAwMDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSBtb2RhbCBpdHNlbGYuXG4vLyAkcmV2ZWFsLW1vZGFsLWJnOiAjZmZmO1xuLy8gJHJldmVhbC1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKDEwMCk7XG4vLyAkcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJTtcbi8vICRyZXZlYWwtbW9kYWwtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuLy8gJHJldmVhbC1ib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKCMwMDAsLjQpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHJldmVhbCBjbG9zZSBidXR0b25cbi8vICRyZXZlYWwtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4vLyAkcmV2ZWFsLWNsb3NlLXRvcDogcmVtLWNhbGMoOCk7XG4vLyAkcmV2ZWFsLWNsb3NlLXNpZGU6IHJlbS1jYWxjKDExKTtcbi8vICRyZXZlYWwtY2xvc2UtY29sb3I6ICNhYWE7XG4vLyAkcmV2ZWFsLWNsb3NlLXdlaWdodDogYm9sZDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIG1vZGFsIGJvcmRlclxuLy8gJHJldmVhbC1ib3JkZXItc3R5bGU6IHNvbGlkO1xuLy8gJHJldmVhbC1ib3JkZXItd2lkdGg6IDFweDtcbi8vICRyZXZlYWwtYm9yZGVyLWNvbG9yOiAjNjY2O1xuXG4vLyAkcmV2ZWFsLW1vZGFsLWNsYXNzOiBcInJldmVhbC1tb2RhbFwiO1xuLy8gJGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzczogXCJjbG9zZS1yZXZlYWwtbW9kYWxcIjtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy9yZXZlYWxcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtcmV2ZWFsXCIpIHtcblxuICAuT3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLWJnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgPiAuUG9wdXAge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtc3R5bGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB0b3A6ICRyZXZlYWwtcG9zaXRpb24tdG9wICFpbXBvcnRhbnQ7XG5cbiAgICAgIGEuQ2xvc2Uge1xuICAgICAgICBAaW5jbHVkZSByZXZlYWwtY2xvc2U7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcblxuLy9cbi8vIEBuYW1lIF9yZXZlYWwuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfZ2xvYmFsLnNjc3Ncbi8vXG5cbiRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN0eWxlIG9mIHRoZSByZXZlYWwgb3ZlcmxheS5cbiRyZXZlYWwtb3ZlcmxheS1iZzogcmdiYSgkYmxhY2ssIC40NSkgIWRlZmF1bHQ7XG4kcmV2ZWFsLW92ZXJsYXktYmctb2xkOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzdHlsZSBvZiB0aGUgbW9kYWwgaXRzZWxmLlxuJHJldmVhbC1tb2RhbC1iZzogJHdoaXRlICFkZWZhdWx0O1xuJHJldmVhbC1wb3NpdGlvbi10b3A6IHJlbS1jYWxjKDEwMCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWRlZmF1bHQtd2lkdGg6IDgwJSAhZGVmYXVsdDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkcm93LXdpZHRoICFkZWZhdWx0O1xuJHJldmVhbC1tb2RhbC1wYWRkaW5nOiByZW0tY2FsYygzMCkgIWRlZmF1bHQ7XG4kcmV2ZWFsLWJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLC40KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIHN0eWxlIHRoZSByZXZlYWwgY2xvc2UgYnV0dG9uXG4kcmV2ZWFsLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoNDApICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS10b3A6IHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcbiRyZXZlYWwtY2xvc2Utc2lkZTogcmVtLWNhbGMoMjIpICFkZWZhdWx0O1xuJHJldmVhbC1jbG9zZS1jb2xvcjogJGJhc2UgIWRlZmF1bHQ7XG4kcmV2ZWFsLWNsb3NlLXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHNldCB0aGUgZGVmYXVsdCByYWRpdXMgdXNlZCB0aHJvdWdob3V0IHRoZSBjb3JlLlxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuJHJldmVhbC1yb3VuZDogJGdsb2JhbC1yb3VuZGVkICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgbW9kYWwgYm9yZGVyXG4kcmV2ZWFsLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kcmV2ZWFsLWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuJHJldmVhbC1ib3JkZXItY29sb3I6ICRzdGVlbCAhZGVmYXVsdDtcblxuJHJldmVhbC1tb2RhbC1jbGFzczogXCJyZXZlYWwtbW9kYWxcIiAhZGVmYXVsdDtcbiRjbG9zZS1yZXZlYWwtbW9kYWwtY2xhc3M6IFwiY2xvc2UtcmV2ZWFsLW1vZGFsXCIgIWRlZmF1bHQ7XG5cbi8vIFNldCBiYXNlIHotaW5kZXhcbiR6LWluZGV4LWJhc2U6IDEwMDU7XG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjcmVhdGUgdGhlIHJldmVhbCBiYWNrZ3JvdW5kIG92ZXJsYXkgc3R5bGVzXG5AbWl4aW4gcmV2ZWFsLWJnKCAkaW5jbHVkZS16LWluZGV4LXZhbHVlOiB0cnVlICkge1xuICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7IC8vIGFsbG93cyBtb2RhbCBiYWNrZ3JvdW5kIHRvIGV4dGVuZCBiZXlvbmQgd2luZG93IHBvc2l0aW9uXG4gIGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iZy1vbGQ7IC8vIEF1dG9wcmVmaXhlciBzaG91bGQgYmUgdXNlZCB0byBhdm9pZCBzdWNoIHZhcmlhYmxlcyBuZWVkZWQgd2hlbiBGb3VuZGF0aW9uIGZvciBTaXRlcyBjYW4gZG8gc28gaW4gdGhlIG5lYXIgZnV0dXJlLlxuICBiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmc7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiBpZiggJGluY2x1ZGUtei1pbmRleC12YWx1ZSwgJHotaW5kZXgtYmFzZSAtIDEsIGF1dG8gKTtcbiAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG59XG5cbi8vIFdlIHVzZSB0aGlzIG1peGluIHRvIGNyZWF0ZSB0aGUgc3RydWN0dXJlIG9mIGEgcmV2ZWFsIG1vZGFsXG4vL1xuLy8gJGJhc2Utc3R5bGUgLSBQcm92aWRlcyByZXZlYWwgYmFzZSBzdHlsZXMsIGNhbiBiZSBzZXQgdG8gZmFsc2UgdG8gb3ZlcnJpZGUuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkd2lkdGggLSBTZXRzIHJldmVhbCB3aWR0aCBEZWZhdWx0OiAkcmV2ZWFsLWRlZmF1bHQtd2lkdGggfHwgODAlXG4vL1xuQG1peGluIHJldmVhbC1tb2RhbC1iYXNlKCAkYmFzZS1zdHlsZTogdHJ1ZSwgJHdpZHRoOiRyZXZlYWwtZGVmYXVsdC13aWR0aCwgJG1heC13aWR0aDokcmV2ZWFsLW1heC13aWR0aCwgJGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzKSB7XG4gIEBpZiAkYmFzZS1zdHlsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJvcmRlci1yYWRpdXM7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6ICR6LWluZGV4LWJhc2U7XG4gICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG5cbiAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICB9XG5cbiAgICAvLyBNYWtlIHN1cmUgcm93cyBkb24ndCBoYXZlIGEgbWluLXdpZHRoIG9uIHRoZW1cbiAgICAuY29sdW1uLCAuY29sdW1ucyB7IG1pbi13aWR0aDogMDsgfVxuXG4gICAgLy8gR2V0IHJpZCBvZiBtYXJnaW4gZnJvbSBmaXJzdCBhbmQgbGFzdCBlbGVtZW50IGluc2lkZSBtb2RhbFxuICAgID4gOmZpcnN0LWNoaWxkIHsgbWFyZ2luLXRvcDogMDsgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7IG1hcmdpbi1ib3R0b206IDA7IH1cbiAgfVxuXG4gIEBpZiAkd2lkdGgge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogJG1heC13aWR0aDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICB9XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHJldmVhbCBtb2RhbCBkZWZhdWx0c1xuLy9cbi8vICRiZyAtIFNldHMgYmFja2dyb3VuZCBjb2xvciBvZiByZXZlYWwgbW9kYWwuIERlZmF1bHQ6ICRyZXZlYWwtbW9kYWwtYmcgfHwgJHdoaXRlXG4vLyAkcGFkZGluZyAtIFBhZGRpbmcgdG8gYXBwbHkgdG8gcmV2ZWFsIG1vZGFsLiBEZWZhdWx0OiAkcmV2ZWFsLW1vZGFsLXBhZGRpbmcuXG4vLyAkYm9yZGVyIC0gQ2hvb3NlIHdoZXRoZXIgcmV2ZWFsIHVzZXMgYSBib3JkZXIuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkYm9yZGVyLXN0eWxlIC0gU2V0IHJldmVhbCBib3JkZXIgc3R5bGUuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXN0eWxlIHx8IHNvbGlkXG4vLyAkYm9yZGVyLXdpZHRoIC0gV2lkdGggb2YgYm9yZGVyIChpLmUuIDFweCkuIERlZmF1bHQ6ICRyZXZlYWwtYm9yZGVyLXdpZHRoLlxuLy8gJGJvcmRlci1jb2xvciAtIENvbG9yIG9mIGJvcmRlci4gRGVmYXVsdDogJHJldmVhbC1ib3JkZXItY29sb3IuXG4vLyAkYm94LXNoYWRvdyAtIENob29zZSB3aGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIHRoZSBkZWZhdWx0IGJveC1zaGFkb3cuIERlZmF1bHQ6IHRydWUsIE9wdGlvbnM6IGZhbHNlXG4vLyAkcmFkaXVzIC0gSWYgdHJ1ZSwgc2V0IHRvIG1vZGFsIHJhZGl1cyB3aGljaCBpcyAkZ2xvYmFsLXJhZGl1cyB8fCBleHBsaWNpdGx5IHNldCByYWRpdXMgYW1vdW50IGluIHB4IChleC4gJHJhZGl1czoxMHB4KS4gRGVmYXVsdDogZmFsc2Vcbi8vICR0b3Atb2Zmc2V0IC0gRGVmYXVsdDogJHJldmVhbC1wb3NpdGlvbi10b3AgfHwgNTBweFxuQG1peGluIHJldmVhbC1tb2RhbC1zdHlsZShcbiAgJGJnOmZhbHNlLFxuICAkcGFkZGluZzpmYWxzZSxcbiAgJGJvcmRlcjpmYWxzZSxcbiAgJGJvcmRlci1zdHlsZTokcmV2ZWFsLWJvcmRlci1zdHlsZSxcbiAgJGJvcmRlci13aWR0aDokcmV2ZWFsLWJvcmRlci13aWR0aCxcbiAgJGJvcmRlci1jb2xvcjokcmV2ZWFsLWJvcmRlci1jb2xvcixcbiAgJGJveC1zaGFkb3c6ZmFsc2UsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICR0b3Atb2Zmc2V0OmZhbHNlKSB7XG5cbiAgQGlmICRiZyB7IGJhY2tncm91bmQtY29sb3I6ICRiZzsgfVxuICBAaWYgJHBhZGRpbmcgIT0gZmFsc2UgeyBwYWRkaW5nOiAkcGFkZGluZzsgfVxuXG4gIEBpZiAkYm9yZGVyIHsgYm9yZGVyOiAkYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJGJvcmRlci1jb2xvcjsgfVxuXG4gIC8vIFdlIGNhbiBjaG9vc2Ugd2hldGhlciBvciBub3QgdG8gaW5jbHVkZSB0aGUgZGVmYXVsdCBib3gtc2hhZG93LlxuICBAaWYgJGJveC1zaGFkb3cge1xuICAgIGJveC1zaGFkb3c6ICRyZXZlYWwtYm94LXNoYWRvdztcbiAgfVxuICBAZWxzZXtcbiAgICAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG5cbiAgLy8gV2UgY2FuIGNvbnRyb2wgaG93IG11Y2ggcmFkaXVzIGlzIHVzZWQgb24gdGhlIG1vZGFsXG4gIEBpZiAkcmFkaXVzID09IHRydWUgeyBAaW5jbHVkZSByYWRpdXMoJHJldmVhbC1yYWRpdXMpOyB9XG4gIEBlbHNlIGlmICRyYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHJhZGl1cyk7IH1cblxuICBAaWYgJHRvcC1vZmZzZXQge1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHRvcDogJHRvcC1vZmZzZXQ7XG4gICAgfVxuICB9XG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBhIGNsb3NlIGJ1dHRvbiBmb3IgdGhlIHJldmVhbCBtb2RhbFxuLy9cbi8vICRjb2xvciAtIERlZmF1bHQ6ICRyZXZlYWwtY2xvc2UtY29sb3IgfHwgJGJhc2VcbkBtaXhpbiByZXZlYWwtY2xvc2UoJGNvbG9yOiRyZXZlYWwtY2xvc2UtY29sb3IpIHtcbiAgY29sb3I6ICRjb2xvcjtcbiAgY3Vyc29yOiAkY3Vyc29yLXBvaW50ZXItdmFsdWU7XG4gIGZvbnQtc2l6ZTogJHJldmVhbC1jbG9zZS1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkcmV2ZWFsLWNsb3NlLXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAkcmV2ZWFsLWNsb3NlLXRvcDtcbiAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHJldmVhbC1jbG9zZS1zaWRlO1xufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwicmV2ZWFsXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtcmV2ZWFsLWNsYXNzZXMge1xuXG4gICAgLy8gUmV2ZWFsIE1vZGFsc1xuICAgIC5yZXZlYWwtbW9kYWwtYmcgeyBAaW5jbHVkZSByZXZlYWwtYmc7IH1cblxuICAgIC4jeyRyZXZlYWwtbW9kYWwtY2xhc3N9IHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKFxuICAgICAgICAkYmc6JHJldmVhbC1tb2RhbC1iZyxcbiAgICAgICAgJHBhZGRpbmc6JHJldmVhbC1tb2RhbC1wYWRkaW5nLFxuICAgICAgICAkYm9yZGVyOnRydWUsXG4gICAgICAgICRib3gtc2hhZG93OnRydWUsXG4gICAgICAgICRyYWRpdXM6ZmFsc2UsXG4gICAgICAgICR0b3Atb2Zmc2V0OiRyZXZlYWwtcG9zaXRpb24tdG9wXG4gICAgICApO1xuXG4gICAgICAmLnJhZGl1cyB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOnRydWUpOyB9XG4gICAgICAmLnJvdW5kICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC1zdHlsZSgkcmFkaXVzOiRyZXZlYWwtcm91bmQpOyB9XG4gICAgICAmLmNvbGxhcHNlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXN0eWxlKCRwYWRkaW5nOjApOyB9XG4gICAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDMwJSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNDAlKTsgfVxuICAgICAgJi5tZWRpdW0gIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDYwJSk7IH1cbiAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgNzAlKTsgfVxuICAgICAgJi54bGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZShmYWxzZSwgOTUlKTsgfVxuICAgICAgJi5mdWxsIHtcbiAgICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2UoZmFsc2UsIDEwMCUpO1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBoZWlnaHQ6MTAwJTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICAgICAgdG9wOjA7XG4gICAgICB9XG5cbiAgICAgIC8vIE1vZGFscyBwdXNoZWQgdG8gYmFja1xuICAgICAgJi50b2JhY2sge1xuICAgICAgICB6LWluZGV4OiAkei1pbmRleC1iYXNlIC0gMjtcbiAgICAgIH1cblxuICAgICAgLiN7JGNsb3NlLXJldmVhbC1tb2RhbC1jbGFzc30geyBAaW5jbHVkZSByZXZlYWwtY2xvc2U7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIFNpZGUgTmF2XG4vL1xuLy8gU2lkZSBuYXYsIGxpa2UgeW91IHNlZSBvbiB0aGUgRm91bmRhdGlvbiBkb2NzLCBpcyBhIGdyZWF0IHdheSB0byBwcm92aWRlXG4vLyBuYXZpZ2F0aW9uIGZvciB5b3VyIGVudGlyZSBzaXRlLCBvciBmb3Igc2VjdGlvbnMgb2YgYW4gaW5kaXZpZHVhbCBwYWdlLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cblxuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL3NpZGUtbmF2XCI7XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBOb3Qgc3VyZSB3aGF0IHRoaXMgZXhwb3J0IHdyYXBwZXIgZG9lcyBidXQgbGVhdmUgaXRcbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLXNpZGUtbmF2XCIpIHtcblxuLy8gU3RhcnQgQ3VzdG9tIHN0eWxlcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBNYWtlIHZhbmlsbGEgc2lkZW5hdiBzdHVmZiBhY3QgbGlrZSBmb3VuZGF0aW9uIHNpZGVuYXYgc3R1ZmZcbi5GaWx0ZXJNZW51LFxuLlBhbmVsSW5mbyB7XG4gIEBpbmNsdWRlIHNpZGUtbmF2O1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAucGFnZS1jb250ZW50ICYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gU2lkZS1uYXYgRGlzY3Vzc2lvbiBGaWx0ZXJcbi5Cb3hGaWx0ZXJ7XG5cdEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXHQuRmlsdGVyTWVudXtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDMwIDApO1xuXHRcdCBsaXtcblx0XHQgXHRtYXJnaW46IDA7XG5cdFx0IFx0aGVpZ2h0OiByZW0tY2FsYyg0MCk7XG5cdFx0XHRhe1xuXHRcdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg2NSk7XG5cdFx0XHRcdHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI1KTtcblx0XHRcdH1cblx0XHRcdC5Bc2lkZXtcblx0XHRcdFx0ZmxvYXQ6IHJpZ2h0O1xuXHRcdFx0XHRzcGFue1xuXHRcdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIEFkZCBpY29ucyBiZXNpZGUgRGlzY3Vzc2lvbiBGaWx0ZXJcbi5Cb3hGaWx0ZXJ7XG5cdC5GaWx0ZXJNZW51e1xuXHRcdGxpe1xuXHRcdFx0JGljb25MZWZ0UGFkOiByZW0tY2FsYygzMCk7XG5cdFx0XHRAZWFjaCAkaWNvbkNsYXNzLCAkaWNvbk5hbWUgaW5cblx0XHRcdFx0KEFjdGl2aXRpZXMgICAgLCBhY3Rpdml0eSksXG5cdFx0XHRcdChBY3Rpdml0eSAgICAgICwgYWN0aXZpdHkpLFxuXHRcdFx0XHQoQWxsQ2F0ZWdvcmllcyAsIGNhdGVnb3JpZXMpLFxuXHRcdFx0XHQoRGlzY3Vzc2lvbnMgICAsIGRpc2N1c3Npb25zKSxcblx0XHRcdFx0KE15RGlzY3Vzc2lvbnMgLCB1c2VyLWRpc2N1c3Npb24pLFxuXHRcdFx0XHQoTXlEcmFmdHMgICAgICAsIGRyYWZ0cyksXG5cdFx0XHRcdChQYXJ0aWNpcGF0ZWQgICwgcGFydGljaXBhdGVkKSxcblx0XHRcdFx0KE5vdGlmaWNhdGlvbnMgLCBub3RpZmljYXRpb24pLFxuXHRcdFx0XHQoSW5ib3ggICAgICAgICAsIGluYm94KSxcblx0XHRcdFx0KENvbW1lbnRzICAgICAgLCBjb21tZW50KSxcbiAgICAgICAgKE15Qm9va21hcmtzICAgLCBib29rbWFyaylcblx0XHRcdFx0e1xuXHRcdFx0XHQmLiN7JGljb25DbGFzc317XG5cdFx0XHRcdFx0YmFja2dyb3VuZDogdXJsKGltYWdlcy9pY29ucy9mb3J1bS4jeyRpY29uTmFtZX0uc3ZnKSBuby1yZXBlYXQgJGljb25MZWZ0UGFkIGNlbnRlcjtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG5cdFx0XHRcdFx0Jjpob3ZlciwgJi5BY3RpdmUsICYuQWN0aXZlOmhvdmVye1xuXHRcdFx0XHRcdFx0YmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9pY29ucy9mb3J1bS4jeyRpY29uTmFtZX0uYWN0aXZlLnN2Zyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIFNpZGUtbmF2IENhdGVnb3JpZXNcbi5Cb3hDYXRlZ29yaWVzLCAuQm94RGlzY3Vzc2lvblNpZGViYXIsXG4jU2hhcmVkRmluZ2VycHJpbnQsICNGb2xsb3dpbmdQbHVnaW5Vc2Vyc3tcblx0aDR7XG5cdFx0bWFyZ2luOiAwO1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDI4IDAgMCAyNSk7XG5cdH1cblx0LlBhbmVsQ2F0ZWdvcmllcywgLlBhbmVsRGlzY3Vzc2lvblNpZGViYXIsXG5cdC5QYW5lbEluZm97XG5cdFx0XHRwYWRkaW5nOiByZW0tY2FsYygzMCAwKTtcblx0XHRsaXtcblx0XHQgXHRtYXJnaW46IDA7XG5cdFx0IFx0cGFkZGluZzogMDtcblx0XHRcdGF7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdFx0XHRwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1KTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuXHRcdFx0fVxuXHRcdFx0LkFzaWRle1xuXHRcdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRcdHNwYW57XG5cdFx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdCYuRGVwdGgye1xuXHRcdFx0XHRhe1xuXHRcdFx0XHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cbi8vIFNoYXJlZCBBY2NvdW50c1xuI1NoYXJlZEZpbmdlcnByaW50e1xuXHQuQ291bnR7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cdH1cblx0bGl7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg0MCk7XG5cdH1cbn1cblxuLy8gRml4IHNpZGVuYXYgcGFkZGluZyBmb3IgbWVkaXVtIHNjcmVlbnNcbkBtZWRpYSAjeyRtZWRpdW0tb25seX17XG4gIC5wYWdlLXNpZGViYXJ7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gIH1cbiAgLnBhZ2UtY29udGVudHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cbn1cblxuQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcblx0LkJveERpc2N1c3Npb25TaWRlYmFyLCAuQm94Q2F0ZWdvcmllc3tcblx0XHRkaXNwbGF5OiBub25lO1xuXHR9XG59XG5cblxuLy8gRW5kIEN1c3RvbSBzdHlsZXMgLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtbmF2LWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoaXMgdG8gY29udHJvbCBwYWRkaW5nLlxuJHNpZGUtbmF2LXBhZGRpbmc6IHJlbS1jYWxjKDE0IDApICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBsaXN0IHN0eWxlcy5cbiRzaWRlLW5hdi1saXN0LXR5cGU6IG5vbmUgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtbGlzdC1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saXN0LW1hcmdpbjogcmVtLWNhbGMoMCAwIDcgMCkgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxpbmsgc3R5bGVzLlxuJHNpZGUtbmF2LWxpbmstY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstY29sb3ItYWN0aXZlOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc2lkZS1uYXYtbGluay1jb2xvciwgJGxpZ2h0bmVzczogMzAlKSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1saW5rLWJnLWhvdmVyOiBoc2xhKDAsIDAsIDAsIC4wMjUpICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstbWFyZ2luOiAwICFkZWZhdWx0O1xuJHNpZGUtbmF2LWxpbmstcGFkZGluZzogcmVtLWNhbGMoNyAxNCkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlOiAkc2lkZS1uYXYtZm9udC13ZWlnaHQgIWRlZmF1bHQ7XG4kc2lkZS1uYXYtZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBoZWFkaW5nIHN0eWxlcy5cbiRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvciAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtc2l6ZTogJHNpZGUtbmF2LWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRzaWRlLW5hdi1oZWFkaW5nLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuJHNpZGUtbmF2LWRpdmlkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHNpZGUtbmF2LWRpdmlkZXItc3R5bGU6IHNvbGlkICFkZWZhdWx0O1xuJHNpZGUtbmF2LWRpdmlkZXItY29sb3I6IHNjYWxlLWNvbG9yKCR3aGl0ZSwgJGxpZ2h0bmVzczogLTEwJSkgIWRlZmF1bHQ7XG5cblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cblxuLy8gV2UgdXNlIHRoaXMgdG8gc3R5bGUgdGhlIHNpZGUtbmF2XG4vL1xuLy8gJGRpdmlkZXItY29sb3IgLSBCb3JkZXIgY29sb3Igb2YgZGl2aWRlci4gRGVmYXVsdDogJHNpZGUtbmF2LWRpdmlkZXItY29sb3IuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplIG9mIG5hdiBpdGVtcy4gRGVmYXVsdDogJHNpZGUtbmF2LWZvbnQtc2l6ZS5cbi8vICRsaW5rLWNvbG9yIC0gQ29sb3Igb2YgbmF2aWdhdGlvbiBsaW5rcy4gRGVmYXVsdDogJHNpZGUtbmF2LWxpbmstY29sb3IuXG4vLyAkbGluay1jb2xvci1ob3ZlciAtIENvbG9yIG9mIG5hdmlnYXRpb24gbGlua3Mgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc2lkZS1uYXYtbGluay1jb2xvci1ob3Zlci5cbkBtaXhpbiBzaWRlLW5hdihcbiAgJGRpdmlkZXItY29sb3I6JHNpZGUtbmF2LWRpdmlkZXItY29sb3IsXG4gICRmb250LXNpemU6JHNpZGUtbmF2LWZvbnQtc2l6ZSxcbiAgJGxpbmstY29sb3I6JHNpZGUtbmF2LWxpbmstY29sb3IsXG4gICRsaW5rLWNvbG9yLWFjdGl2ZTokc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmUsXG4gICRsaW5rLWNvbG9yLWhvdmVyOiRzaWRlLW5hdi1saW5rLWNvbG9yLWhvdmVyLFxuICAkbGluay1iZy1ob3Zlcjokc2lkZS1uYXYtbGluay1iZy1ob3Zlcikge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1mYW1pbHk6ICRzaWRlLW5hdi1mb250LWZhbWlseTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogJHNpZGUtbmF2LWxpc3QtcG9zaXRpb247XG4gIGxpc3Qtc3R5bGUtdHlwZTogJHNpZGUtbmF2LWxpc3QtdHlwZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAkc2lkZS1uYXYtcGFkZGluZztcblxuICBsaSB7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luOiAkc2lkZS1uYXYtbGlzdC1tYXJnaW47XG5cbiAgICBhOm5vdCguYnV0dG9uKSB7XG4gICAgICBjb2xvcjogJGxpbmstY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogJHNpZGUtbmF2LWxpbmstbWFyZ2luO1xuICAgICAgcGFkZGluZzogJHNpZGUtbmF2LWxpbmstcGFkZGluZztcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGxpbmstYmctaG92ZXI7XG4gICAgICAgIGNvbG9yOiAkbGluay1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgY29sb3I6ICRsaW5rLWNvbG9yLWFjdGl2ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSA+IGE6Zmlyc3QtY2hpbGQ6bm90KC5idXR0b24pIHtcbiAgICAgIGNvbG9yOiAkc2lkZS1uYXYtbGluay1jb2xvci1hY3RpdmU7XG4gICAgICBmb250LWZhbWlseTogJHNpZGUtbmF2LWZvbnQtZmFtaWx5LWFjdGl2ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkc2lkZS1uYXYtZm9udC13ZWlnaHQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuZGl2aWRlciB7XG4gICAgICBib3JkZXItdG9wOiAkc2lkZS1uYXYtZGl2aWRlci1zaXplICRzaWRlLW5hdi1kaXZpZGVyLXN0eWxlO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBib3JkZXItdG9wLWNvbG9yOiAkZGl2aWRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAmLmhlYWRpbmcge1xuICAgICAgY29sb3I6ICRzaWRlLW5hdi1oZWFkaW5nLWNvbG9yO1xuICAgICAgZm9udDoge1xuICAgICAgICBzaXplOiAkc2lkZS1uYXYtaGVhZGluZy1mb250LXNpemU7XG4gICAgICAgIHdlaWdodDogJHNpZGUtbmF2LWhlYWRpbmctZm9udC13ZWlnaHQ7XG4gICAgICB9XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJHNpZGUtbmF2LWhlYWRpbmctdGV4dC10cmFuc2Zvcm07XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJzaWRlLW5hdlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW5hdi1jbGFzc2VzIHtcbiAgICAuc2lkZS1uYXYge0BpbmNsdWRlIHNpZGUtbmF2O31cbiAgfVxufVxuIiwiLy9cbi8vICMgU3BsaXQgQnV0dG9uc1xuLy9cbi8vIFdlJ3ZlIHNpbXBsaWZpZWQgb3VyIHNwbGl0IGRvd25kcm9wIGJ1dHRvbnMgYnkgcmVtb3ZpbmcgdGhlIGRlZGljYXRlZCBvbmVzXG4vLyBhc3NvY2lhdGVkIHdpdGggYSBzdHlsZSBvZiBidXR0b24uIEluc3RlYWQsIHlvdSdsbCB1c2Ugb3VyIG5ldyBkcm9wZG93blxuLy8gcGx1Z2luIHRvIGF0dGFjaCBhIHNwbGl0IGJ1dHRvbiB0byB0aGUgYnV0dG9uIHN0eWxlIG9mIHlvdXIgY2hvaWNlLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGlmZmVyZW50IHNoYXJlZCBzdHlsZXMgZm9yIFNwbGl0IEJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tZnVuY3Rpb24tZmFjdG9yOiAxMCU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1jb2xvcjogI2ZmZjtcbi8vICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdDogIzMzMztcbi8vICRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ6IHJnYmEoMCwwLDAsMC4xKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGlueSBzcGxpdCBidXR0b25zXG4vLyAkc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiAxMDtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk6ICRidXR0b24tcGlwLXRueSAqIDY7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXRueTogJGJ1dHRvbi1waXAtdG55ICogMjtcbi8vICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55OiByZW0tY2FsYygtNik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHNtYWxsIHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEwO1xuLy8gJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNjtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWw7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC10b3Atc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxLjU7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtZWRpdW0gc3BsaXQgYnV0dG9uc1xuLy8gJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogOTtcbi8vICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDUuNTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKTtcbi8vICRzcGxpdC1idXR0b24tcGlwLXRvcC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDEuNTtcbi8vICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkOiByZW0tY2FsYygtNik7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxhcmdlIHNwbGl0IGJ1dHRvbnNcbi8vICRzcGxpdC1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDg7XG4vLyAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA1O1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpO1xuLy8gJHNwbGl0LWJ1dHRvbi1waXAtdG9wLWxyZzogJGJ1dHRvbi1waXAtbHJnICsgcmVtLWNhbGMoNSk7XG4vLyAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZzogcmVtLWNhbGMoLTYpO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL3NwbGl0LWJ1dHRvbnNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtc3BsaXQtYnV0dG9uc1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdidXR0b25zJztcbkBpbXBvcnQgJ2Ryb3Bkb3duLWJ1dHRvbnMnO1xuXG4vL1xuLy8gQG5hbWUgX3NwbGl0LWJ1dHRvbnMuc2Nzc1xuLy8gQGRlcGVuZGVuY2llcyBfYnV0dG9ucy5zY3NzLCBfZ2xvYmFsLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLWJ1dHRvbi1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGRpZmZlcmVudCBzaGFyZWQgc3R5bGVzIGZvciBTcGxpdCBCdXR0b25zXG4kc3BsaXQtYnV0dG9uLWZ1bmN0aW9uLWZhY3RvcjogMTAlICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdDogJG9pbCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ6IHJnYmEoMCwwLDAsMC4xKSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC41KSAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGlueSBzcGxpdCBidXR0b25zXG4kc3BsaXQtYnV0dG9uLXBhZGRpbmctdG55OiAkYnV0dG9uLXBpcC10bnkgKiAxMCAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk6ICRidXR0b24tcGlwLXRueSAqIDYgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1zaXplLXRueTogJGJ1dHRvbi1waXAtdG55ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLXRueTogJGJ1dHRvbi1waXAtdG55ICogMiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtdG55OiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHNtYWxsIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1zbWw6ICRidXR0b24tcGlwLXNtbCAqIDEwICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLXNtbDogJGJ1dHRvbi1waXAtc21sICogNiAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sOiAkYnV0dG9uLXBpcC1zbWwgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC10b3Atc21sOiAkYnV0dG9uLXBpcC1zbWwgKiAxLjUgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LXNtbDogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtZWRpdW0gc3BsaXQgYnV0dG9uc1xuJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDogJGJ1dHRvbi1waXAtbWVkICogOSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDUuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXNpemUtbWVkOiAkYnV0dG9uLXBpcC1tZWQgLSByZW0tY2FsYygzKSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLXRvcC1tZWQ6ICRidXR0b24tcGlwLW1lZCAqIDEuNSAhZGVmYXVsdDtcbiRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtbWVkOiByZW0tY2FsYygtNikgIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIGxhcmdlIHNwbGl0IGJ1dHRvbnNcbiRzcGxpdC1idXR0b24tcGFkZGluZy1scmc6ICRidXR0b24tcGlwLWxyZyAqIDggIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtbHJnOiAkYnV0dG9uLXBpcC1scmcgKiA1ICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc6ICRidXR0b24tcGlwLWxyZyAtIHJlbS1jYWxjKDYpICFkZWZhdWx0O1xuJHNwbGl0LWJ1dHRvbi1waXAtdG9wLWxyZzogJGJ1dHRvbi1waXAtbHJnICsgcmVtLWNhbGMoNSkgIWRlZmF1bHQ7XG4kc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LWxyZzogcmVtLWNhbGMoLTYpICFkZWZhdWx0O1xuXG5cbi8vXG4vLyBAbWl4aW5zXG4vL1xuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBjcmVhdGUgc3BsaXQgYnV0dG9ucyB0aGF0IGJ1aWxkIHVwb24gdGhlIGJ1dHRvbiBtaXhpbnNcbi8vXG4vLyAkcGFkZGluZyAtIFR5cGUgb2YgcGFkZGluZyB0byBhcHBseS4gRGVmYXVsdDogbWVkaXVtLiBPcHRpb25zOiB0aW55LCBzbWFsbCwgbWVkaXVtLCBsYXJnZS5cbi8vICRwaXAtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuIERlZmF1bHQ6ICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLlxuLy8gJHNwYW4tYm9yZGVyIC0gQm9yZGVyIGNvbG9yIG9mIGJ1dHRvbiBkaXZpZGVyLiBEZWZhdWx0OiAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLlxuLy8gJGJhc2Utc3R5bGUgLSBBcHBseSBiYXNlIHN0eWxlIHRvIHNwbGl0IGJ1dHRvbi4gRGVmYXVsdDogdHJ1ZS5cbkBtaXhpbiBzcGxpdC1idXR0b24oXG4gICRwYWRkaW5nOm1lZGl1bSxcbiAgJHBpcC1jb2xvcjokc3BsaXQtYnV0dG9uLXBpcC1jb2xvciwgXG4gICRzcGFuLWJvcmRlcjokc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIC8vIFdpdGggdGhpcywgd2UgY2FuIGNvbnRyb2wgd2hldGhlciBvciBub3QgdGhlIGJhc2Ugc3R5bGVzIGNvbWUgdGhyb3VnaC5cbiAgQGlmICRiYXNlLXN0eWxlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBTdHlsaW5nIGZvciB0aGUgc3BsaXQgYXJyb3cgY2xpY2thYmxlIGFyZWFcbiAgICBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogMDtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fTogc29saWQgMXB4O1xuXG4gICAgICAvLyBCdWlsZGluZyB0aGUgdHJpYW5nbGUgcGlwIGluZGljYXRvclxuICAgICAgJjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJvcmRlci1zdHlsZTogaW5zZXQ7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogNTAlO1xuICAgICAgfVxuXG4gICAgICAmOmFjdGl2ZSB7IGJhY2tncm91bmQtY29sb3I6ICRzcGxpdC1idXR0b24tYWN0aXZlLWJnLXRpbnQ7IH1cbiAgICB9XG4gIH1cblxuICAvLyBDb250cm9sIHRoZSBib3JkZXIgY29sb3IgZm9yIHRoZSBzcGFuIGFyZWEgb2YgdGhlIHNwbGl0IGJ1dHRvblxuICBAaWYgJHNwYW4tYm9yZGVyIHtcbiAgICBzcGFuIHtcbiAgICAgIGJvcmRlci0jeyRkZWZhdWx0LWZsb2F0fS1jb2xvcjogJHNwYW4tYm9yZGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciB0aW55IHNpemVzXG4gIEBpZiAkcGFkZGluZyA9PSB0aW55IHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy10bnk7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC10bnk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS10bnk7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC10bnk7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlIG9mIHRoZSBidXR0b24gYW5kIGNsaWNrYWJsZSBhcmVhIGZvciBzbWFsbCBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBzbWFsbCB7XG4gICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkc3BsaXQtYnV0dG9uLXBhZGRpbmctc21sO1xuXG4gICAgc3BhbiB7IHdpZHRoOiAkc3BsaXQtYnV0dG9uLXNwYW4td2lkdGgtc21sO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItd2lkdGg6ICRzcGxpdC1idXR0b24tcGlwLXNpemUtc21sO1xuICAgICAgICBtYXJnaW4tI3skZGVmYXVsdC1mbG9hdH06ICRzcGxpdC1idXR0b24tcGlwLWRlZmF1bHQtZmxvYXQtc21sO1xuICAgICAgICB0b3A6IDQ4JTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZSBvZiB0aGUgYnV0dG9uIGFuZCBjbGlja2FibGUgYXJlYSBmb3IgZGVmYXVsdCAobWVkaXVtKSBzaXplc1xuICBAZWxzZSBpZiAkcGFkZGluZyA9PSBtZWRpdW0ge1xuICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHNwbGl0LWJ1dHRvbi1wYWRkaW5nLW1lZDtcblxuICAgIHNwYW4geyB3aWR0aDogJHNwbGl0LWJ1dHRvbi1zcGFuLXdpZHRoLW1lZDtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAkc3BsaXQtYnV0dG9uLXBpcC1zaXplLW1lZDtcbiAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAkc3BsaXQtYnV0dG9uLXBpcC1kZWZhdWx0LWZsb2F0LW1lZDtcbiAgICAgICAgdG9wOiA0OCU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3R5bGUgb2YgdGhlIGJ1dHRvbiBhbmQgY2xpY2thYmxlIGFyZWEgZm9yIGxhcmdlIHNpemVzXG4gIEBlbHNlIGlmICRwYWRkaW5nID09IGxhcmdlIHtcbiAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICRzcGxpdC1idXR0b24tcGFkZGluZy1scmc7XG5cbiAgICBzcGFuIHsgd2lkdGg6ICRzcGxpdC1idXR0b24tc3Bhbi13aWR0aC1scmc7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogJHNwbGl0LWJ1dHRvbi1waXAtc2l6ZS1scmc7XG4gICAgICAgIG1hcmdpbi0jeyRkZWZhdWx0LWZsb2F0fTogJHNwbGl0LWJ1dHRvbi1waXAtZGVmYXVsdC1mbG9hdC1scmc7XG4gICAgICAgIHRvcDogNDglO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbnRyb2wgdGhlIGNvbG9yIG9mIHRoZSB0cmlhbmdsZSBwaXBcbiAgQGlmICRwaXAtY29sb3Ige1xuICAgIHNwYW46YWZ0ZXIgeyBib3JkZXItY29sb3I6ICRwaXAtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgfVxufVxuXG5AaW5jbHVkZSBleHBvcnRzKFwic3BsaXQtYnV0dG9uXCIpIHtcbiAgQGlmICRpbmNsdWRlLWh0bWwtYnV0dG9uLWNsYXNzZXMge1xuXG4gICAgLnNwbGl0LmJ1dHRvbiB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbjtcblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cbiAgICAgICYuYWxlcnQgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsIGZhbHNlLCAkc3BsaXQtYnV0dG9uLXNwYW4tYm9yZGVyLWNvbG9yLCBmYWxzZSk7IH1cbiAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIHNwbGl0LWJ1dHRvbihmYWxzZSwgZmFsc2UsICRzcGxpdC1idXR0b24tc3Bhbi1ib3JkZXItY29sb3IsIGZhbHNlKTsgfVxuXG4gICAgICAmLnRpbnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24odGlueSwgZmFsc2UsIGZhbHNlLCBmYWxzZSk7IH1cbiAgICAgICYuc21hbGwgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oc21hbGwsIGZhbHNlLCBmYWxzZSwgZmFsc2UpOyB9XG4gICAgICAmLmxhcmdlIHsgQGluY2x1ZGUgc3BsaXQtYnV0dG9uKGxhcmdlLCBmYWxzZSwgZmFsc2UsIGZhbHNlKTsgfVxuICAgICAgJi5leHBhbmQgeyBwYWRkaW5nLWxlZnQ6IDJyZW07IH1cblxuICAgICAgJi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBzcGxpdC1idXR0b24oZmFsc2UsICRzcGxpdC1idXR0b24tcGlwLWNvbG9yLWFsdCwgZmFsc2UsIGZhbHNlKTsgfVxuXG4gICAgICAmLnJhZGl1cyBzcGFuIHsgQGluY2x1ZGUgc2lkZS1yYWRpdXMoJG9wcG9zaXRlLWRpcmVjdGlvbiwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAmLnJvdW5kIHNwYW4geyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAxMDAwcHgpOyB9XG4gICAgICAmLm5vLXBpcHtcbiAgICAgICAgc3BhbjpiZWZvcmV7IGJvcmRlci1zdHlsZTpub25lOyB9XG4gICAgICAgIHNwYW46YWZ0ZXJ7IGJvcmRlci1zdHlsZTpub25lOyB9XG4gICAgICAgIHNwYW4+aXtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjI4ODg5ZW07XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTAuNDg4ODllbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuIiwiLy9cbi8vICMgU3ViIE5hdlxuLy9cbi8vIFRoaXMgc2ltcGxlIHN1YiBuYXYgaXMgZ3JlYXQgZm9yIG1vdmluZyBiZXR3ZWVuIGRpZmZlcmVudCBzdGF0ZXMgb2YgYSBwYWdlLlxuLy8gV2UgdXNlIHRoZXNlIGZyZXF1ZW50bHkgdG8gc2hvdyBpdGVyYXRpb25zIG9mIHNvbWV0aGluZywgdHlwaWNhbGx5IGJ5IGRhdGUsXG4vLyBidXQgdGhleSdyZSBhbHNvIGhhbmR5IGZvciBmaWx0ZXJzIGxpa2UgdGhlc2UuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtYXJnaW4gYW5kIHBhZGRpbmdcbi8vICRzdWItbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygtNCAwIDE4KTtcbi8vICRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpO1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkZWZpbml0aW9uXG4vLyAkc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4vLyAkc3ViLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICRzdWItbmF2LWZvbnQtY29sb3I6ICM5OTk7XG4vLyAkc3ViLW5hdi1mb250LXdlaWdodDogbm9ybWFsO1xuLy8gJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuLy8gJHN1Yi1uYXYtcGFkZGluZzogcmVtLWNhbGMoMyAxNik7XG4vLyAkc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHg7XG4vLyAkc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIGFjdGl2ZSBpdGVtIHN0eWxlc1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkc3ViLW5hdi1hY3RpdmUtYmc6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWJnLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1hY3RpdmUtYmcsICRsaWdodG5lc3M6IC0xNCUpO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLWNvbG9yOiAjZmZmO1xuLy8gJHN1Yi1uYXYtYWN0aXZlLXBhZGRpbmc6ICRzdWItbmF2LXBhZGRpbmc7XG4vLyAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yOiBkZWZhdWx0O1xuXG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXI6IFwiXCI7XG4vLyAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luOiByZW0tY2FsYygxMik7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvc3ViLW5hdlwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1zdWItbmF2XCIpIHtcblxuICAvLyBOb3RoaW5nIHRvIHNlZSBoZXJlLi4uIHlldCFcblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcblxuLy9cbi8vIEBuYW1lIF9zdWItbmF2LnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCBtYXJnaW4gYW5kIHBhZGRpbmdcbiRzdWItbmF2LWxpc3QtbWFyZ2luOiByZW0tY2FsYygtNCAwIDE4KSAhZGVmYXVsdDtcbiRzdWItbmF2LWxpc3QtcGFkZGluZy10b3A6IHJlbS1jYWxjKDQpICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhpcyB0byBjb250cm9sIHRoZSBkZWZpbml0aW9uXG4kc3ViLW5hdi1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtY29sb3I6ICRhbHVtaW51bSAhZGVmYXVsdDtcbiRzdWItbmF2LWZvbnQtd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHN1Yi1uYXYtdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuJHN1Yi1uYXYtcGFkZGluZzogcmVtLWNhbGMoMyAxNikgIWRlZmF1bHQ7XG4kc3ViLW5hdi1ib3JkZXItcmFkaXVzOiAzcHggIWRlZmF1bHQ7XG4kc3ViLW5hdi1mb250LWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkc3ViLW5hdi1mb250LWNvbG9yLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcblxuXG4vLyBXZSB1c2UgdGhlc2UgdG8gY29udHJvbCB0aGUgYWN0aXZlIGl0ZW0gc3R5bGVzXG5cbiRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1iZzogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCRzdWItbmF2LWFjdGl2ZS1iZywgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG4kc3ViLW5hdi1hY3RpdmUtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nICFkZWZhdWx0O1xuJHN1Yi1uYXYtYWN0aXZlLWN1cnNvcjogZGVmYXVsdCAhZGVmYXVsdDtcblxuJHN1Yi1uYXYtaXRlbS1kaXZpZGVyOiBcIlwiICFkZWZhdWx0O1xuJHN1Yi1uYXYtaXRlbS1kaXZpZGVyLW1hcmdpbjogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuXG4vLyBDcmVhdGUgYSBzdWItbmF2IGl0ZW1cbi8vXG4vLyAkZm9udC1jb2xvciAtIEZvbnQgY29sb3IuIERlZmF1bHQ6ICRzdWItbmF2LWZvbnQtY29sb3IuXG4vLyAkZm9udC1zaXplIC0gRm9udCBzaXplLiBEZWZhdWx0OiAkc3ViLW5hdi1mb250LXNpemUuXG4vLyAkYWN0aXZlLWJnIC0gQmFja2dyb3VuZCBvZiBhY3RpdmUgbmF2IGl0ZW0uIERlZmF1bHQ6ICRzdWItbmF2LWFjdGl2ZS1iZy5cbi8vICRhY3RpdmUtYmctaG92ZXIgLSBCYWNrZ3JvdW5kIG9mIGFjdGl2ZSBuYXYgaXRlbSwgd2hlbiBob3ZlcmVkLiBEZWZhdWx0OiAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXIuXG5AbWl4aW4gc3ViLW5hdihcbiAgJGZvbnQtY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3IsXG4gICRmb250LXNpemU6ICRzdWItbmF2LWZvbnQtc2l6ZSxcbiAgJGFjdGl2ZS1iZzogJHN1Yi1uYXYtYWN0aXZlLWJnLFxuICAkYWN0aXZlLWJnLWhvdmVyOiAkc3ViLW5hdi1hY3RpdmUtYmctaG92ZXIpIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogJHN1Yi1uYXYtbGlzdC1tYXJnaW47XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmctdG9wOiAkc3ViLW5hdi1saXN0LXBhZGRpbmctdG9wO1xuICB3aWR0aDogYXV0bztcblxuICBkdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgfVxuXG4gIGR0LFxuICBkZCxcbiAgbGkge1xuICAgIGNvbG9yOiAkZm9udC1jb2xvcjtcbiAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgZm9udC1mYW1pbHk6ICRzdWItbmF2LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgICBmb250LXdlaWdodDogJHN1Yi1uYXYtZm9udC13ZWlnaHQ7XG4gICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiByZW0tY2FsYygxNik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgIGEge1xuICAgICAgY29sb3I6ICRzdWItbmF2LWZvbnQtY29sb3I7XG4gICAgICBwYWRkaW5nOiAkc3ViLW5hdi1wYWRkaW5nO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkc3ViLW5hdi10ZXh0LWRlY29yYXRpb247XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogJHN1Yi1uYXYtZm9udC1jb2xvci1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSBhIHtcbiAgICAgIEBpbmNsdWRlIHJhZGl1cygkc3ViLW5hdi1ib3JkZXItcmFkaXVzKTtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtYmc7XG4gICAgICBjb2xvcjogJHN1Yi1uYXYtYWN0aXZlLWNvbG9yO1xuICAgICAgY3Vyc29yOiAkc3ViLW5hdi1hY3RpdmUtY3Vyc29yO1xuICAgICAgZm9udC13ZWlnaHQ6ICRzdWItbmF2LWFjdGl2ZS1mb250LXdlaWdodDtcbiAgICAgIHBhZGRpbmc6ICRzdWItbmF2LWFjdGl2ZS1wYWRkaW5nO1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGFjdGl2ZS1iZy1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJHN1Yi1uYXYtaXRlbS1kaXZpZGVyICE9IFwiXCIge1xuICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAwO1xuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiI3skc3ViLW5hdi1pdGVtLWRpdmlkZXJ9XCI7XG4gICAgICAgIG1hcmdpbjogMCAkc3ViLW5hdi1pdGVtLWRpdmlkZXItbWFyZ2luO1xuICAgICAgfVxuXG4gICAgICAmOmZpcnN0LWNoaWxkOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInN1Yi1uYXZcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1uYXYtY2xhc3NlcyB7XG4gICAgLnN1Yi1uYXYgeyBAaW5jbHVkZSBzdWItbmF2OyB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIFN3aXRjaFxuLy9cbi8vIFN3aXRjaGVzIGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgcmVndWxhciByYWRpbyBidXR0b25zIHRvIHN3aXRjaCBiZXR3ZWVuIHR3b1xuLy8gb3B0aW9ucy4gVGhleSBhcmUgY3VzdG9taXphYmxlIGFuZCB1c2Ugc3R5bGVzIHRoYXQgd29uJ3Qgc2hvdyBvbiBwaG9uZXMgdGhhdFxuLy8gZG9uJ3Qgc3VwcG9ydCBtZWRpYSBxdWVyaWVzLiBPbiB0aGVzZSBkZXZpY2VzLCB0aGV5IHdpbGwgYXBwZWFyIGFzIHJlZ3VsYXJcbi8vIHJhZGlvIGJ1dHRvbnMuXG4vL1xuLy8gRGVwcmVjYXRlZDogU3dpdGNoZXMgaGF2ZSBiZWVuIGRlcHJlY2F0ZWQgaW4gRm91bmRhdGlvbiA1IGFuZCB3aWxsIGJlIHJlbW92ZWRcbi8vIGluIHRoZSBmdXR1cmUuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gQ29udHJvbGxpbmcgYm9yZGVyIHN0eWxlcyBhbmQgYmFja2dyb3VuZCBjb2xvcnMgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyXG4vLyAkc3dpdGNoLWJvcmRlci1jb2xvcjogc2NhbGUtY29sb3IoI2ZmZiwgJGxpZ2h0bmVzczogLTIwJSk7XG4vLyAkc3dpdGNoLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkc3dpdGNoLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHN3aXRjaC1iZzogI2ZmZjtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgdGhlIHN3aXRjaCBoZWlnaHRzIGZvciBvdXIgZGVmYXVsdCBjbGFzc2VzXG4vLyAkc3dpdGNoLWhlaWdodC10bnk6IDIycHg7XG4vLyAkc3dpdGNoLWhlaWdodC1zbWw6IDI4cHg7XG4vLyAkc3dpdGNoLWhlaWdodC1tZWQ6IDM2cHg7XG4vLyAkc3dpdGNoLWhlaWdodC1scmc6IDQ0cHg7XG4vLyAkc3dpdGNoLWJvdHRvbS1tYXJnaW46IHJlbS1jYWxjKDIwKTtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgZGVmYXVsdCBmb250IHNpemVzIGZvciBvdXIgY2xhc3Nlcy5cbi8vICRzd2l0Y2gtZm9udC1zaXplLXRueTogMTFweDtcbi8vICRzd2l0Y2gtZm9udC1zaXplLXNtbDogMTJweDtcbi8vICRzd2l0Y2gtZm9udC1zaXplLW1lZDogMTRweDtcbi8vICRzd2l0Y2gtZm9udC1zaXplLWxyZzogMTdweDtcbi8vICRzd2l0Y2gtbGFiZWwtc2lkZS1wYWRkaW5nOiA2cHg7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBzdHlsZSB0aGUgc3dpdGNoLXBhZGRsZVxuLy8gJHN3aXRjaC1wYWRkbGUtYmc6ICNmZmY7XG4vLyAkc3dpdGNoLXBhZGRsZS1mYWRlLXRvLWNvbG9yOiBzY2FsZS1jb2xvcigkc3dpdGNoLXBhZGRsZS1iZywgJGxpZ2h0bmVzczogLTEwJSk7XG4vLyAkc3dpdGNoLXBhZGRsZS1ib3JkZXItY29sb3I6IHNjYWxlLWNvbG9yKCRzd2l0Y2gtcGFkZGxlLWJnLCAkbGlnaHRuZXNzOiAtMzUlKTtcbi8vICRzd2l0Y2gtcGFkZGxlLWJvcmRlci13aWR0aDogMXB4O1xuLy8gJHN3aXRjaC1wYWRkbGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQ6IC4xcztcbi8vICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZTogZWFzZS1vdXQ7XG4vLyAkc3dpdGNoLXBvc2l0aXZlLWNvbG9yOiBzY2FsZS1jb2xvcigkc3VjY2Vzcy1jb2xvciwgJGxpZ2h0bmVzczogOTQlKTtcbi8vICRzd2l0Y2gtbmVnYXRpdmUtY29sb3I6ICNmNWY1ZjU7XG5cbi8vIE91dGxpbmUgU3R5bGUgZm9yIHRhYmJpbmcgdGhyb3VnaCBzd2l0Y2hlc1xuLy8gJHN3aXRjaC1sYWJlbC1vdXRsaW5lOiAxcHggZG90dGVkICM4ODg7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvc3dpdGNoZXNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtc3dpdGNoZXNcIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWVcbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC1mb3JtLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gQ29udHJvbGxpbmcgYmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXJcbiRzd2l0Y2gtYmc6ICRnYWluc2Jvcm8gIWRlZmF1bHQ7XG5cbi8vIFdlIHVzZSB0aGVzZSB0byBjb250cm9sIHRoZSBzd2l0Y2ggaGVpZ2h0cyBmb3Igb3VyIGRlZmF1bHQgY2xhc3Nlc1xuJHN3aXRjaC1oZWlnaHQtdG55OiAxLjVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1zbWw6IDEuNzVyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1tZWQ6IDJyZW0gIWRlZmF1bHQ7XG4kc3dpdGNoLWhlaWdodC1scmc6IDIuNXJlbSAhZGVmYXVsdDtcbiRzd2l0Y2gtYm90dG9tLW1hcmdpbjogMS41cmVtICFkZWZhdWx0O1xuXG4vLyBXZSB1c2UgdGhlc2UgdG8gc3R5bGUgdGhlIHN3aXRjaC1wYWRkbGVcbiRzd2l0Y2gtcGFkZGxlLWJnOiAkd2hpdGUgIWRlZmF1bHQ7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLXNwZWVkOiAuMTVzICFkZWZhdWx0O1xuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlOiBlYXNlLW91dCAhZGVmYXVsdDtcbiRzd2l0Y2gtYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBiYXNlIHN0eWxlcyBmb3Igb3VyIHN3aXRjaCBlbGVtZW50LlxuLy9cbi8vICR0cmFuc2l0aW9uLXNwZWVkIC0gVGltZSBpbiBtcyBmb3Igc3dpdGNoIHRvIHRvZ2dsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1zcGVlZC5cbi8vICR0cmFuc2l0aW9uLWVhc2UgLSBFYXNpbmcgZnVuY3Rpb24gdG8gdXNlIGZvciBhbmltYXRpb24gKGkuZS4gZWFzZS1vdXQpLiBEZWZhdWx0OiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uLWVhc2UuXG5AbWl4aW4gc3dpdGNoLWJhc2UoXG4gICR0cmFuc2l0aW9uLXNwZWVkOiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6JHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlKSB7XG5cbiAgYm9yZGVyOiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAkc3dpdGNoLWJvdHRvbS1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1vei11c2VyLXNlbGVjdDogbm9uZTtcbiAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcblxuICAvLyBEZWZhdWx0IGxhYmVsIHN0eWxlcyBmb3IgdHlwZSBhbmQgdHJhbnNpdGlvblxuICBsYWJlbCB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iZztcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206ICgkc3dpdGNoLWhlaWdodC1tZWQgLyAyKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1pbmRlbnQ6IDEwMCU7XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAqIDI7IGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkO1xuXG4gICAgLy8gVHJhbnNpdGlvbiBmb3IgdGhlIHN3aXRjaCBsYWJlbCB0byBmb2xsb3cgcGFkZGxlXG4gICAgQGluY2x1ZGUgc2luZ2xlLXRyYW5zaXRpb24obGVmdCwgJHRyYW5zaXRpb24tc3BlZWQsICR0cmFuc2l0aW9uLWVhc2UpO1xuICB9XG5cbiAgLy8gU28gdGhhdCB3ZSBkb24ndCBuZWVkIHRvIHJlY3JlYXRlIHRoZSBmb3JtIHdpdGggYW55IEpTLCB3ZSB1c2UgdGhlXG4gIC8vIGV4aXN0aW5nIGNoZWNrYm94IG9yIHJhZGlvIGJ1dHRvbiwgYnV0IHdlIGNsZXZlcmx5IHBvc2l0aW9uIGFuZCBoaWRlIGl0LlxuICBpbnB1dCB7XG4gICAgbGVmdDogMTBweDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBhZGRpbmc6MDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA5cHg7XG5cbiAgICAmICsgbGFiZWwgeyBtYXJnaW4tbGVmdDogMDsgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGZvciB0aGUgc3dpdGNoIGlzIGNyZWF0ZWQgZnJvbSBhbiBhZnRlciBwc3VlZG9jbGFzc1xuICAvLyBjb250ZW50IGVsZW1lbnQuIFRoaXMgaXMgc2l6ZWQgYW5kIHBvc2l0aW9uZWQsIGFuZCByZWFjdHMgdG9cbiAgLy8gdGhlIHN0YXRlIG9mIHRoZSBpbnB1dC5cblxuICBsYWJlbDphZnRlciB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1wYWRkbGUtYmc7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuICAgIGxlZnQ6IC4yNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAuMjVyZW07XG4gICAgd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0LW1lZCAtIC41cmVtO1xuXG4gICAgLXdlYmtpdC10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW1vei10cmFuc2l0aW9uOiBsZWZ0ICR0cmFuc2l0aW9uLXNwZWVkICR0cmFuc2l0aW9uLWVhc2U7XG4gICAgLW8tdHJhbnNpdGlvbjogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgIHRyYW5zaXRpb246IGxlZnQgJHRyYW5zaXRpb24tc3BlZWQgJHRyYW5zaXRpb24tZWFzZTtcblxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcbiAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLDAsMCk7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYWN0aXZlLWNvbG9yO1xuICB9XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsOmFmdGVyIHtcbiAgICBsZWZ0OiAkc3dpdGNoLWhlaWdodC1tZWQgKyAuMjVyZW07XG4gIH1cbn1cblxuLy8gV2UgdXNlIHRoaXMgbWl4aW4gdG8gY3JlYXRlIHRoZSBzaXplIHN0eWxlcyBmb3Igc3dpdGNoZXMuXG4vL1xuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRmb250LXNpemUgLSBGb250IHNpemUgb2YgdGV4dCBpbiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtZm9udC1zaXplLW1lZC5cbi8vICRsaW5lLWhlaWdodCAtIExpbmUgaGVpZ2h0IG9mIHN3aXRjaC4gRGVmYXVsdDogMi4zcmVtLlxuQG1peGluIHN3aXRjaC1zaXplKCRoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZCkge1xuXG4gIGxhYmVsIHtcbiAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgd2lkdGg6ICRoZWlnaHQgKiAyO1xuICB9XG5cbiAgbGFiZWw6YWZ0ZXIge1xuICAgIGhlaWdodDogJGhlaWdodCAtIC41cmVtO1xuICAgIHdpZHRoOiAkaGVpZ2h0IC0gLjVyZW07XG4gIH1cblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICAgIGxlZnQ6ICRoZWlnaHQgKyAuMjVyZW07XG4gIH1cblxufVxuXG4vLyBXZSB1c2UgdGhpcyBtaXhpbiB0byBhZGQgY29sb3IgYW5kIG90aGVyIGZhbmNpbmVzcyB0byB0aGUgc3dpdGNoZXMuXG4vL1xuLy8gJHBhZGRsZS1iZyAtIEJhY2tncm91bmQgb2Ygc3dpdGNoIHBhZGRsZS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtYmcuXG4vLyAkYWN0aXZlLWNvbG9yIC0gQmFja2dyb3VuZCBjb2xvciBvZiBwb3NpdGl2ZSBzaWRlIG9mIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1wb3NpdGl2ZS1jb2xvci5cbi8vICRuZWdhdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgbmVnYXRpdmUgc2lkZSBvZiBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtbmVnYXRpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaC1zdHlsZShcbiAgJHBhZGRsZS1iZzokc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjokc3dpdGNoLWFjdGl2ZS1jb2xvcixcbiAgJHJhZGl1czpmYWxzZSxcbiAgJGJhc2Utc3R5bGU6dHJ1ZSkge1xuXG4gIEBpZiAkYmFzZS1zdHlsZSB7XG5cbiAgICBsYWJlbCB7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJnO1xuICAgIH1cblxuICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwYWRkbGUtYmc7XG4gICAgfVxuXG4gICAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQ6ICRhY3RpdmUtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gU2V0dGluZyB1cCB0aGUgcmFkaXVzIGZvciBzd2l0Y2hlc1xuICBAaWYgJHJhZGl1cyA9PSB0cnVlIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAycmVtO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcmFkaXVzIHtcbiAgICBsYWJlbCB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgICBsYWJlbDphZnRlciB7XG4gICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIH1cbiAgfVxuXG59XG5cbi8vIFdlIHVzZSB0aGlzIHRvIHF1aWNrbHkgY3JlYXRlIHN3aXRjaGVzIHdpdGggYSBzaW5nbGUgbWl4aW5cbi8vXG4vLyAkdHJhbnNpdGlvbi1zcGVlZCAtIFRpbWUgaW4gbXMgZm9yIHN3aXRjaCB0byB0b2dnbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQuXG4vLyAkdHJhbnNpdGlvbi1lYXNlIC0gRWFzaW5nIGZ1bmN0aW9uIHRvIHVzZSBmb3IgYW5pbWF0aW9uIChpLmUuIGVhc2Utb3V0KS4gRGVmYXVsdDogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbi1lYXNlLlxuLy8gJGhlaWdodCAtIEhlaWdodCAoaW4gcHgpIG9mIHRoZSBzd2l0Y2guIERlZmF1bHQ6ICRzd2l0Y2gtaGVpZ2h0LW1lZC5cbi8vICRwYWRkbGUtYmcgLSBCYWNrZ3JvdW5kIG9mIHN3aXRjaCBwYWRkbGUuIERlZmF1bHQ6ICRzd2l0Y2gtcGFkZGxlLWJnLlxuLy8gJGFjdGl2ZS1jb2xvciAtIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIHN3aXRjaC4gRGVmYXVsdDogJHN3aXRjaC1hY3RpdmUtY29sb3IuXG4vLyAkcmFkaXVzIC0gUmFkaXVzIHRvIGFwcGx5IHRvIHN3aXRjaC4gRGVmYXVsdDogZmFsc2UuXG4vLyAkYmFzZS1zdHlsZSAtIEFwcGx5IGJhc2Ugc3R5bGVzPyBEZWZhdWx0OiB0cnVlLlxuQG1peGluIHN3aXRjaChcbiAgJHRyYW5zaXRpb24tc3BlZWQ6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tc3BlZWQsXG4gICR0cmFuc2l0aW9uLWVhc2U6ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb24tZWFzZSxcbiAgJGhlaWdodDogJHN3aXRjaC1oZWlnaHQtbWVkLFxuICAkcGFkZGxlLWJnOiAkc3dpdGNoLXBhZGRsZS1iZyxcbiAgJGFjdGl2ZS1jb2xvcjogJHN3aXRjaC1hY3RpdmUtY29sb3IsXG4gICRyYWRpdXM6ZmFsc2UsXG4gICRiYXNlLXN0eWxlOnRydWUpIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtYmFzZSgkdHJhbnNpdGlvbi1zcGVlZCwgJHRyYW5zaXRpb24tZWFzZSk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUoJGhlaWdodCk7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXN0eWxlKCRwYWRkbGUtYmcsICRhY3RpdmUtY29sb3IsICRyYWRpdXMsICRiYXNlLXN0eWxlKTtcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInN3aXRjaFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLWZvcm0tY2xhc3NlcyB7XG4gICAgICAuc3dpdGNoIHtcbiAgICAgICAgQGluY2x1ZGUgc3dpdGNoO1xuXG4gICAgICAgIC8vIExhcmdlIHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYubGFyZ2UgeyBAaW5jbHVkZSBzd2l0Y2gtc2l6ZSgkc3dpdGNoLWhlaWdodC1scmcpOyB9XG5cbiAgICAgICAgLy8gU21hbGwgcmFkaW8gc3dpdGNoZXNcbiAgICAgICAgJi5zbWFsbCB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXNtbCk7IH1cblxuICAgICAgICAvLyBUaW55IHJhZGlvIHN3aXRjaGVzXG4gICAgICAgICYudGlueSB7IEBpbmNsdWRlIHN3aXRjaC1zaXplKCRzd2l0Y2gtaGVpZ2h0LXRueSk7IH1cblxuICAgICAgICAvLyBBZGQgYSByYWRpdXMgdG8gdGhlIHN3aXRjaFxuICAgICAgICAmLnJhZGl1cyB7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoNHB4KTsgfVxuICAgICAgICAgIGxhYmVsOmFmdGVyIHsgQGluY2x1ZGUgcmFkaXVzKDNweCk7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE1ha2UgdGhlIHN3aXRjaCBjb21wbGV0ZWx5IHJvdW5kLCBsaWtlIGEgcGlsbFxuICAgICAgICAmLnJvdW5kIHsgQGluY2x1ZGUgcmFkaXVzKDEwMDBweCk7XG4gICAgICAgICAgbGFiZWwgeyBAaW5jbHVkZSByYWRpdXMoMnJlbSk7IH1cbiAgICAgICAgICBsYWJlbDphZnRlciB7IEBpbmNsdWRlIHJhZGl1cygycmVtKTsgfVxuICAgICAgICB9XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vICMgVGFibGVzXG4vL1xuLy8gT2theSwgdGhleSdyZSBub3QgdGhlIHNleGllc3QgdGhpbmdzIGV2ZXIsIGJ1dCB0YWJsZXMgZ2V0IHRoZSBqb2IgZG9uZSAoZm9yXG4vLyB0YWJ1bGFyIGRhdGEsIG9mIGNvdXJzZSkuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXG4vLyAkdGFibGUtYmc6ICNmZmY7XG4vLyAkdGFibGUtZXZlbi1yb3ctYmc6ICNmOWY5Zjk7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4vLyAkdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZDtcbi8vICR0YWJsZS1ib3JkZXItc2l6ZTogMXB4O1xuLy8gJHRhYmxlLWJvcmRlci1jb2xvcjogI2RkZDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcbi8vICR0YWJsZS1oZWFkLWJnOiAjZjVmNWY1O1xuLy8gJHRhYmxlLWhlYWQtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4vLyAkdGFibGUtaGVhZC1mb250LWNvbG9yOiAjMjIyO1xuLy8gJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4vLyAkdGFibGUtaGVhZC1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKTtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgcm93IHBhZGRpbmcgYW5kIGZvbnQgc3R5bGVzXG4vLyAkdGFibGUtcm93LXBhZGRpbmc6IHJlbS1jYWxjKDkgMTApO1xuLy8gJHRhYmxlLXJvdy1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0YWJsZS1yb3ctZm9udC1jb2xvcjogIzIyMjtcbi8vICR0YWJsZS1saW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuXG4vLyBUaGVzZSBhcmUgZm9yIGNvbnRyb2xsaW5nIHRoZSBkaXNwbGF5IGFuZCBtYXJnaW4gb2YgdGFibGVzXG4vLyAkdGFibGUtZGlzcGxheTogdGFibGUtY2VsbDtcbi8vICR0YWJsZS1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbi8vIExpYnJhcnlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdGFibGVzXCI7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLXRhYmxlc1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBAbmFtZSBfdGFibGVzLnNjc3Ncbi8vIEBkZXBlbmRlbmNpZXMgX2dsb2JhbC5zY3NzXG4vL1xuXG4vL1xuLy8gQHZhcmlhYmxlc1xuLy9cblxuJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0YWJsZSBhbmQgZXZlbiByb3dzXG4kdGFibGUtYmc6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0YWJsZS1ldmVuLXJvdy1iZzogJHNub3cgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIHRhYmxlIGNlbGwgYm9yZGVyIHN0eWxlXG4kdGFibGUtYm9yZGVyLXN0eWxlOiBzb2xpZCAhZGVmYXVsdDtcbiR0YWJsZS1ib3JkZXItc2l6ZTogMXB4ICFkZWZhdWx0O1xuJHRhYmxlLWJvcmRlci1jb2xvcjogJGdhaW5zYm9ybyAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgaGVhZCBzdHlsZXNcbiR0YWJsZS1oZWFkLWJnOiAkd2hpdGUtc21va2UgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRqZXQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdGFibGUtaGVhZC1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8gVGhlc2UgY29udHJvbCB0aGUgdGFibGUgZm9vdCBzdHlsZXNcbiR0YWJsZS1mb290LWJnOiAkdGFibGUtaGVhZC1iZyAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplICFkZWZhdWx0O1xuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvciAhZGVmYXVsdDtcbiR0YWJsZS1mb290LWZvbnQtd2VpZ2h0OiAkdGFibGUtaGVhZC1mb250LXdlaWdodCAhZGVmYXVsdDtcbiR0YWJsZS1mb290LXBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGNvbnRyb2wgdGhlIGNhcHRpb25cbiR0YWJsZS1jYXB0aW9uLWJnOiB0cmFuc3BhcmVudCAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3IgIWRlZmF1bHQ7XG4kdGFibGUtY2FwdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJsZS1jYXB0aW9uLWZvbnQtd2VpZ2h0OiBib2xkICFkZWZhdWx0O1xuXG4vLyBUaGVzZSBjb250cm9sIHRoZSByb3cgcGFkZGluZyBhbmQgZm9udCBzdHlsZXNcbiR0YWJsZS1yb3ctcGFkZGluZzogcmVtLWNhbGMoOSAxMCkgIWRlZmF1bHQ7XG4kdGFibGUtcm93LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRhYmxlLXJvdy1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYmxlLWxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG5cbi8vIFRoZXNlIGFyZSBmb3IgY29udHJvbGxpbmcgdGhlIGxheW91dCwgZGlzcGxheSBhbmQgbWFyZ2luIG9mIHRhYmxlc1xuJHRhYmxlLWxheW91dDogYXV0byAhZGVmYXVsdDtcbiR0YWJsZS1kaXNwbGF5OiB0YWJsZS1jZWxsICFkZWZhdWx0O1xuJHRhYmxlLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuXG4vL1xuLy8gQG1peGluc1xuLy9cblxuQG1peGluIHRhYmxlIHtcbiAgYmFja2dyb3VuZDogJHRhYmxlLWJnO1xuICBib3JkZXI6ICR0YWJsZS1ib3JkZXItc3R5bGUgJHRhYmxlLWJvcmRlci1zaXplICR0YWJsZS1ib3JkZXItY29sb3I7XG4gIG1hcmdpbi1ib3R0b206ICR0YWJsZS1tYXJnaW4tYm90dG9tO1xuICB0YWJsZS1sYXlvdXQ6ICR0YWJsZS1sYXlvdXQ7XG5cbiAgY2FwdGlvbiB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWNhcHRpb24tYmc7XG4gICAgY29sb3I6ICR0YWJsZS1jYXB0aW9uLWZvbnQtY29sb3I7XG4gICAgZm9udDoge1xuICAgICAgc2l6ZTogJHRhYmxlLWNhcHRpb24tZm9udC1zaXplO1xuICAgICAgd2VpZ2h0OiAkdGFibGUtY2FwdGlvbi1mb250LXdlaWdodDtcbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmc7XG5cbiAgICB0ciB7XG4gICAgICB0aCxcbiAgICAgIHRkIHtcbiAgICAgICAgY29sb3I6ICR0YWJsZS1oZWFkLWZvbnQtY29sb3I7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYmxlLWhlYWQtZm9udC1zaXplO1xuICAgICAgICBmb250LXdlaWdodDogJHRhYmxlLWhlYWQtZm9udC13ZWlnaHQ7XG4gICAgICAgIHBhZGRpbmc6ICR0YWJsZS1oZWFkLXBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJnO1xuXG4gICAgdHIge1xuICAgICAgdGgsXG4gICAgICB0ZCB7XG4gICAgICAgIGNvbG9yOiAkdGFibGUtZm9vdC1mb250LWNvbG9yO1xuICAgICAgICBmb250LXNpemU6ICR0YWJsZS1mb290LWZvbnQtc2l6ZTtcbiAgICAgICAgZm9udC13ZWlnaHQ6ICR0YWJsZS1mb290LWZvbnQtd2VpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAkdGFibGUtZm9vdC1wYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyIHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBjb2xvcjogJHRhYmxlLXJvdy1mb250LWNvbG9yO1xuICAgICAgZm9udC1zaXplOiAkdGFibGUtcm93LWZvbnQtc2l6ZTtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1yb3ctcGFkZGluZztcbiAgICAgIHRleHQtYWxpZ246ICRkZWZhdWx0LWZsb2F0O1xuICAgIH1cblxuICAgICYuZXZlbixcbiAgICAmLmFsdCxcbiAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHsgYmFja2dyb3VuZDogJHRhYmxlLWV2ZW4tcm93LWJnOyB9XG4gIH1cblxuICB0aGVhZCB0ciB0aCxcbiAgdGZvb3QgdHIgdGgsXG4gIHRmb290IHRyIHRkLFxuICB0Ym9keSB0ciB0aCxcbiAgdGJvZHkgdHIgdGQsXG4gIHRyIHRkIHsgZGlzcGxheTogJHRhYmxlLWRpc3BsYXk7IGxpbmUtaGVpZ2h0OiAkdGFibGUtbGluZS1oZWlnaHQ7IH1cbn1cblxuXG5AaW5jbHVkZSBleHBvcnRzKFwidGFibGVcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJsZS1jbGFzc2VzIHtcbiAgICB0YWJsZSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIFRhYnNcbi8vXG4vLyBUYWJzIGFyZSBlbGVtZW50cyB0aGF0IGhlbHAgeW91IG9yZ2FuaXplIGFuZCBuYXZpZ2F0ZSBtdWx0aXBsZSBkb2N1bWVudHMgaW5cbi8vIGEgc2luZ2xlIGNvbnRhaW5lci4gVGhleSBjYW4gYmUgdXNlZCBmb3Igc3dpdGNoaW5nIGJldHdlZW4gaXRlbXMgaW4gdGhlXG4vLyBjb250YWluZXIuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cbi8vIFZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nOiByZW0tY2FsYygxNik7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yOiAjZWZlZmVmO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtYmctY29sb3I6ICNmZmY7XG4vLyAkdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAjMjIyO1xuLy8gJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbi8vICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuXG4vLyAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbi8vICR0YWJzLWNvbnRlbnQtcGFkZGluZzogJGNvbHVtbi1ndXR0ZXIvMjtcblxuLy8gJHRhYnMtdmVydGljYWwtbmF2aWdhdGlvbi1tYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL3RhYnNcIjtcblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtdGFic1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICdncmlkJztcblxuLy9cbi8vIEB2YXJpYWJsZXNcbi8vXG5cbiRpbmNsdWRlLWh0bWwtdGFicy1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiR0YWJzLW5hdmlnYXRpb24tcGFkZGluZzogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1iZy1jb2xvcjogJHNpbHZlciAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFicy1uYXZpZ2F0aW9uLWhvdmVyLWJnLWNvbG9yOiBzY2FsZS1jb2xvcigkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yLCAkbGlnaHRuZXNzOiAtNiUpICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yOiAkamV0ICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1hY3RpdmUtZm9udC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1mb250LWNvbG9yICFkZWZhdWx0O1xuJHRhYnMtbmF2aWdhdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcbiR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4kdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KSAhZGVmYXVsdDtcbiR0YWJzLWNvbnRlbnQtcGFkZGluZzogKCRjb2x1bW4tZ3V0dGVyLzIpICFkZWZhdWx0O1xuXG4kdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0YWJcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC10YWJzLWNsYXNzZXMge1xuICAgIC50YWJzIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAgIGRkLFxuICAgICAgLnRhYi10aXRsZSB7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtY29sb3I7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICR0YWJzLW5hdmlnYXRpb24tZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdGFicy1uYXZpZ2F0aW9uLWZvbnQtc2l6ZTtcbiAgICAgICAgICBwYWRkaW5nOiAkdGFicy1uYXZpZ2F0aW9uLXBhZGRpbmcgJHRhYnMtbmF2aWdhdGlvbi1wYWRkaW5nICogMjtcblxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYnMtbmF2aWdhdGlvbi1ob3Zlci1iZy1jb2xvcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJzLW5hdmlnYXRpb24tYWN0aXZlLWJnLWNvbG9yO1xuICAgICAgICAgIGNvbG9yOiAkdGFicy1uYXZpZ2F0aW9uLWFjdGl2ZS1mb250LWNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYucmFkaXVzIHtcbiAgICAgICAgZGQ6Zmlyc3QtY2hpbGQsXG4gICAgICAgIC50YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkZGVmYXVsdC1mbG9hdCwgJGdsb2JhbC1yYWRpdXMpOyB9XG4gICAgICAgIH1cblxuICAgICAgICBkZDpsYXN0LWNoaWxkLFxuICAgICAgICAudGFiOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGEgeyBAaW5jbHVkZSBzaWRlLXJhZGl1cygkb3Bwb3NpdGUtZGlyZWN0aW9uLCAkZ2xvYmFsLXJhZGl1cyk7IH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgZGQsXG4gICAgICAgIC50YWItdGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBpbmhlcml0O1xuICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy1jb250ZW50LW1hcmdpbi1ib3R0b207XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgPiAuY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmLmNvbnRhaW5lZCB7XG4gICAgICAgICAgcGFkZGluZzogJHRhYnMtY29udGVudC1wYWRkaW5nO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICA+IC5jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiAwICR0YWJzLWNvbnRlbnQtcGFkZGluZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIC50YWJzIHtcbiAgICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgICAgZmxvYXQ6ICRkZWZhdWx0LWZsb2F0O1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGFicy12ZXJ0aWNhbC1uYXZpZ2F0aW9uLW1hcmdpbi1ib3R0b20gIWltcG9ydGFudDtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIwJTtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgICBmbG9hdDogJGRlZmF1bHQtZmxvYXQ7XG4gICAgICAgICAgbWFyZ2luLSN7JGRlZmF1bHQtZmxvYXR9OiAtMXB4O1xuICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5uby1qcyB7XG4gICAgICAudGFicy1jb250ZW50ID4gLmNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvL1xuLy8gIyBUaHVtYm5haWxzXG4vL1xuLy8gSWYgeW91J3JlIGdvaW5nIHRvIHVzZSBhbiBpbWFnZSBhcyBhbiBhbmNob3IsIHdlJ3ZlIGdvdCB5b3UgY292ZXJlZC4gQWxsIHlvdVxuLy8gZ290dGEgZG8gaXMgd3JhcCBhbiBgYS50aGAgYXJvdW5kIHlvdXIgaW1hZ2UgYW5kIHZvaWzDoCFcbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcztcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuLy8gJHRodW1iLWJvcmRlci1zdHlsZTogc29saWQ7XG4vLyAkdGh1bWItYm9yZGVyLXdpZHRoOiA0cHg7XG4vLyAkdGh1bWItYm9yZGVyLWNvbG9yOiAjZmZmO1xuLy8gJHRodW1iLWJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCMwMDAsLjIpO1xuLy8gJHRodW1iLWJveC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsMC41KTtcblxuLy8gUmFkaXVzIGFuZCB0cmFuc2l0aW9uIHNwZWVkIGZvciB0aHVtYnNcbi8vICR0aHVtYi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHRodW1iLXRyYW5zaXRpb24tc3BlZWQ6IDIwMG1zO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL3RodW1ic1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS10aHVtYnNcIikge1xuXG4gIC8vIE5vdGhpbmcgdG8gc2VlIGhlcmUuLi4geWV0IVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gQG5hbWUgX3RodW1icy5zY3NzXG4vLyBAZGVwZW5kZW5jaWVzIF9nbG9iYWxzLnNjc3Ncbi8vXG5cbi8vXG4vLyBAdmFyaWFibGVzXG4vL1xuXG4kaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuLy8gV2UgdXNlIHRoZXNlIHRvIGNvbnRyb2wgYm9yZGVyIHN0eWxlc1xuJHRodW1iLWJvcmRlci1zdHlsZTogc29saWQgIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLXdpZHRoOiA0cHggIWRlZmF1bHQ7XG4kdGh1bWItYm9yZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGh1bWItYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLC4yKSAhZGVmYXVsdDtcbiR0aHVtYi1ib3gtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLDAuNSkgIWRlZmF1bHQ7XG5cbi8vIFJhZGl1cyBhbmQgdHJhbnNpdGlvbiBzcGVlZCBmb3IgdGh1bWJzXG4kdGh1bWItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiR0aHVtYi10cmFuc2l0aW9uLXNwZWVkOiAyMDBtcyAhZGVmYXVsdDtcblxuLy9cbi8vIEBtaXhpbnNcbi8vXG5cbi8vIFdlIHVzZSB0aGlzIHRvIGNyZWF0ZSBpbWFnZSB0aHVtYm5haWwgc3R5bGVzLlxuLy9cbi8vICRib3JkZXItd2lkdGggLSBXaWR0aCBvZiBib3JkZXIgYXJvdW5kIHRodW1ibmFpbC4gRGVmYXVsdDogJHRodW1iLWJvcmRlci13aWR0aC5cbi8vICRib3gtc2hhZG93IC0gQm94IHNoYWRvdyB0byBhcHBseSB0byB0aHVtYm5haWwuIERlZmF1bHQ6ICR0aHVtYi1ib3gtc2hhZG93LlxuLy8gJGJveC1zaGFkb3ctaG92ZXIgLSBCb3ggc2hhZG93IHRvIGFwcGx5IG9uIGhvdmVyLiBEZWZhdWx0OiAkdGh1bWItYm94LXNoYWRvdy1ob3Zlci5cbkBtaXhpbiB0aHVtYihcbiAgJGJvcmRlci13aWR0aDokdGh1bWItYm9yZGVyLXdpZHRoLFxuICAkYm94LXNoYWRvdzokdGh1bWItYm94LXNoYWRvdyxcbiAgJGJveC1zaGFkb3ctaG92ZXI6JHRodW1iLWJveC1zaGFkb3ctaG92ZXIpIHtcbiAgYm9yZGVyOiAkdGh1bWItYm9yZGVyLXN0eWxlICRib3JkZXItd2lkdGggJHRodW1iLWJvcmRlci1jb2xvcjtcbiAgYm94LXNoYWRvdzogJGJveC1zaGFkb3c7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkYm94LXNoYWRvdy1ob3ZlcjtcbiAgfVxufVxuXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ0aHVtYlwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLW1lZGlhLWNsYXNzZXMge1xuXG4gICAgLyogSW1hZ2UgVGh1bWJuYWlscyAqL1xuICAgIC50aCB7XG4gICAgICBAaW5jbHVkZSB0aHVtYjtcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKGFsbCwgJHRodW1iLXRyYW5zaXRpb24tc3BlZWQsIGVhc2Utb3V0KTtcblxuICAgICAgJi5yYWRpdXMgeyBAaW5jbHVkZSByYWRpdXMoJHRodW1iLXJhZGl1cyk7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIFRvb2x0aXBzXG4vL1xuLy8gVG9vbHRpcHMgYXJlIGEgcXVpY2sgd2F5IHRvIHByb3ZpZGUgZXh0ZW5kZWQgaW5mb3JtYXRpb24gb24gYSB0ZXJtIG9yIGFjdGlvblxuLy8gb24gYSBwYWdlLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggI2NjYztcbi8vICRoYXMtdGlwLWZvbnQtd2VpZ2h0OiBib2xkO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvcjogIzMzMztcbi8vICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXI6IGRvdHRlZCAxcHggc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC01NSUpO1xuLy8gJGhhcy10aXAtZm9udC1jb2xvci1ob3ZlcjogJHByaW1hcnktY29sb3I7XG4vLyAkaGFzLXRpcC1jdXJzb3ItdHlwZTogaGVscDtcblxuLy8gJHRvb2x0aXAtcGFkZGluZzogcmVtLWNhbGMoMTIpO1xuLy8gJHRvb2x0aXAtYmc6ICMzMzM7XG4vLyAkdG9vbHRpcC1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbi8vICR0b29sdGlwLWZvbnQtd2VpZ2h0OiBub3JtYWw7XG4vLyAkdG9vbHRpcC1mb250LWNvbG9yOiAjZmZmO1xuLy8gJHRvb2x0aXAtbGluZS1oZWlnaHQ6IDEuMztcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuLy8gJHRvb2x0aXAtY2xvc2UtZm9udC13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICM3Nzc7XG4vLyAkdG9vbHRpcC1mb250LXNpemUtc21sOiByZW0tY2FsYygxNCk7XG4vLyAkdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuLy8gJHRvb2x0aXAtcm91bmRlZDogJGdsb2JhbC1yb3VuZGVkO1xuLy8gJHRvb2x0aXAtcGlwLXNpemU6IDVweDtcblxuLy8gTGlicmFyeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBpbXBvcnQgXCJmb3VuZGF0aW9uL2ZvdW5kYXRpb24vY29tcG9uZW50cy90b29sdGlwc1wiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS10b29sdGlwc1wiKSB7XG5cbiAgLy8gTm90aGluZyB0byBzZWUgaGVyZS4uLiB5ZXQhXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vXG4vLyBUb29sdGlwIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdG9vbHRpcC1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGlyb24gIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjogZG90dGVkIDFweCBzY2FsZS1jb2xvcigkcHJpbWFyeS1jb2xvciwgJGxpZ2h0bmVzczogLTU1JSkgIWRlZmF1bHQ7XG4kaGFzLXRpcC1mb250LWNvbG9yLWhvdmVyOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRoYXMtdGlwLWN1cnNvci10eXBlOiBoZWxwICFkZWZhdWx0O1xuXG4kdG9vbHRpcC1wYWRkaW5nOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG4kdG9vbHRpcC1iZzogJG9pbCAhZGVmYXVsdDtcbiR0b29sdGlwLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9vbHRpcC1mb250LWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9vbHRpcC1saW5lLWhlaWdodDogMS4zICFkZWZhdWx0O1xuJHRvb2x0aXAtY2xvc2UtZm9udC1zaXplOiByZW0tY2FsYygxMCkgIWRlZmF1bHQ7XG4kdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b29sdGlwLWNsb3NlLWZvbnQtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHRvb2x0aXAtZm9udC1zaXplLXNtbDogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcbiR0b29sdGlwLXJvdW5kZWQ6ICRnbG9iYWwtcm91bmRlZCAhZGVmYXVsdDtcbiR0b29sdGlwLXBpcC1zaXplOiA1cHggIWRlZmF1bHQ7XG4kdG9vbHRpcC1tYXgtd2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG5AaW5jbHVkZSBleHBvcnRzKFwidG9vbHRpcFwiKSB7XG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvb2x0aXAtY2xhc3NlcyB7XG5cbiAgICAvKiBUb29sdGlwcyAqL1xuICAgIC5oYXMtdGlwIHtcbiAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gICAgICBjb2xvcjogJGhhcy10aXAtZm9udC1jb2xvcjtcbiAgICAgIGN1cnNvcjogJGhhcy10aXAtY3Vyc29yLXR5cGU7XG4gICAgICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbS1ob3ZlcjtcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXI7XG4gICAgICB9XG5cbiAgICAgICYudGlwLWxlZnQsXG4gICAgICAmLnRpcC1yaWdodCB7IGZsb2F0OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICB9XG5cbiAgICAudG9vbHRpcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9vbHRpcC1iZztcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICAgICAgZm9udC13ZWlnaHQ6ICR0b29sdGlwLWZvbnQtd2VpZ2h0O1xuICAgICAgbGluZS1oZWlnaHQ6ICR0b29sdGlwLWxpbmUtaGVpZ2h0O1xuICAgICAgbWF4LXdpZHRoOiAkdG9vbHRpcC1tYXgtd2lkdGg7XG4gICAgICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxMDA2O1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDUwJTtcblxuICAgICAgPiAubnViIHtcbiAgICAgICAgYm9yZGVyOiBzb2xpZCAkdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZyB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtKCR0b29sdGlwLXBpcC1zaXplICogMik7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogJHRvb2x0aXAtcGlwLXNpemU7XG5cbiAgICAgICAgJi5ydGwge1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvb2x0aXAtcGlwLXNpemU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5yYWRpdXMge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcmFkaXVzKTtcbiAgICAgIH1cbiAgICAgICYucm91bmQge1xuICAgICAgICBAaW5jbHVkZSByYWRpdXMoJHRvb2x0aXAtcm91bmRlZCk7XG4gICAgICAgID4gLm51YiB7XG4gICAgICAgICAgbGVmdDogMnJlbTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5lZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b20taG92ZXIgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICRoYXMtdGlwLWZvbnQtY29sb3ItaG92ZXIgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudGFwLXRvLWNsb3NlIHtcbiAgICAgIGNvbG9yOiAkdG9vbHRpcC1jbG9zZS1mb250LWNvbG9yO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6ICR0b29sdGlwLWNsb3NlLWZvbnQtc2l6ZTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkdG9vbHRpcC1jbG9zZS1mb250LXdlaWdodDtcbiAgICB9XG5cbiAgICBAbWVkaWEgI3skc21hbGx9IHtcbiAgICAgIC50b29sdGlwIHtcbiAgICAgICAgPiAubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHRvcDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICB9XG4gICAgICAgICYudGlwLXRvcD4ubnViIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6ICR0b29sdGlwLWJnIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvdHRvbTogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgICYudGlwLWxlZnQsXG4gICAgICAgICYudGlwLXJpZ2h0IHsgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgICAgICYudGlwLWxlZnQ+Lm51YiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdG9vbHRpcC1iZztcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgICByaWdodDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgICAgICYudGlwLXJpZ2h0Pi5udWIge1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRvb2x0aXAtYmcgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbGVmdDogLSgkdG9vbHRpcC1waXAtc2l6ZSAqIDIpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0kdG9vbHRpcC1waXAtc2l6ZTtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cbiIsIi8vXG4vLyAjIFRvcCBCYXJcbi8vXG4vLyBUaGUgRm91bmRhdGlvbiBUb3AgQmFyIGdpdmVzIHlvdSBhIGdyZWF0IHdheSB0byBkaXNwbGF5IGEgY29tcGxleCBuYXZpZ2F0aW9uXG4vLyBiYXIgb24gc21hbGwsIG1lZGl1bSBvciBsYXJnZSBzY3JlZW5zLlxuLy9cbi8vIE5vIHN0eWxlZ3VpZGUgcmVmZXJlbmNlLlxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vICRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXM7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4vLyAkdG9wYmFyLWJnLWNvbG9yOiAjMzMzO1xuLy8gJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvcjtcblxuLy8gSGVpZ2h0IGFuZCBtYXJnaW5cbi8vICR0b3BiYXItaGVpZ2h0OiA0NXB4O1xuLy8gJHRvcGJhci1tYXJnaW4tYm90dG9tOiAwO1xuXG4vLyBDb250cm9sbGluZyB0aGUgc3R5bGVzIGZvciB0aGUgdGl0bGUgaW4gdGhlIHRvcCBiYXJcbi8vICR0b3BiYXItdGl0bGUtd2VpZ2h0OiBub3JtYWw7XG4vLyAkdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuXG4vLyBTdHlsZSB0aGUgdG9wIGJhciBkcm9wZG93biBlbGVtZW50c1xuLy8gJHRvcGJhci1kcm9wZG93bi1iZzogIzMzMztcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjogI2ZmZjtcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay1iZzogIzMzMztcbi8vICR0b3BiYXItZHJvcGRvd24tbGluay13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweDtcbi8vICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAjZmZmO1xuLy8gJHRvcGJhci1kcm9wZG93bi10b2dnbGUtYWxwaGE6IDAuNDtcblxuLy8gU2V0IHRoZSBsaW5rIGNvbG9ycyBhbmQgc3R5bGVzIGZvciB0b3AtbGV2ZWwgbmF2XG4vLyAkdG9wYmFyLWxpbmstY29sb3I6ICNmZmY7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI6ICNmZmY7XG4vLyAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAjZmZmO1xuLy8gJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjogI2ZmZjtcbi8vICR0b3BiYXItbGluay13ZWlnaHQ6IG5vcm1hbDtcbi8vICR0b3BiYXItbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICR0b3BiYXItbGluay1ob3Zlci1saWdodG5lc3M6IC0xMCU7IC8vIERhcmtlbiBieSAxMCVcbi8vICR0b3BiYXItbGluay1iZy1ob3ZlcjogIzI3MjcyNztcbi8vICR0b3BiYXItbGluay1iZy1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yO1xuLy8gJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3Zlcjogc2NhbGUtY29sb3IoJHByaW1hcnktY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuLy8gJHRvcGJhci1saW5rLWZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbi8vICR0b3BiYXItbGluay1wYWRkaW5nOiAkdG9wYmFyLWhlaWdodCAvIDM7XG5cbi8vICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTogMC43NXJlbTtcbi8vICR0b3BiYXItYnV0dG9uLXRvcDogN3B4O1xuXG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWNvbG9yOiAjNzc3O1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuLy8gJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogYm9sZDtcbi8vICR0b3BiYXItZHJvcGRvd24tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4vLyAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnOiAjMzMzO1xuXG4vLyBUb3AgbWVudSBpY29uIHN0eWxlc1xuLy8gJHRvcGJhci1tZW51LWxpbmstdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4vLyAkdG9wYmFyLW1lbnUtbGluay1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbi8vICR0b3BiYXItbWVudS1saW5rLXdlaWdodDogYm9sZDtcbi8vICR0b3BiYXItbWVudS1saW5rLWNvbG9yOiAjZmZmO1xuLy8gJHRvcGJhci1tZW51LWljb24tY29sb3I6ICNmZmY7XG4vLyAkdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkOiAjODg4O1xuLy8gJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZDogIzg4ODtcblxuLy8gVHJhbnNpdGlvbnMgYW5kIGJyZWFrcG9pbnQgc3R5bGVzXG4vLyAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQ6IDMwMG1zO1xuLy8gVXNpbmcgcmVtLWNhbGMgZm9yIHRoZSBiZWxvdyBicmVha3BvaW50IGNhdXNlcyBpc3N1ZXMgd2l0aCB0b3AgYmFyXG4vLyAkdG9wYmFyLWJyZWFrcG9pbnQ6ICN7bG93ZXItYm91bmQoJG1lZGl1bS1yYW5nZSl9OyAvLyBDaGFuZ2UgdG8gOTk5OXB4IGZvciBhbHdheXMgbW9iaWxlIGxheW91dFxuLy8gJHRvcGJhci1tZWRpYS1xdWVyeTogJG1lZGl1bS11cDtcblxuLy8gRGl2aWRlciBTdHlsZXNcbi8vICR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggIHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IDEzJSk7XG4vLyAkdG9wYmFyLWRpdmlkZXItYm9yZGVyLXRvcDogc29saWQgMXB4IHNjYWxlLWNvbG9yKCR0b3BiYXItYmctY29sb3IsICRsaWdodG5lc3M6IC01MCUpO1xuXG4vLyBTdGlja3kgQ2xhc3Ncbi8vICR0b3BiYXItc3RpY2t5LWNsYXNzOiBcIi5zdGlja3lcIjtcbi8vICR0b3BiYXItYXJyb3dzOiB0cnVlOyAvLyBTZXQgZmFsc2UgdG8gcmVtb3ZlIHRoZSB0cmlhbmdsZSBpY29uIGZyb20gdGhlIG1lbnUgaXRlbVxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AaW1wb3J0IFwiZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdG9wLWJhclwiO1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS10b3AtYmFyXCIpIHtcblxuICAvLyBOb3RoaW5nIHRvIHNlZSBoZXJlLi4uIHlldCFcblxufVxuIiwiLy8gRm91bmRhdGlvbiBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQGltcG9ydCAnZ2xvYmFsJztcbkBpbXBvcnQgJ2dyaWQnO1xuQGltcG9ydCAnYnV0dG9ucyc7XG5AaW1wb3J0ICdmb3Jtcyc7XG5cbi8vXG4vLyBUb3AgQmFyIFZhcmlhYmxlc1xuLy9cbiRpbmNsdWRlLWh0bWwtdG9wLWJhci1jbGFzc2VzOiAkaW5jbHVkZS1odG1sLWNsYXNzZXMgIWRlZmF1bHQ7XG5cbi8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyXG4kdG9wYmFyLWJnLWNvbG9yOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1iZzogJHRvcGJhci1iZy1jb2xvciAhZGVmYXVsdDtcblxuLy8gSGVpZ2h0IGFuZCBtYXJnaW5cbiR0b3BiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSkgIWRlZmF1bHQ7XG4kdG9wYmFyLW1hcmdpbi1ib3R0b206IDAgIWRlZmF1bHQ7XG5cbi8vIENvbnRyb2xsaW5nIHRoZSBzdHlsZXMgZm9yIHRoZSB0aXRsZSBpbiB0aGUgdG9wIGJhclxuJHRvcGJhci10aXRsZS13ZWlnaHQ6ICRmb250LXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpICFkZWZhdWx0O1xuXG4vLyBTZXQgdGhlIGxpbmsgY29sb3JzIGFuZCBzdHlsZXMgZm9yIHRvcC1sZXZlbCBuYXZcbiR0b3BiYXItbGluay1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstd2VpZ2h0OiAkZm9udC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWhvdmVyLWxpZ2h0bmVzczogLTEwJSAhZGVmYXVsdDsgLy8gRGFya2VuIGJ5IDEwJVxuJHRvcGJhci1saW5rLWJnOiAkdG9wYmFyLWJnICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyOiAkY2hhcmNvYWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstYmctYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI6IHNjYWxlLWNvbG9yKCRwcmltYXJ5LWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcbiR0b3BiYXItbGluay1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm06IG5vbmUgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstcGFkZGluZzogKCR0b3BiYXItaGVpZ2h0IC8gMykgIWRlZmF1bHQ7XG4kdG9wYmFyLWJhY2stbGluay1zaXplOiByZW0tY2FsYygxOCkgIWRlZmF1bHQ7XG4kdG9wYmFyLWxpbmstZHJvcGRvd24tcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuJHRvcGJhci1idXR0b24tZm9udC1zaXplOiAuNzVyZW0gIWRlZmF1bHQ7XG4kdG9wYmFyLWJ1dHRvbi10b3A6IDdweCAhZGVmYXVsdDtcblxuLy8gU3R5bGUgdGhlIHRvcCBiYXIgZHJvcGRvd24gZWxlbWVudHNcbiR0b3BiYXItZHJvcGRvd24tYmc6ICRvaWwgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvci1ob3ZlcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnOiAkb2lsICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLWJnLWhvdmVyOiAkamV0ICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1saW5rLXdlaWdodDogJGZvbnQtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemU6IDVweCAhZGVmYXVsdDtcbiR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLXRvZ2dsZS1hbHBoYTogLjQgIWRlZmF1bHQ7XG5cbiR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I6ICRtb25zb29uICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC10ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDogJGZvbnQtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG4kdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTApICFkZWZhdWx0O1xuJHRvcGJhci1kcm9wZG93bi1sYWJlbC1iZzogJG9pbCAhZGVmYXVsdDtcblxuLy8gVG9wIG1lbnUgaWNvbiBzdHlsZXNcbiR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTogdXBwZXJjYXNlICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRvcGJhci1tZW51LWxpbmstY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiR0b3BiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtbGluay1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1jb2xvci10b2dnbGVkOiAkanVtYm8gIWRlZmF1bHQ7XG4kdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbjogJG9wcG9zaXRlLWRpcmVjdGlvbiAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvICRkZWZhdWx0LWZsb2F0IGZvciBhIGxlZnQgbWVudSBpY29uXG5cbi8vIFRyYW5zaXRpb25zIGFuZCBicmVha3BvaW50IHN0eWxlc1xuJHRvcGJhci10cmFuc2l0aW9uLXNwZWVkOiAzMDBtcyAhZGVmYXVsdDtcbi8vIFVzaW5nIHJlbS1jYWxjIGZvciB0aGUgYmVsb3cgYnJlYWtwb2ludCBjYXVzZXMgaXNzdWVzIHdpdGggdG9wIGJhclxuJHRvcGJhci1icmVha3BvaW50OiAje2xvd2VyLWJvdW5kKCRtZWRpdW0tcmFuZ2UpfSAhZGVmYXVsdDsgLy8gQ2hhbmdlIHRvIDk5OTlweCBmb3IgYWx3YXlzIG1vYmlsZSBsYXlvdXRcbiR0b3BiYXItbWVkaWEtcXVlcnk6IFwiI3skc2NyZWVufSBhbmQgKG1pbi13aWR0aDoje2xvd2VyLWJvdW5kKCR0b3BiYXItYnJlYWtwb2ludCl9KVwiICFkZWZhdWx0O1xuXG4vLyBUb3AtYmFyIGlucHV0IHN0eWxlc1xuJHRvcGJhci1pbnB1dC1oZWlnaHQ6IHJlbS1jYWxjKDI4KSAhZGVmYXVsdDtcblxuLy8gRGl2aWRlciBTdHlsZXNcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItYm90dG9tOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogMTMlKSAhZGVmYXVsdDtcbiR0b3BiYXItZGl2aWRlci1ib3JkZXItdG9wOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRvcGJhci1iZy1jb2xvciwgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XG5cbi8vIFN0aWNreSBDbGFzc1xuJHRvcGJhci1zdGlja3ktY2xhc3M6IFwiLnN0aWNreVwiICFkZWZhdWx0O1xuJHRvcGJhci1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7IC8vU2V0IGZhbHNlIHRvIHJlbW92ZSB0aGUgdHJpYW5nbGUgaWNvbiBmcm9tIHRoZSBtZW51IGl0ZW1cbiR0b3BiYXItZHJvcGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0OyAvL1NldCBmYWxzZSB0byByZW1vdmUgdGhlIFxcMDBiYiA+PiB0ZXh0IGZyb20gZHJvcGRvd24gc3VibmF2aWdhdGlvbiBsaVxuXG4vLyBBY2Nlc3NpYmlsaXR5IG1peGlucyBmb3IgaGlkaW5nIGFuZCBzaG93aW5nIHRoZSBtZW51IGRyb3Bkb3duIGl0ZW1zXG5AbWl4aW4gdG9wYmFyLWhpZGUtZHJvcGRvd24ge1xuICAvLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiBieSBkZWZhdWx0LCBidXQgdmlzaWJsZSB3aGVuIGZvY3VzZWQuXG4gIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlKCk7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5AbWl4aW4gdG9wYmFyLXNob3ctZHJvcGRvd24ge1xuICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmYoKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50OyAvLyBSZXNldCB0aGUgcG9zaXRpb24gZnJvbSBzdGF0aWMgdG8gYWJzb2x1dGVcbn1cblxuQGluY2x1ZGUgZXhwb3J0cyhcInRvcC1iYXJcIikge1xuXG4gIEBpZiAkaW5jbHVkZS1odG1sLXRvcC1iYXItY2xhc3NlcyB7XG5cbiAgICAvLyBVc2VkIHRvIHByb3ZpZGUgbWVkaWEgcXVlcnkgdmFsdWVzIGZvciBqYXZhc2NyaXB0IGNvbXBvbmVudHMuXG4gICAgLy8gVGhpcyBjbGFzcyBpcyBnZW5lcmF0ZWQgZGVzcGl0ZSB0aGUgdmFsdWUgb2YgJGluY2x1ZGUtaHRtbC10b3AtYmFyLWNsYXNzZXNcbiAgICAvLyB0byBlbnN1cmUgd2lkdGggY2FsY3VsYXRpb25zIHdvcmsgY29ycmVjdGx5LlxuICAgIG1ldGEuZm91bmRhdGlvbi1tcS10b3BiYXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiL1wiICsgdW5xdW90ZSgkdG9wYmFyLW1lZGlhLXF1ZXJ5KSArIFwiL1wiO1xuICAgICAgd2lkdGg6ICR0b3BiYXItYnJlYWtwb2ludDtcbiAgICB9XG5cbiAgICAvKiBXcmFwcGVkIGFyb3VuZCAudG9wLWJhciB0byBjb250YWluIHRvIGdyaWQgd2lkdGggKi9cbiAgICAuY29udGFpbi10by1ncmlkIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1iZztcblxuICAgICAgLnRvcC1iYXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdG9wYmFyLW1hcmdpbi1ib3R0b207XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gV3JhcHBlZCBhcm91bmQgLnRvcC1iYXIgdG8gbWFrZSBpdCBzdGljayB0byB0aGUgdG9wXG4gICAgLmZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogOTk7XG4gICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgJi5leHBhbmRlZDpub3QoLnRvcC1iYXIpIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHotaW5kZXg6IDk5O1xuICAgICAgICB9XG5cbiAgICAgICAgLy8gRW5zdXJlIHlvdSBjYW4gc2Nyb2xsIHRoZSBtZW51IG9uIHNtYWxsIHNjcmVlbnNcbiAgICAgICAgLnRvcC1iYXItc2VjdGlvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgei1pbmRleDogOTg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgIG1hcmdpbi1ib3R0b206ICR0b3BiYXItbWFyZ2luLWJvdHRvbTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgIC8vIFRvcGJhciBHbG9iYWwgbGlzdCBTdHlsZXNcbiAgICAgIHVsIHtcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cblxuICAgICAgLnJvdyB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIH1cblxuICAgICAgZm9ybSxcbiAgICAgIGlucHV0LCBcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG5cbiAgICAgIGlucHV0LCBcbiAgICAgIHNlbGVjdCB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1idXR0b24tZm9udC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogLjM1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtO1xuICAgICAgfVxuXG4gICAgICAuYnV0dG9uLCBidXR0b24ge1xuICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYnV0dG9uLWZvbnQtc2l6ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IC4zNXJlbSArIHJlbS1jYWxjKDEpO1xuICAgICAgICBwYWRkaW5nLXRvcDogLjM1cmVtICsgcmVtLWNhbGMoMSk7XG4gICAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLy8gdG9wOiAtMXB4O1xuXG4gICAgICAgIC8vIENvcnJlY3RzIGEgc2xpZ2h0IG1pc2FsaWdubWVudCB3aGVuIHB1dCBuZXh0IHRvIGFuIGlucHV0IGZpZWxkXG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBUaXRsZSBBcmVhXG4gICAgICAudGl0bGUtYXJlYSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICAubmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHJlbS1iYXNlO1xuICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgaDEsIGgyLCBoMywgaDQsIHAsIHNwYW4ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci10aXRsZS1mb250LXNpemU7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICR0b3BiYXItdGl0bGUtd2VpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE1lbnUgdG9nZ2xlIGJ1dHRvbiBvbiBzbWFsbCBkZXZpY2VzXG4gICAgICAudG9nZ2xlLXRvcGJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgI3skdG9wYmFyLW1lbnUtaWNvbi1wb3NpdGlvbn06IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogJHRvcGJhci1tZW51LWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLW1lbnUtbGluay13ZWlnaHQ7XG4gICAgICAgICAgaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItbWVudS1saW5rLXRyYW5zZm9ybTtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFkZGluZyB0aGUgY2xhc3MgXCJtZW51LWljb25cIiB3aWxsIGFkZCB0aGUgMy1saW5lIGljb24gcGVvcGxlIGxvdmUgYW5kIGFkb3JlLlxuICAgICAgICAmLm1lbnUtaWNvbiB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTE2cHg7XG4gICAgICAgICAgdG9wOiA1MCU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigxNnB4LCBmYWxzZSwgMCwgMXB4LCA2cHgsICR0b3BiYXItbWVudS1pY29uLWNvbG9yLCBcIlwiLCBmYWxzZSk7XG5cbiAgICAgICAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC01OHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yO1xuICAgICAgICAgICAgaGVpZ2h0OiAzNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwICR0b3BiYXItbGluay1wYWRkaW5nK3JlbS1jYWxjKDI1KSAwICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBDaGFuZ2UgdGhpbmdzIHVwIHdoZW4gdGhlIHRvcC1iYXIgaXMgZXhwYW5kZWRcbiAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgIC50aXRsZS1hcmVhIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvZ2dsZS10b3BiYXIge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbWVudS1saW5rLWNvbG9yLXRvZ2dsZWQ7XG5cbiAgICAgICAgICAgIHNwYW46OmFmdGVyIHtcbiAgICAgICAgICAgICAgLy8gU2hoLCBkb24ndCB0ZWxsLCBidXQgYm94LXNoYWRvd3MgY3JlYXRlIHRoZSBtZW51IGljb24gOilcbiAgICAgICAgICAgICAgLy8gQ2hhbmdlIHRoZSBjb2xvciBvZiB0aGUgYmFycyB3aGVuIHRoZSBtZW51IGlzIGV4cGFuZGVkLCB1c2luZyBnaXZlbiB0aGlja25lc3MgZnJvbSBoYW1idXJnZXIoKSBhYm92ZVxuICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCA3cHggMCAxcHggJHRvcGJhci1tZW51LWljb24tY29sb3ItdG9nZ2xlZCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgMCAxNHB4IDAgMXB4ICR0b3BiYXItbWVudS1pY29uLWNvbG9yLXRvZ2dsZWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gRml4ZXMgYW4gaXNzdWUgd2l0aCBEZXNrdG9wIGFuZCBNb2JpbGUgU2FmYXJpIHdoZXJlIGRlZXBseS1uZXN0ZWQgbWVudXMgZG9uJ3QgYXBwZWFyXG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICAgICAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICAgICAgLmhhcy1kcm9wZG93bi5tb3ZlZCA+IC5kcm9wZG93bixcbiAgICAgICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIGNsaXA6IGluaXRpYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC8vIFRoaXMgd2FzIG5lZWRlZCBhcyBwYXJlbnQgdWwncyBoYWQgcGFkZGluZywgYW5kIHRoZSBjbGlwOiB3YXMgYWxsb3dpbmcgY29udGVudCB0byBwZWFrIHRocm91Z2hcbiAgICAgICAgICAgIC5oYXMtZHJvcGRvd246bm90KC5tb3ZlZCkgPiB1bCB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmlnaHQgYW5kIExlZnQgTmF2aWdhdGlvbiB0aGF0IHN0YWNrZWQgYnkgZGVmYXVsdFxuICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIEBpbmNsdWRlIHNpbmdsZS10cmFuc2l0aW9uKCRkZWZhdWx0LWZsb2F0LCAkdG9wYmFyLXRyYW5zaXRpb24tc3BlZWQpO1xuXG4gICAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6ICRyZW0tYmFzZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAuZGl2aWRlcixcbiAgICAgIFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgYm9yZGVyLXRvcDogJHRvcGJhci1kaXZpZGVyLWJvcmRlci10b3A7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIHVsIGxpIHtcbiAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tYmc7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkdG9wYmFyLWxpbmstZm9udC1mYW1pbHk7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWxpbmstZm9udC1zaXplO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstd2VpZ2h0O1xuICAgICAgICAgIHBhZGRpbmctI3skZGVmYXVsdC1mbG9hdH06ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiAkdG9wYmFyLWxpbmstdGV4dC10cmFuc2Zvcm07XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgICBwYWRkaW5nLSN7JGRlZmF1bHQtZmxvYXR9OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgIHBhZGRpbmctI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmJ1dHRvbi5zZWNvbmRhcnkgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRzZWNvbmRhcnktY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5idXR0b24uYWxlcnQgeyBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRhbGVydC1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi53YXJuaW5nIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokd2FybmluZy1jb2xvcik7IH1cbiAgICAgICAgICAmLmJ1dHRvbi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItbGluay1mb250LXNpemU7XG4gICAgICAgICAgcGFkZGluZy0jeyRkZWZhdWx0LWZsb2F0fTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgcGFkZGluZy0jeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGJnOiRwcmltYXJ5LWNvbG9yKTtcblxuICAgICAgICAgICYuc2Vjb25kYXJ5IHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokc2Vjb25kYXJ5LWNvbG9yKTsgfVxuICAgICAgICAgICYuc3VjY2VzcyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHN1Y2Nlc3MtY29sb3IpOyB9XG4gICAgICAgICAgJi5hbGVydCB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JGFsZXJ0LWNvbG9yKTsgfVxuICAgICAgICAgICYud2FybmluZyB7IEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmc6JHdhcm5pbmctY29sb3IpOyB9XG4gICAgICAgICAgJi5pbmZvIHsgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiZzokaW5mby1jb2xvcik7IH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIEFwcGx5IHRoZSBob3ZlciBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgJjpob3Zlcjpub3QoLmhhcy1mb3JtKSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWhvdmVyO1xuXG4gICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBBcHBseSB0aGUgYWN0aXZlIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAmLmFjdGl2ZSA+IGEge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmU7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG5cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1hY3RpdmUtaG92ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQWRkIHNvbWUgZXh0cmEgcGFkZGluZyBmb3IgbGlzdCBpdGVtcyBjb250YWlucyBidXR0b25zXG4gICAgICAuaGFzLWZvcm0ge1xuICAgICAgICBwYWRkaW5nOiAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGluZyBmb3IgbGlzdCBpdGVtcyB0aGF0IGhhdmUgYSBkcm9wZG93biB3aXRoaW4gdGhlbS5cbiAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIEBpZiAoJHRvcGJhci1hcnJvd3MpIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgJGRlZmF1bHQtZmxvYXQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBtYXJnaW4tI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKSAtIDI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5tb3ZlZCB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICA+IGE6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gU3R5bGluZyBlbGVtZW50cyBpbnNpZGUgb2YgZHJvcGRvd25zXG4gICAgICAuZHJvcGRvd24ge1xuICAgICAgICBAaW5jbHVkZSB0b3BiYXItaGlkZS1kcm9wZG93bigpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAxMDAlO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstd2VpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgICAgJi5wYXJlbnQtbGluayB7XG4gICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkdG9wYmFyLWxpbmstd2VpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYudGl0bGUgaDUsXG4gICAgICAgICAgJi5wYXJlbnQtbGluayB7XG4gICAgICAgICAgICAvLyBCYWNrIEJ1dHRvblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6ICR0b3BiYXItYmFjay1saW5rLXNpemU7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgLy8gbGluZS1oZWlnaHQ6ICgkdG9wYmFyLWhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgJjpob3ZlciB7IGJhY2tncm91bmQ6bm9uZTsgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuaGFzLWZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4ICR0b3BiYXItbGluay1wYWRkaW5nO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5idXR0b24sXG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtY29sb3I7XG4gICAgICAgICAgZm9udC1zaXplOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWZvbnQtc2l6ZTtcbiAgICAgICAgICBmb250LXdlaWdodDogJHRvcGJhci1kcm9wZG93bi1sYWJlbC1mb250LXdlaWdodDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDhweCAkdG9wYmFyLWxpbmstcGFkZGluZyAycHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06ICR0b3BiYXItZHJvcGRvd24tbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZ2VuZXJhdGVkIHsgZGlzcGxheTogYmxvY2s7IH1cblxuXG4gICAgLy8gVG9wIEJhciBzdHlsZXMgaW50ZW5kZWQgZm9yIHNjcmVlbiBzaXplcyBhYm92ZSB0aGUgYnJlYWtwb2ludC5cbiAgICBAbWVkaWEgI3skdG9wYmFyLW1lZGlhLXF1ZXJ5fSB7XG4gICAgICAudG9wLWJhciB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcblxuICAgICAgICAudG9nZ2xlLXRvcGJhciB7IGRpc3BsYXk6IG5vbmU7IH1cblxuICAgICAgICAudGl0bGUtYXJlYSB7IGZsb2F0OiAkZGVmYXVsdC1mbG9hdDsgfVxuICAgICAgICAubmFtZSBoMSBhLFxuICAgICAgICAubmFtZSBoMiBhLFxuICAgICAgICAubmFtZSBoMyBhLFxuICAgICAgICAubmFtZSBoNCBhLFxuICAgICAgICAubmFtZSBoNSBhLFxuICAgICAgICAubmFtZSBoNiBhIHsgd2lkdGg6IGF1dG87IH1cblxuICAgICAgICBpbnB1dCxcbiAgICAgICAgc2VsZWN0LFxuICAgICAgICAuYnV0dG9uLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1pbnB1dC1oZWlnaHQ7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogKCgkdG9wYmFyLWhlaWdodCAtICR0b3BiYXItaW5wdXQtaGVpZ2h0KSAvIDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy1mb3JtID4gLmJ1dHRvbixcbiAgICAgICAgLmhhcy1mb3JtID4gYnV0dG9uIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaW5wdXQtaGVpZ2h0O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgXG4gICAgICAgICAgdG9wOiAoKCR0b3BiYXItaGVpZ2h0IC0gJHRvcGJhci1pbnB1dC1oZWlnaHQpIC8gMik7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWJnO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jb250YWluLXRvLWdyaWQgLnRvcC1iYXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJHRvcGJhci1tYXJnaW4tYm90dG9tO1xuICAgICAgICBtYXgtd2lkdGg6ICRyb3ctd2lkdGg7XG4gICAgICB9XG5cbiAgICAgIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBzaW5nbGUtdHJhbnNpdGlvbihub25lLDAsMCk7XG4gICAgICAgICN7JGRlZmF1bHQtZmxvYXR9OiAwICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsb2F0OiAkZGVmYXVsdC1mbG9hdDtcbiAgICAgICAgICAgIC5qcy1nZW5lcmF0ZWQgeyBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICYuaG92ZXIge1xuICAgICAgICAgICAgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWxpbmstYmctaG92ZXI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOm5vdCguaGFzLWZvcm0pIHtcbiAgICAgICAgICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItbGluay1iZy1ob3Zlcikge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYuYWN0aXZlOm5vdCguaGFzLWZvcm0pIHtcbiAgICAgICAgICAgIGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItbGluay1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHRvcGJhci1saW5rLWNvbG9yLWFjdGl2ZS1ob3ZlcjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgIEBpZiAkdG9wYmFyLWFycm93cyB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLSN7JG9wcG9zaXRlLWRpcmVjdGlvbn06ICR0b3BiYXItbGluay1wYWRkaW5nICsgJHRvcGJhci1saW5rLWRyb3Bkb3duLXBhZGRpbmcgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUsIHJnYmEoJHRvcGJhci1kcm9wZG93bi10b2dnbGUtY29sb3IsICR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLWFscGhhKSwgdG9wKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtKCR0b3BiYXItZHJvcGRvd24tdG9nZ2xlLXNpemUgLyAyKTtcbiAgICAgICAgICAgICAgICB0b3A6ICgkdG9wYmFyLWhlaWdodCAvIDIpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi5tb3ZlZCB7IHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgID4gLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgdG9wYmFyLWhpZGUtZHJvcGRvd24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmhvdmVyLCAmLm5vdC1jbGljazpob3ZlciB7XG4gICAgICAgICAgICA+IC5kcm9wZG93biB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgPiBhOmZvY3VzICsgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcGJhci1zaG93LWRyb3Bkb3duKCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLmRyb3Bkb3duIGxpLmhhcy1kcm9wZG93biB7XG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICBAaWYgKCR0b3BiYXItZHJvcGRvd24tYXJyb3dzKSB7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMDBiYlwiO1xuICAgICAgICAgICAgICAgICAgdG9wOiByZW0tY2FsYygzKTtcblxuICAgICAgICAgICAgICAgICAgI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kcm9wZG93biB7XG4gICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IDA7XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRvcDogYXV0bztcblxuICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XG4gICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3I7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAkdG9wYmFyLWhlaWdodDtcbiAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAkdG9wYmFyLWxpbmstcGFkZGluZztcbiAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLmhhcy1mb3JtKTpub3QoLmFjdGl2ZSkge1xuICAgICAgICAgICAgICA+IGE6bm90KC5idXR0b24pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmc7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR0b3BiYXItZHJvcGRvd24tbGluay1jb2xvcjtcbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICY6aG92ZXIgPiBhOm5vdCguYnV0dG9uKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1saW5rLWJnLWNvbG9yLWhvdmVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWRyb3Bkb3duLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgICAgICAgQGlmICgkdG9wYmFyLWRyb3Bkb3duLWxpbmstYmctaG92ZXIpIHtcbiAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItZHJvcGRvd24tbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdG9wYmFyLWRyb3Bkb3duLWxhYmVsLWJnO1xuICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAvLyBTZWNvbmQgTGV2ZWwgRHJvcGRvd25zXG4gICAgICAgICAgICAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMTAwJTtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgID4gdWwgPiAuZGl2aWRlcixcbiAgICAgICAgPiB1bCA+IFtyb2xlPVwic2VwYXJhdG9yXCJdIHtcbiAgICAgICAgICBib3JkZXItI3skb3Bwb3NpdGUtZGlyZWN0aW9ufTogJHRvcGJhci1kaXZpZGVyLWJvcmRlci1ib3R0b207XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgICAgICAgICBib3JkZXItdG9wOiBub25lO1xuICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgIGhlaWdodDogJHRvcGJhci1oZWlnaHQ7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLWZvcm0ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZztcbiAgICAgICAgICBoZWlnaHQ6ICR0b3BiYXItaGVpZ2h0O1xuICAgICAgICAgIHBhZGRpbmc6IDAgJHRvcGJhci1saW5rLXBhZGRpbmc7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBQb3NpdGlvbiBvdmVycmlkZXMgZm9yIHVsLnJpZ2h0IGFuZCB1bC5sZWZ0XG4gICAgICAgIC4jeyRvcHBvc2l0ZS1kaXJlY3Rpb259IHtcbiAgICAgICAgICBsaSAuZHJvcGRvd24ge1xuICAgICAgICAgICAgI3skZGVmYXVsdC1mbG9hdH06IGF1dG87XG4gICAgICAgICAgICAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAwO1xuXG4gICAgICAgICAgICBsaSAuZHJvcGRvd24geyAjeyRvcHBvc2l0ZS1kaXJlY3Rpb259OiAxMDAlOyB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC4jeyRkZWZhdWx0LWZsb2F0fSB7XG4gICAgICAgICAgbGkgLmRyb3Bkb3duIHtcbiAgICAgICAgICAgICN7JG9wcG9zaXRlLWRpcmVjdGlvbn06IGF1dG87XG4gICAgICAgICAgICAjeyRkZWZhdWx0LWZsb2F0fTogMDtcblxuICAgICAgICAgICAgbGkgLmRyb3Bkb3duIHsgI3skZGVmYXVsdC1mbG9hdH06IDEwMCU7IH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gRGVncmFkZSBncmFjZWZ1bGx5IHdoZW4gSmF2YXNjcmlwdCBpcyBkaXNhYmxlZC4gRGlzcGxheXMgZHJvcGRvd24gYW5kIGNoYW5nZXNcbiAgICAgIC8vIGJhY2tncm91bmQgJiB0ZXh0IGNvbG9yIG9uIGhvdmVyLlxuICAgICAgLm5vLWpzIC50b3AtYmFyLXNlY3Rpb24ge1xuICAgICAgICB1bCBsaSB7XG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGhvdmVyIGxpbmsgY29sb3Igd2hlbiBpdCBoYXMgdGhhdCBjbGFzc1xuICAgICAgICAgICY6aG92ZXIgPiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItbGluay1iZy1jb2xvci1ob3ZlcjtcbiAgICAgICAgICAgIEBpZiAoJHRvcGJhci1saW5rLWJnLWhvdmVyKSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0b3BiYXItbGluay1iZy1ob3ZlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItaG92ZXI7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gQXBwbHkgdGhlIGFjdGl2ZSBsaW5rIGNvbG9yIHdoZW4gaXQgaGFzIHRoYXQgY2xhc3NcbiAgICAgICAgICAmOmFjdGl2ZSA+IGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRvcGJhci1saW5rLWJnLWFjdGl2ZTtcbiAgICAgICAgICAgIGNvbG9yOiAkdG9wYmFyLWxpbmstY29sb3ItYWN0aXZlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtZHJvcGRvd24ge1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgPiAuZHJvcGRvd24ge1xuICAgICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgID4gYTpmb2N1cyArIC5kcm9wZG93biB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3BiYXItc2hvdy1kcm9wZG93bigpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vICMgT2ZmY2FudmFzXG4vL1xuLy8gT2ZmLWNhbnZhcyBtZW51cyBhcmUgcG9zaXRpb25lZCBvdXRzaWRlIG9mIHRoZSB2aWV3cG9ydCBhbmQgc2xpZGUgaW4gd2hlblxuLy8gYWN0aXZhdGVkLiBTZXR0aW5nIHVwIGFuIG9mZi1jYW52YXMgbGF5b3V0IGluIEZvdW5kYXRpb24gaXMgc3VwZXIgZWFzeS5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzIC0gVGhlc2UgdmFyaWFibGVzIGFyZSBsaXN0ZWQgaGVyZSBmb3IgcmVmZXJlbmNlIG9ubHkuIFRoZXkgYXJlXG4vLyBjaGFuZ2VkIGluIHRoZSBfc2V0dGluZ3Muc2NzcyBmaWxlIGFzIHRvIGJlIGdsb2JhbCB2YXJpYWJsZXMuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICR0YWJiYXItaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4vLyAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI6IHNvbGlkIDFweCAjNDE0MTQxO1xuLy8gJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjogJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93OiBub25lO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKGJsYWNrLCAwLjUpO1xuLy8gJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKGJsYWNrLCAwLjUpO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCBcImZvdW5kYXRpb24vZm91bmRhdGlvbi9jb21wb25lbnRzL29mZmNhbnZhc1wiO1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGltcG9ydCBcIi4uL2N1c3RvbV9jb21wb25lbnRzL3RhYi1iYXJcIjsgLy8gVGhpcyBpcyB0aGUgdG9wLWJhci4gSXQgaXMgY2FsbGVkIHRhYi1iYXIgd2l0aCBvZmYtY2FudmFzXG5AaW1wb3J0IFwiLi4vY3VzdG9tX2NvbXBvbmVudHMvc2lkZS1tZW51XCI7XG5cbi8vIE5vdCBzdXJlIHdoYXQgdGhpcyBleHBvcnQgd3JhcHBlciBkb2VzIGJ1dCBsZWF2ZSBpdFxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtb2ZmY2FudmFzXCIpIHtcblxuLy8gU3RhcnQgQ3VzdG9tIHN0eWxlcyAvLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuLy8gRml4IHRoZSBzY3JlZW4gd2hlbiBtZW51IGlzIG9wZW5cbi5vZmYtY2FudmFzLXdyYXB7XG5cdCYubW92ZS1sZWZ0LCAmLm1vdmUtcmlnaHR7XG5cdFx0cG9zaXRpb246IGZpeGVkO1xuXHR9XG59XG5cbi5leGl0LW9mZi1jYW52YXN7XG5cdHN2Z3tcblx0XHRoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcblx0XHR3aWR0aDogcmVtLWNhbGMoMjApO1xuXHRcdGZpbGw6ICRvaWw7XG5cdFx0Jjpob3Zlcntcblx0XHRcdGZpbGw6IGxpZ2h0ZW4oJG9pbCwgMzAlKTtcblx0XHR9XG5cdH1cbn1cblxuXG5cblxuXG5cblxuXG5cblxuXG5cblxuXG5cbi8vIEVuZCBDdXN0b20gc3R5bGVzIC8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cbn1cbiIsIi8vIEZvdW5kYXRpb24gYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ2dsb2JhbCc7XG5AaW1wb3J0ICd0eXBlJztcblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIFZhcmlhYmxlc1xuJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXM6ICRpbmNsdWRlLWh0bWwtY2xhc3NlcyAhZGVmYXVsdDtcblxuJHRhYmJhci1iZzogJG9pbCAhZGVmYXVsdDtcbiR0YWJiYXItaGVpZ2h0OiByZW0tY2FsYyg0NSkgIWRlZmF1bHQ7XG4kdGFiYmFyLWljb24td2lkdGg6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1saW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLW1pZGRsZS1wYWRkaW5nOiAwIHJlbS1jYWxjKDEwKSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBEaXZpZGVyIFN0eWxlc1xuJHRhYmJhci1sZWZ0LXNlY3Rpb24tYm9yZGVyOiBzb2xpZCAxcHggc2NhbGUtY29sb3IoJHRhYmJhci1iZywgJGxpZ2h0bmVzczogLTUwJSkgIWRlZmF1bHQ7XG4kdGFiYmFyLXJpZ2h0LXNlY3Rpb24tYm9yZGVyOiAkdGFiYmFyLWxlZnQtc2VjdGlvbi1ib3JkZXI7XG5cblxuLy8gT2ZmIENhbnZhcyBUYWIgQmFyIEhlYWRlcnNcbiR0YWJiYXItaGVhZGVyLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLWhlYWRlci13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ6ICR0YWJiYXItaGVpZ2h0ICFkZWZhdWx0O1xuJHRhYmJhci1oZWFkZXItbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgVmFyaWFibGVzXG4kb2ZmLWNhbnZhcy13aWR0aDogcmVtLWNhbGMoMjUwKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWhlaWdodDogcmVtLWNhbGMoMzAwKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJnOiAkb2lsICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmctaG92ZXI6IHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmctYWN0aXZlOiBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcblxuLy8gT2ZmIENhbnZhcyBNZW51IExpc3QgVmFyaWFibGVzXG4kb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nOiAuM3JlbSByZW0tY2FsYygxNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjogJGFsdW1pbnVtICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ6ICRmb250LXdlaWdodC1ib2xkICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYmc6ICR0dWF0YXJhICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLWJvdHRvbTogbm9uZSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjowICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1wYWRkaW5nOiByZW0tY2FsYygxMCwgMTUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtbGluay1jb2xvcjogcmdiYSgkd2hpdGUsIC43KSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWxpbmstYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWJnLCAkbGlnaHRuZXNzOiAtMjUlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2stYmc6ICM0NDQgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A6ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci10b3AgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWxhYmVsLWJvcmRlci1ib3R0b20gIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1iYWNrLWhvdmVyLWJnOiBzY2FsZS1jb2xvcigkb2ZmLWNhbnZhcy1iYWNrLWJnLCAkbGlnaHRuZXNzOiAtMzAlKSAhZGVmYXVsdDtcbiRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDogMXB4IHNvbGlkIHNjYWxlLWNvbG9yKCRvZmYtY2FudmFzLWxhYmVsLWJnLCAkbGlnaHRuZXNzOiAxNCUpICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtYmFjay1ob3Zlci1ib3JkZXItYm90dG9tOiBub25lICFkZWZhdWx0O1xuXG4vLyBPZmYgQ2FudmFzIE1lbnUgSWNvbiBWYXJpYWJsZXNcbiR0YWJiYXItbWVudS1pY29uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1ob3Zlcjogc2NhbGUtY29sb3IoJHRhYmJhci1tZW51LWljb24tY29sb3IsICRsaWdodG5lc3M6IC0zMCUpICFkZWZhdWx0O1xuXG4kdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDogcmVtLWNhbGMoMzUpICFkZWZhdWx0O1xuJHRhYmJhci1tZW51LWljb24td2lkdGg6ICR0YWJiYXItaWNvbi13aWR0aCAhZGVmYXVsdDtcbiR0YWJiYXItbWVudS1pY29uLWhlaWdodDogJHRhYmJhci1oZWlnaHQgIWRlZmF1bHQ7XG4kdGFiYmFyLW1lbnUtaWNvbi1wYWRkaW5nOiAwICFkZWZhdWx0O1xuXG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG4kdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi10b3A6IGZhbHNlICFkZWZhdWx0O1xuJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3M6IDFweCAhZGVmYXVsdDtcbiR0YWJiYXItaGFtYnVyZ2VyLWljb24tZ2FwOiA2cHggIWRlZmF1bHQ7XG5cbi8vIE9mZiBDYW52YXMgQmFjay1MaW5rIE92ZXJsYXlcbiRvZmYtY2FudmFzLW92ZXJsYXktdHJhbnNpdGlvbjogYmFja2dyb3VuZCAzMDBtcyBlYXNlICFkZWZhdWx0O1xuJG9mZi1jYW52YXMtb3ZlcmxheS1jdXJzb3I6IHBvaW50ZXIgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJveC1zaGFkb3c6IC00cHggMCA0cHggcmdiYSgkYmxhY2ssIC41KSwgNHB4IDAgNHB4IHJnYmEoJGJsYWNrLCAuNSkgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAuMikgIWRlZmF1bHQ7XG4kb2ZmLWNhbnZhcy1vdmVybGF5LWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJHdoaXRlLCAuMDUpICFkZWZhdWx0O1xuXG4vLyBUcmFuc2l0aW9uIFZhcmlhYmxlc1xuJG1lbnUtc2xpZGU6IFwidHJhbnNmb3JtIDUwMG1zIGVhc2VcIiAhZGVmYXVsdDtcblxuXG4vLyBNSVhJTlNcbi8vIFJlbW92ZSB0cmFuc2l0aW9uIGZsaWNrZXIgb24gcGhvbmVzXG5AbWl4aW4ga2lsbC1mbGlja2VyIHtcbiAgLy8gLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZVooMHgpO1xuICAtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLy8gQmFzaWMgcHJvcGVydGllcyBmb3IgdGhlIGNvbnRlbnQgd3JhcHNcbkBtaXhpbiB3cmFwLWJhc2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWl4aW4gdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eikge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoJHR4LCAkdHksICR0eik7XG4gICAgIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgkdHgsICR0eSk7XG4gICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgkdHgsICR0eSwgJHR6KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKCR0eCwgJHR5LCAkdHopXG59XG5cbi8vIGJhc2ljIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcyBtZW51IGNvbnRhaW5lclxuQG1peGluIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUga2lsbC1mbGlja2VyO1xuICAqIHsgQGluY2x1ZGUga2lsbC1mbGlja2VyOyB9XG4gIGJhY2tncm91bmQ6ICRvZmYtY2FudmFzLWJnO1xuICBib3R0b206IDA7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2UgMHM7XG4gIHdpZHRoOiAkb2ZmLWNhbnZhcy13aWR0aDtcbiAgei1pbmRleDogMTAwMTtcblxuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMTAwJSwwLDApO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHRvcCB7XG4gICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwtMTAwJSwwKTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7XG4gIH1cbn1cblxuLy8gT0ZGIENBTlZBUyBXUkFQXG4vLyBXcmFwIHZpc2libGUgY29udGVudCBhbmQgcHJldmVudCBzY3JvbGwgYmFyc1xuQG1peGluIG9mZi1jYW52YXMtd3JhcCB7XG4gIEBpbmNsdWRlIGtpbGwtZmxpY2tlcjtcbiAgQGluY2x1ZGUgd3JhcC1iYXNlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAmLm1vdmUtcmlnaHQsXG4gICYubW92ZS1sZWZ0LFxuICAmLm1vdmUtYm90dG9tLFxuICAmLm1vdmUtdG9wIHsgbWluLWhlaWdodDogMTAwJTsgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoOyB9XG59XG5cbi8vIElOTkVSIFdSQVBcbi8vIE1haW4gY29udGVudCBhcmVhIHRoYXQgbW92ZXMgdG8gcmV2ZWFsIHRoZSBvZmYtY2FudmFzIG5hdlxuQG1peGluIGlubmVyLXdyYXAge1xuICAvLyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gIC8vIHJlbW92ZWQgZm9yIG5vdyB0aWxsIGNocm9tZSBmaXhlcyBiYWNrZmFjZSBpc3N1ZVxuICBAaW5jbHVkZSB3cmFwLWJhc2U7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtI3skbWVudS1zbGlkZX07XG4gIC1tb3otdHJhbnNpdGlvbjogLW1vei0jeyRtZW51LXNsaWRlfTtcbiAgLW1zLXRyYW5zaXRpb246IC1tcy0jeyRtZW51LXNsaWRlfTtcbiAgLW8tdHJhbnNpdGlvbjogLW8tI3skbWVudS1zbGlkZX07XG4gIHRyYW5zaXRpb246ICN7JG1lbnUtc2xpZGV9O1xufVxuXG4vLyBUQUIgQkFSXG4vLyBUaGlzIGlzIHRoZSB0YWIgYmFyIGJhc2VcbkBtaXhpbiB0YWItYmFyLWJhc2Uge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG5cbiAgLy8gYmFzZSBzdHlsZXNcbiAgYmFja2dyb3VuZDogJHRhYmJhci1iZztcbiAgY29sb3I6ICR0YWJiYXItY29sb3I7XG4gIGhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkdGFiYmFyLWxpbmUtaGVpZ2h0O1xuXG4gIC8vIG1ha2Ugc3VyZSBpdCdzIGJlbG93IHRoZSAuZXhpdC1vZmYtY2FudmFzIGxpbmtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyB6LWluZGV4OiA5OTk7XG5cbiAgLy8gVHlwb2dyYXBoeVxuICBoMSwgaDIsIGgzLCBoNCwgaDUsIGg2IHtcbiAgICBjb2xvcjogJHRhYmJhci1oZWFkZXItY29sb3I7XG4gICAgZm9udC13ZWlnaHQ6ICR0YWJiYXItaGVhZGVyLXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHRhYmJhci1oZWFkZXItbGluZS1oZWlnaHQ7XG4gICAgbWFyZ2luOiAkdGFiYmFyLWhlYWRlci1tYXJnaW47XG4gIH1cbiAgaDEsIGgyLCBoMywgaDQgeyBmb250LXNpemU6ICRoNS1mb250LXNpemU7IH1cbn1cblxuLy8gU01BTEwgU0VDVElPTlNcbi8vIFRoZXNlIGFyZSBzbWFsbCBzZWN0aW9ucyBvbiB0aGUgbGVmdCBhbmQgcmlnaHQgdGhhdCBjb250YWluIHRoZSBvZmYtY2FudmFzIHRvZ2dsZSBidXR0b25zO1xuQG1peGluIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbikge1xuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBib3JkZXItcmlnaHQ6ICR0YWJiYXItbGVmdC1zZWN0aW9uLWJvcmRlcjtcbiAgICAvLyBib3gtc2hhZG93OiAxcHggMCAwIHNjYWxlLWNvbG9yKCR0YWJiYXItYmcsICRsaWdodG5lc3M6IDEzJSk7XG4gICAgbGVmdDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBib3JkZXItbGVmdDogJHRhYmJhci1yaWdodC1zZWN0aW9uLWJvcmRlcjtcbiAgICAvLyBib3gtc2hhZG93OiAtMXB4IDAgMCBzY2FsZS1jb2xvcigkdGFiYmFyLWJnLCAkbGlnaHRuZXNzOiAtNTAlKTtcbiAgICByaWdodDowO1xuICB9XG59XG5cbkBtaXhpbiB0YWItYmFyLXNlY3Rpb24ge1xuICBoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuICBwYWRkaW5nOiAkdGFiYmFyLW1pZGRsZS1wYWRkaW5nO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICAgICYubGVmdCB7IHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAmLnJpZ2h0IHsgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuXG4gIC8vIHN0aWxsIG5lZWQgdG8gbWFrZSB0aGVzZSBub24tcHJlc2VudGF0aW9uYWxcbiAgJi5sZWZ0IHtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gIH1cbiAgJi5yaWdodCB7XG4gICAgbGVmdDogJHRhYmJhci1pY29uLXdpZHRoO1xuICAgIHJpZ2h0OiAwO1xuICB9XG4gICYubWlkZGxlIHtcbiAgICBsZWZ0OiAkdGFiYmFyLWljb24td2lkdGg7XG4gICAgcmlnaHQ6ICR0YWJiYXItaWNvbi13aWR0aDtcbiAgfVxufVxuXG4vLyBPRkYgQ0FOVkFTIExJU1Rcbi8vIFRoaXMgaXMgdGhlIGxpc3Qgb2YgbGlua3MgaW4gdGhlIG9mZi1jYW52YXMgbWVudVxuQG1peGluIG9mZi1jYW52YXMtbGlzdCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOjA7XG4gIHBhZGRpbmc6MDtcblxuICBsaSB7XG4gICAgbGFiZWwge1xuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtbGFiZWwtYmc7XG4gICAgICBib3JkZXItYm90dG9tOiAkb2ZmLWNhbnZhcy1sYWJlbC1ib3JkZXItYm90dG9tO1xuICAgICAgYm9yZGVyLXRvcDogJG9mZi1jYW52YXMtbGFiZWwtYm9yZGVyLXRvcDtcbiAgICAgIGNvbG9yOiAkb2ZmLWNhbnZhcy1sYWJlbC1jb2xvcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXNpemU7XG4gICAgICBmb250LXdlaWdodDogJG9mZi1jYW52YXMtbGFiZWwtZm9udC13ZWlnaHQ7XG4gICAgICBtYXJnaW46ICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjtcbiAgICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxhYmVsLXBhZGRpbmc7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogJG9mZi1jYW52YXMtbGFiZWwtdGV4dC10cmFuc2Zvcm07XG4gICAgfVxuICAgIGEge1xuICAgICAgYm9yZGVyLWJvdHRvbTogJG9mZi1jYW52YXMtbGluay1ib3JkZXItYm90dG9tO1xuICAgICAgY29sb3I6ICRvZmYtY2FudmFzLWxpbmstY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6ICRvZmYtY2FudmFzLWxpbmstcGFkZGluZztcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMzAwbXMgZWFzZTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZy1ob3ZlcjtcbiAgICAgIH1cbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmctYWN0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG59XG5cbi8vIEJBQ0sgTElOS1xuLy8gVGhpcyBpcyBhbiBvdmVybGF5IHRoYXQsIHdoZW4gY2xpY2tlZCwgd2lsbCB0b2dnbGUgb2ZmIHRoZSBvZmYgY2FudmFzIG1lbnVcbkBtaXhpbiBiYWNrLWxpbmsge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG5cbiAgYm94LXNoYWRvdzogJG9mZi1jYW52YXMtb3ZlcmxheS1ib3gtc2hhZG93O1xuICBjdXJzb3I6ICRvZmYtY2FudmFzLW92ZXJsYXktY3Vyc29yO1xuICB0cmFuc2l0aW9uOiAkb2ZmLWNhbnZhcy1vdmVybGF5LXRyYW5zaXRpb247XG5cbiAgLy8gZmlsbCB0aGUgc2NyZWVuXG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogcmdiYSgwLDAsMCwwKTtcbiAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kO1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHotaW5kZXg6IDEwMDI7XG5cbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtb3ZlcmxheS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vL1xuLy8gT2ZmLUNhbnZhcyBTdWJtZW51IENsYXNzZXNcbi8vXG5AbWl4aW4gb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBraWxsLWZsaWNrZXI7XG4gICogeyBAaW5jbHVkZSBraWxsLWZsaWNrZXI7IH1cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iZztcbiAgYm90dG9tOiAwO1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogJG9mZi1jYW52YXMtd2lkdGg7XG4gIGhlaWdodDogJG9mZi1jYW52YXMtaGVpZ2h0O1xuICB6LWluZGV4OiAxMDAyO1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKC0xMDAlLDAsMCk7XG4gICAgbGVmdDogMDtcbiAgfVxuICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgxMDAlLDAsMCk7XG4gICAgcmlnaHQ6IDA7XG4gIH1cbiAgQGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsLTEwMCUsMCk7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9ICBcbiAgQGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKDAsMTAwJSwwKTtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgLXdlYmtpdC10cmFuc2l0aW9uOiAtd2Via2l0LSN7JG1lbnUtc2xpZGV9O1xuICAtbW96LXRyYW5zaXRpb246IC1tb3otI3skbWVudS1zbGlkZX07XG4gIC1tcy10cmFuc2l0aW9uOiAtbXMtI3skbWVudS1zbGlkZX07XG4gIC1vLXRyYW5zaXRpb246IC1vLSN7JG1lbnUtc2xpZGV9O1xuICB0cmFuc2l0aW9uOiAjeyRtZW51LXNsaWRlfTtcblxuICAvL2JhY2sgYnV0dG9uIHN0eWxlIGxpa2UgbGFiZWxcbiAgLmJhY2sgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAkb2ZmLWNhbnZhcy1iYWNrLWJnO1xuICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2stYm9yZGVyLWJvdHRvbTtcbiAgICBib3JkZXItdG9wOiAkb2ZmLWNhbnZhcy1iYWNrLWJvcmRlci10b3A7XG4gICAgY29sb3I6ICRvZmYtY2FudmFzLWxhYmVsLWNvbG9yO1xuICAgIGZvbnQtd2VpZ2h0OiAkb2ZmLWNhbnZhcy1sYWJlbC1mb250LXdlaWdodDtcbiAgICBwYWRkaW5nOiAkb2ZmLWNhbnZhcy1sYWJlbC1wYWRkaW5nO1xuICAgIHRleHQtdHJhbnNmb3JtOiAkb2ZmLWNhbnZhcy1sYWJlbC10ZXh0LXRyYW5zZm9ybTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJG9mZi1jYW52YXMtYmFjay1ob3Zlci1iZztcbiAgICAgIGJvcmRlci1ib3R0b206ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLWJvdHRvbTtcbiAgICAgIGJvcmRlci10b3A6ICRvZmYtY2FudmFzLWJhY2staG92ZXItYm9yZGVyLXRvcDtcbiAgICB9XG5cbiAgICBtYXJnaW46ICRvZmYtY2FudmFzLWxhYmVsLW1hcmdpbjtcbiAgICBAaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgICB9XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICBAaWYgJHRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiBsZWZ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuLy9MZWZ0IGRvdWJsZSBhbmdsZSBxdW90ZSBvciBSaWdodCBkb3VibGUgYW5nbGUgcXVvdGUgY2hhcnNcbkBtaXhpbiBpY29uLWRvdWJsZS1hcnJvd3MgKCRwb3NpdGlvbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGNvbnRlbnQ6IFwiXFxBQlwiO1xuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAuNXJlbTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfVxuICB9XG4gIEBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIGNvbnRlbnQ6IFwiXFxCQlwiO1xuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIG1hcmdpbi1yaWdodDogLjVyZW07XG4gICAgfSBAZWxzZSB7XG4gICAgICBtYXJnaW4tbGVmdDogLjVyZW07XG4gICAgfVxuICB9XG4gIGRpc3BsYXk6IGlubGluZTtcbn1cblxuLy9cbi8vIERFRkFVTFQgQ0xBU1NFU1xuLy9cbkBpbmNsdWRlIGV4cG9ydHMoXCJvZmZjYW52YXNcIikge1xuICBAaWYgJGluY2x1ZGUtaHRtbC1vZmYtY2FudmFzLWNsYXNzZXMge1xuXG4gICAgLm9mZi1jYW52YXMtd3JhcCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtd3JhcDsgfVxuICAgIC5pbm5lci13cmFwIHsgQGluY2x1ZGUgaW5uZXItd3JhcDsgfVxuXG4gICAgLnRhYi1iYXIgeyBAaW5jbHVkZSB0YWItYmFyLWJhc2U7IH1cblxuICAgIC5sZWZ0LXNtYWxsIHsgQGluY2x1ZGUgdGFiYmFyLXNtYWxsLXNlY3Rpb24oJHBvc2l0aW9uOiBsZWZ0KTsgfVxuICAgIC5yaWdodC1zbWFsbCB7IEBpbmNsdWRlIHRhYmJhci1zbWFsbC1zZWN0aW9uKCRwb3NpdGlvbjogcmlnaHQpOyB9XG5cbiAgICAudGFiLWJhci1zZWN0aW9uIHsgQGluY2x1ZGUgdGFiLWJhci1zZWN0aW9uOyB9XG5cbiAgICAvLyBNRU5VIEJVVFRPTlxuICAgIC8vIFRoaXMgaXMgYSBsaXR0bGUgYm9udXMuIFlvdSBkb24ndCBuZWVkIGl0IGZvciBvZmYgY2FudmFzIHRvIHdvcmsuIE1peGlucyB0byBiZSB3cml0dGVuIGluIHRoZSBmdXR1cmUuXG4gICAgLnRhYi1iYXIgLm1lbnUtaWNvbiB7XG4gICAgICBjb2xvcjogJHRhYmJhci1tZW51LWljb24tY29sb3I7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogJHRhYmJhci1tZW51LWljb24taGVpZ2h0O1xuICAgICAgcGFkZGluZzogJHRhYmJhci1tZW51LWljb24tcGFkZGluZztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtaW5kZW50OiAkdGFiYmFyLW1lbnUtaWNvbi10ZXh0LWluZGVudDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuICAgICAgd2lkdGg6ICR0YWJiYXItbWVudS1pY29uLXdpZHRoO1xuXG4gICAgICAvLyBAaW5jbHVkZSBmb3IgdGhlIGhhbWJ1cmdlciBtZW51LWljb25cbiAgICAgIC8vXG4gICAgICAvLyBBcmd1bWVudHMgYXMgZm9sbG93czogKCR3aWR0aCwgJGxlZnQsICR0b3AsICR0aGlja25lc3MsICRnYXAsICRjb2xvciwgJGhvdmVyLWNvbG9yKVxuICAgICAgLy8gJHdpZHRoIC0gV2lkdGggb2YgaGFtYnVyZ2VyIGljb24gaW4gcmVtIERlZmF1bHQ6ICR0YWJiYXItaGFtYnVyZ2VyLWljb24td2lkdGguXG4gICAgICAvLyAkbGVmdCAtIElmIGZhbHNlLCBpY29uIHdpbGwgYmUgY2VudGVyZWQgaG9yaXpvbnRhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQ9IEZhbHNlXG4gICAgICAvLyAkdG9wIC0gSWYgZmFsc2UsIGljb24gd2lsbCBiZSBjZW50ZXJlZCB2ZXJ0aWNhbGx5IHx8IGV4cGxpY2l0bHkgc2V0IHZhbHVlIGluIHJlbSBEZWZhdWx0OiA9IEZhbHNlXG4gICAgICAvLyAkdGhpY2tuZXNzIC0gdGhpY2tuZXNzIG9mIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi10aGlja25lc3MgPSAxcHhcbiAgICAgIC8vICRnYXAgLSBzcGFjaW5nIGJldHdlZW4gdGhlIGxpbmVzIGluIGhhbWJ1cmdlciBpY29uLCBzZXQgdmFsdWUgaW4gcHggRGVmYXVsdDogJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAgPSA2cHhcbiAgICAgIC8vICRjb2xvciAtIGljb24gY29sb3IgRGVmYXVsdDogJHRhYmJhci1tZW51LWljb24tY29sb3JcbiAgICAgIC8vICRob3Zlci1jb2xvciAtIGljb24gY29sb3Igd2hlbiBob3ZlcmVkIERlZmF1bHQ6ICR0YWJiYXItbWVudS1pY29uLWhvdmVyXG4gICAgICAvLyAkb2ZmY2FudmFzIC0gU2V0IHRvIHRydWVcbiAgICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXdpZHRoLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLWxlZnQsICR0YWJiYXItaGFtYnVyZ2VyLWljb24tdG9wLCAkdGFiYmFyLWhhbWJ1cmdlci1pY29uLXRoaWNrbmVzcywgJHRhYmJhci1oYW1idXJnZXItaWNvbi1nYXAsICR0YWJiYXItbWVudS1pY29uLWNvbG9yLCAkdGFiYmFyLW1lbnUtaWNvbi1ob3ZlciwgdHJ1ZSlcbiAgICB9XG5cbiAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiBsZWZ0KTsgfVxuICAgIC5yaWdodC1vZmYtY2FudmFzLW1lbnUgeyBAaW5jbHVkZSBvZmYtY2FudmFzLW1lbnUoJHBvc2l0aW9uOiByaWdodCk7IH1cbiAgICAudG9wLW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IHRvcCk7IH1cbiAgICAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbWVudSgkcG9zaXRpb246IGJvdHRvbSk7IH1cblxuICAgIHVsLm9mZi1jYW52YXMtbGlzdCB7IEBpbmNsdWRlIG9mZi1jYW52YXMtbGlzdDsgfVxuXG5cbiAgICAvLyBBTklNQVRJT04gQ0xBU1NFU1xuICAgIC8vIFRoZXNlIGNsYXNzZXMgYXJlIGFkZGVkIHdpdGggSlMgYW5kIHRyaWdnZXIgdGhlIGFjdHVhbCBhbmltYXRpb24uXG4gICAgLm1vdmUtcmlnaHQge1xuICAgICAgPiAuaW5uZXItd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIHRyYW5zbGF0ZTNkKCRvZmYtY2FudmFzLXdpZHRoLDAsMCk7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rO31cbiAgICB9XG5cbiAgICAubW92ZS1sZWZ0IHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgtKCRvZmYtY2FudmFzLXdpZHRoKSwwLDApO1xuXG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5tb3ZlLXRvcCB7XG4gICAgICA+IC5pbm5lci13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgdHJhbnNsYXRlM2QoMCwtKCRvZmYtY2FudmFzLWhlaWdodCksMCk7XG5cbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm1vdmUtYm90dG9tIHtcbiAgICAgID4gLmlubmVyLXdyYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLCgkb2ZmLWNhbnZhcy1oZWlnaHQpLDApO1xuXG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcCB7XG4gICAgICAubGVmdC1vZmYtY2FudmFzLW1lbnUsIC5yaWdodC1vZmYtY2FudmFzLW1lbnUsXG4gICAgICAudG9wLW9mZi1jYW52YXMtbWVudSwgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtbGVmdCB7XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG4gICAgLm9mZmNhbnZhcy1vdmVybGFwLXJpZ2h0IHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7XG4gICAgICAgIC1tcy10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtbW96LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW8tdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHotaW5kZXg6IDEwMDM7XG4gICAgICB9XG4gICAgICAuZXhpdC1vZmYtY2FudmFzIHsgQGluY2x1ZGUgYmFjay1saW5rOyB9XG4gICAgfVxuICAgIC5vZmZjYW52YXMtb3ZlcmxhcC10b3Age1xuICAgICAgLmJvdHRvbS1vZmYtY2FudmFzLW1lbnUge1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLW1vei10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1vLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB6LWluZGV4OiAxMDAzO1xuICAgICAgfVxuICAgICAgLmV4aXQtb2ZmLWNhbnZhcyB7IEBpbmNsdWRlIGJhY2stbGluazsgfVxuICAgIH1cbiAgICAub2ZmY2FudmFzLW92ZXJsYXAtYm90dG9tIHtcbiAgICAgIC50b3Atb2ZmLWNhbnZhcy1tZW51IHtcbiAgICAgICAgLW1zLXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIC1tb3otdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAtby10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgei1pbmRleDogMTAwMztcbiAgICAgIH1cbiAgICAgIC5leGl0LW9mZi1jYW52YXMgeyBAaW5jbHVkZSBiYWNrLWxpbms7IH1cbiAgICB9XG5cbiAgICAvLyBPbGRlciBicm93c2Vyc1xuICAgIC5uby1jc3N0cmFuc2Zvcm1zIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB7IGxlZnQ6IC0oJG9mZi1jYW52YXMtd2lkdGgpOyB9XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHsgcmlnaHQ6IC0oJG9mZi1jYW52YXMtd2lkdGgpOyB9XG4gICAgICAudG9wLW9mZi1jYW52YXMtbWVudSB7IHRvcDogLSgkb2ZmLWNhbnZhcy1oZWlnaHQpOyB9XG4gICAgICAuYm90dG9tLW9mZi1jYW52YXMtbWVudSB7IGJvdHRvbTogLSgkb2ZmLWNhbnZhcy1oZWlnaHQpOyB9XG5cbiAgICAgIC5tb3ZlLWxlZnQgPiAuaW5uZXItd3JhcCB7IHJpZ2h0OiAkb2ZmLWNhbnZhcy13aWR0aDsgfVxuICAgICAgLm1vdmUtcmlnaHQgPiAuaW5uZXItd3JhcCB7IGxlZnQ6ICRvZmYtY2FudmFzLXdpZHRoOyB9XG4gICAgICAubW92ZS10b3AgPiAuaW5uZXItd3JhcCB7IHJpZ2h0OiAkb2ZmLWNhbnZhcy1oZWlnaHQ7IH1cbiAgICAgIC5tb3ZlLWJvdHRvbSA+IC5pbm5lci13cmFwIHsgbGVmdDogJG9mZi1jYW52YXMtaGVpZ2h0OyB9XG5cblxuICAgIH1cblxuICAgIC5sZWZ0LXN1Ym1lbnUge1xuICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1zdWJtZW51KCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICAmLm1vdmUtcmlnaHQsICYub2ZmY2FudmFzLW92ZXJsYXAtcmlnaHQsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1zdWJtZW51IHtcbiAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtc3VibWVudSgkcG9zaXRpb246IHJpZ2h0KTtcbiAgICAgICYubW92ZS1sZWZ0LCAmLm9mZmNhbnZhcy1vdmVybGFwLWxlZnQsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwJSwwLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC50b3Atc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiB0b3ApO1xuICAgICAgJi5tb3ZlLWJvdHRvbSwgJi5vZmZjYW52YXMtb3ZlcmxhcC1ib3R0b20sICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDAlLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5ib3R0b20tc3VibWVudSB7XG4gICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXN1Ym1lbnUoJHBvc2l0aW9uOiBib3R0b20pO1xuICAgICAgJi5tb3ZlLXRvcCwgJi5vZmZjYW52YXMtb3ZlcmxhcC10b3AsICYub2ZmY2FudmFzLW92ZXJsYXAge1xuICAgICAgICBAaW5jbHVkZSB0cmFuc2xhdGUzZCgwLDAlLDApO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAgIC5sZWZ0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmJlZm9yZSB7XG4gICAgICAgIEBpbmNsdWRlIGljb24tZG91YmxlLWFycm93cygkcG9zaXRpb246IGxlZnQpO1xuICAgICAgfVxuICAgICAgLnJpZ2h0LW9mZi1jYW52YXMtbWVudSB1bC5vZmYtY2FudmFzLWxpc3QgbGkuaGFzLXN1Ym1lbnUgPiBhOmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogcmlnaHQpO1xuICAgICAgfVxuICAgIH0gQGVsc2Uge1xuICAgICAgLmxlZnQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBpY29uLWRvdWJsZS1hcnJvd3MoJHBvc2l0aW9uOiByaWdodCk7XG4gICAgICB9XG4gICAgICAucmlnaHQtb2ZmLWNhbnZhcy1tZW51IHVsLm9mZi1jYW52YXMtbGlzdCBsaS5oYXMtc3VibWVudSA+IGE6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgaWNvbi1kb3VibGUtYXJyb3dzKCRwb3NpdGlvbjogbGVmdCk7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuXG5cbiIsIi8vIF90YWItYmFyLnNjc3MgLS1wYXJ0aWFsc1xuLy8gU3R5bGVzIGZvciBnbG9iYWwgdGFiIGJhci4gVGhpcyBpcyBhY3R1YWxseSB0aGUgdG9wLWJhciBidXQgaXQgaXNcbi8vIGNhbGxlZCB0YWItYmFyIHdoZW4gdXNpbmcgb2ZmLWNhbnZhcy5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRoaXMgZmlsZSBpcyBjYWxsZWQgaW4gZm91bmRhdGlvbl9jb21wb25lbnRzL19vZmZjYW52YXMuc2Nzc1xuXG5cblxuJGhhbWJ1cmdlci1zaXplOiByZW0tY2FsYygyNyk7XG4kcHJvZmlsZS1zaXplOiByZW0tY2FsYyg0NCk7XG5cbi50YWItYmFye1xuXHQudGl0bGV7XG5cdFx0cGFkZGluZy1sZWZ0OiAyMHB4O1xuXHRcdC5sb2dve1xuXHRcdFx0d2lkdGg6ICRsb2dvLXdpZHRoO1xuXHRcdFx0YmFja2dyb3VuZDogdXJsKCR0YWItYmFyLWxvZ28pIG5vLXJlcGVhdCBjZW50ZXI7XG5cdFx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0XHR0ZXh0LWluZGVudDogLTk5OTk5cHg7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEFkZCBtZW51IGljb24gdG8gdGhlIHRhYi1iYXIgbGVmdCB0b2dnbGUgYnV0dG9uXG4ub2ZmLWNhbnZhcy13cmFwe1xuXHQubGVmdC1vZmYtY2FudmFzLXRvZ2dsZXtcblx0XHRjdXJzb3I6IHBvaW50ZXI7XG5cdFx0LmhhbWJ1cmdlcntcblx0XHRcdHdpZHRoOiAkaGFtYnVyZ2VyLXNpemU7XG5cdFx0XHRoZWlnaHQ6ICRoYW1idXJnZXItc2l6ZTtcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRcdHRvcDogY2FsYygjeyR0YWJiYXItaGVpZ2h0fSAvIDIgLSAjeyRoYW1idXJnZXItc2l6ZX0gLyAyKTtcblx0XHRcdGxlZnQ6IGNhbGMoI3skdGFiYmFyLWhlaWdodH0gLyAyIC0gI3skaGFtYnVyZ2VyLXNpemV9IC8gMik7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEFkZCBtZW51IGljb24gdG8gdGhlIHRhYi1iYXIgcmlnaHQgdG9nZ2xlXG4vLyBidXR0b24gKHdoZW4gc2lnbmVkIGluKVxuLm9mZi1jYW52YXMtd3JhcHtcblx0LnJpZ2h0LW9mZi1jYW52YXMtdG9nZ2xle1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQuaGFtYnVyZ2Vye1xuXHRcdFx0d2lkdGg6ICRoYW1idXJnZXItc2l6ZTtcblx0XHRcdGhlaWdodDogJGhhbWJ1cmdlci1zaXplO1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0dG9wOiBjYWxjKCN7JHRhYmJhci1oZWlnaHR9IC8gMiAtICN7JGhhbWJ1cmdlci1zaXplfSAvIDIpO1xuXHRcdFx0cmlnaHQ6IGNhbGMoI3skdGFiYmFyLWhlaWdodH0gLyAyIC0gI3skaGFtYnVyZ2VyLXNpemV9IC8gMik7XG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuXHRcdH1cblx0fVxufVxuXG4vLyBBbGlnbiB0aGUgdGl0bGUgdGV4dFxuLm9mZi1jYW52YXMtd3JhcHtcbiAgLnRhYi1iYXJ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICB9XG5cdC5UaXRsZUJhciB7XG5cdCAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuXHR9XG59XG5cbi8vIFJpZ2h0IHRhYi1iYXIgbWVudSBpdGVtcyAoc2lnbmVkaW4pXG4ub2ZmLWNhbnZhcy13cmFwe1xuXHQucmlnaHQtbWVudS1zaWduZWRpbntcblx0XHR3aWR0aDogcmVtLWNhbGMoNjAwKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHR9XG59XG5cbi8vIFByb2ZpbGUgaW1hZ2Vcbi5vZmYtY2FudmFzLXdyYXB7XG5cdC5Qcm9maWxlUGhvdG97XG5cdFx0aGVpZ2h0OiAkcHJvZmlsZS1zaXplO1xuXHRcdHdpZHRoOiAkcHJvZmlsZS1zaXplO1xuXHRcdGJvcmRlci1yYWRpdXM6IDUwJTtcblx0XHRib3JkZXI6IDJweCBzb2xpZDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiBjYWxjKCN7JHRhYmJhci1oZWlnaHR9IC8gMiAtICN7JHByb2ZpbGUtc2l6ZX0gLyAyKTtcblx0XHRyaWdodDogY2FsYygjeyR0YWJiYXItaGVpZ2h0fSArICN7cmVtLWNhbGMoMjIpfSk7XG5cdH1cbn1cblxuLy8gSGlkZSBQcm9maWxlIEltYWdlIGluIFRvcCBCYXIgb24gU21hbGwgRGV2aWNlc1xuQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcblx0Lm9mZi1jYW52YXMtd3JhcCAudGFiLWJhcntcblx0XHQuUHJvZmlsZVBob3Rve1xuXHRcdFx0ZGlzcGxheTogbm9uZTtcblx0XHR9XG5cdH1cbn1cblxuLy8gVXNlcm5hbWUgKHNpZ25lZGluKVxuLm9mZi1jYW52YXMtd3JhcHtcblx0LlVzZXJOYW1le1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDA7XG5cdFx0cmlnaHQ6ICR0YWJiYXItaGVpZ2h0ICsgJHByb2ZpbGUtc2l6ZSArIHJlbS1jYWxjKDIyKSArIHJlbS1jYWxjKDIyKTtcblx0fVxufVxuXG4vLyBSaWdodCB0YWItYmFyIG1lbnUgaXRlbXMgKHNpZ25lZG91dClcbi5vZmYtY2FudmFzLXdyYXB7XG5cdC5yaWdodC1tZW51LXNpZ25lZG91dHtcblx0XHR3aWR0aDogcmVtLWNhbGMoMjIwKTtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdC5oZWFkZXItbG9naW57XG5cdFx0XHRmbG9hdDogcmlnaHQ7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDYwKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQXZhdGFyIFBsYWNlaG9sZGVyXG4ub2ZmLWNhbnZhcy13cmFwe1xuXHQuYXZhdGFyLXBsYWNlaG9sZGVye1xuICAgIGhlaWdodDogJHByb2ZpbGUtc2l6ZTtcbiAgICB3aWR0aDogJHByb2ZpbGUtc2l6ZTtcblx0fVxuXHQucmlnaHQtbWVudS1zaWduZWRvdXR7XG5cdFx0YXtcblx0XHRcdCY6Zmlyc3Qtb2YtdHlwZXtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuXHRcdFx0fVxuXHRcdH1cblx0XHQucmlnaHQtc21hbGx7XG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xuXHRcdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0XHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXHRcdFx0Ym9yZGVyLWxlZnQtd2lkdGg6IDA7XG5cdFx0fVxuXHR9XG59XG4iLCIvLyBfc2lkZS1tZW51LnNjc3MgLS1wYXJ0aWFsc1xuLy8gU3R5bGVzIGZvciB0aGUgc2lkZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVGhpcyBmaWxlIGlzIGNhbGxlZCBpbiBmb3VuZGF0aW9uX2NvbXBvbmVudHMvX29mZmNhbnZhcy5zY3NzXG5cbi8vIE1lbnUgSGVhZGVyXG4ubGVmdC1vZmYtY2FudmFzLW1lbnUsIC5yaWdodC1vZmYtY2FudmFzLW1lbnV7XG5cdC5tZW51LXRvcC1iYXJ7XG5cdFx0aGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRsaW5lLWhlaWdodDogJHRhYmJhci1oZWlnaHQ7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG59XG5cbi8vIE1lbnUgQmFyIHRpdGxlXG4ubGVmdC1vZmYtY2FudmFzLW1lbnV7XG5cdC5tZW51LXRvcC1iYXItdGl0bGV7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNyk7XG5cdH1cbn1cbi5yaWdodC1vZmYtY2FudmFzLW1lbnV7XG5cdC5tZW51LXRvcC1iYXItdGl0bGV7XG5cdFx0dGV4dC1hbGlnbjogcmlnaHQ7XG5cdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzcpO1xuXHR9XG59XG5cbi8vIE1lbnUgY2xvc2UgYnV0dG9uXG4ubGVmdC1vZmYtY2FudmFzLW1lbnUsIC5yaWdodC1vZmYtY2FudmFzLW1lbnV7XG5cdC5tZW51LXRvcC1iYXItY2xvc2V7XG5cdFx0aGVpZ2h0OiAkdGFiYmFyLWhlaWdodDtcblx0XHR3aWR0aDogJHRhYmJhci1oZWlnaHQ7XG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogMDtcblx0XHRzcGFuLmV4aXQtb2ZmLWNhbnZhc3tcblx0XHRcdGJhY2tncm91bmQ6IG5vbmU7XG5cdFx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0XHRoZWlnaHQ6ICR0YWJiYXItaGVpZ2h0O1xuXHRcdFx0d2lkdGg6ICR0YWJiYXItaGVpZ2h0O1xuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0aW1ne1xuXHRcdFx0XHRcdG9wYWNpdHk6IDEuMDtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0aW1ne1xuXHRcdFx0XHRvcGFjaXR5OiAwLjY7XG5cdFx0XHRcdGhlaWdodDogcmVtLWNhbGMoMTgpO1xuXHRcdFx0XHR3aWR0aDogcmVtLWNhbGMoMTgpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuLnJpZ2h0LW9mZi1jYW52YXMtbWVudXtcblx0Lm1lbnUtdG9wLWJhci1jbG9zZXtcblx0XHRyaWdodDogaW5pdGlhbDtcblx0XHRsZWZ0OiAwO1xuXHR9XG59XG5cbi8vIE1lbnUgTGlzdCBJdGVtc1xuLmxlZnQtb2ZmLWNhbnZhcy1tZW51LCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51e1xuXHQub2ZmLWNhbnZhcy1saXN0e1xuXHRcdHBhZGRpbmc6IHJlbS1jYWxjKDQwIDApO1xuXHRcdGF7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblx0XHRcdHBhZGRpbmc6IHJlbS1jYWxjKDggMCA4IDM3KTtcblx0XHRcdGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICBzcGFue1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIH1cblx0XHR9XG5cdH1cbn1cbi5sZWZ0LW9mZi1jYW52YXMtbWVudXtcblx0Lm9mZi1jYW52YXMtbGlzdHtcblx0XHRhe1xuXHRcdFx0Jjpob3Zlcntcblx0XHRcdFx0Ym9yZGVyLWxlZnQ6IHJlbS1jYWxjKDIpIHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYygzNSk7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG4ucmlnaHQtb2ZmLWNhbnZhcy1tZW51e1xuXHQub2ZmLWNhbnZhcy1saXN0e1xuXHRcdGF7XG5cdFx0XHQmOmhvdmVye1xuXHRcdFx0XHRib3JkZXItcmlnaHQ6IHJlbS1jYWxjKDIpIHNvbGlkICR3aGl0ZTtcblx0XHRcdFx0cGFkZGluZy1yaWdodDogcmVtLWNhbGMoMzUpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG4vLyBNZW51IFNlcGVyYXRvclxuLmxlZnQtb2ZmLWNhbnZhcy1tZW51LCAucmlnaHQtb2ZmLWNhbnZhcy1tZW51e1xuXHQubWVudS1zZXBlcmF0b3J7XG5cdFx0d2lkdGg6IDkwJTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0XHRib3JkZXI6IDA7XG5cdH1cbn1cblxuLy8gRm9ydW0gU3RhdHMgU3R5bGVzXG4uRm9ydW1TdGF0c3tcblx0cGFkZGluZzogcmVtLWNhbGMoMzAgMCk7XG5cdGg0e1xuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzcpO1xuXHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRcdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblx0fVxuXHQuRlMtd3JhcHtcblx0XHRwYWRkaW5nOiByZW0tY2FsYygwIDM3KTtcblx0XHQuRlNCb3h7XG5cdFx0XHR3aWR0aDogMTAwJTtcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRcdGhlaWdodDogcmVtLWNhbGMoNDApO1xuXHRcdFx0LkZTVGl0bGUsIC5GU0NvdW50e1xuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0XHRcdHRvcDogMDtcblx0XHRcdFx0bGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcblx0XHRcdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0XHR9XG5cdFx0XHQuRlNUaXRsZXtcblxuXHRcdFx0fVxuXHRcdFx0LkZTQ291bnR7XG5cdFx0XHRcdHJpZ2h0OiAwO1xuXHRcdFx0XHR0ZXh0LWFsaWduOiByaWdodDtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuLy8gU29jaWFsIEljb25zXG4uc29jaWFsLWljb25ze1xuXHRwYWRkaW5nOiByZW0tY2FsYygzMCAwIDMwIDM3KTtcblx0YXtcblx0XHRwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG5cdFx0b3BhY2l0eTogMC4zO1xuXHRcdCY6aG92ZXJ7XG5cdFx0XHRvcGFjaXR5OiAxLjA7XG5cdFx0fVxuXHR9XG59XG5cbi8vIE1vYmlsZSBMb2dpblxuQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcblx0LnJpZ2h0LW1lbnUtc2lnbmVkb3V0IGF7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxufVxuQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuXHQub2ZmLWNhbnZhcy1saXN0e1xuXHRcdC5tb2JpbGUtbG9naW57XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuIiwiLy9cbi8vICMgVmlzaWJpbGl0eVxuLy9cbi8vIFZpc2liaWxpdHkgY2xhc3NlcyBsZXQgeW91IHNob3cgb3IgaGlkZSBlbGVtZW50cyBiYXNlZCBvbiBzY3JlZW4gc2l6ZSBvclxuLy8gZGV2aWNlIG9yaWVudGF0aW9uLiBZb3UgY2FuIHVzZSB2aXNpYmlsaXR5IGNsYXNzZXMgdG8gY29udHJvbCB3aGljaCBlbGVtZW50c1xuLy8gdXNlcnMgc2VlIGRlcGVuZGluZyBvbiB0aGVpciBicm93c2luZyBlbnZpcm9ubWVudC5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuLy8gVmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAkaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzO1xuXG4vLyBMaWJyYXJ5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQGltcG9ydCAnZm91bmRhdGlvbi9mb3VuZGF0aW9uL2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2YW5pbGxhLXZpc2libGl0eVwiKSB7XG5cbiAgLkhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG4iLCIvLyBGb3VuZGF0aW9uIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vL1xuLy8gRm91bmRhdGlvbiBWaXNpYmlsaXR5IENsYXNzZXNcbi8vXG4kaW5jbHVkZS1odG1sLXZpc2liaWxpdHktY2xhc3NlczogJGluY2x1ZGUtaHRtbC1jbGFzc2VzICFkZWZhdWx0O1xuJGluY2x1ZGUtYWNjZXNzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtdGFibGUtdmlzaWJpbGl0eS1jbGFzc2VzOiB0cnVlICFkZWZhdWx0O1xuJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlczogdHJ1ZSAhZGVmYXVsdDtcblxuLy9cbi8vIE1lZGlhIENsYXNzIE5hbWVzXG4vL1xuLy8gVmlzaWJpbGl0eSBCcmVha3BvaW50c1xuJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplczpcbiAgc21hbGwsXG4gIG1lZGl1bSxcbiAgbGFyZ2UsXG4gIHhsYXJnZSxcbiAgeHhsYXJnZTtcblxuJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzOlxuICB1bnF1b3RlKCRzbWFsbC11cCksXG4gIHVucXVvdGUoJG1lZGl1bS11cCksXG4gIHVucXVvdGUoJGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeGxhcmdlLXVwKSxcbiAgdW5xdW90ZSgkeHhsYXJnZS11cCk7XG5cbkBtaXhpbiB2aXNpYmlsaXR5LWxvb3Age1xuICBAZWFjaCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQgaW4gJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcyB7XG4gICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1ub25lLWxpc3Q6ICgpO1xuXG4gICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogKCk7XG5cbiAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogKCk7XG4gICAgJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3Q6ICgpO1xuICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiAoKTtcbiAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6ICgpO1xuXG4gICAgQGVhY2ggJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50IGluICR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMge1xuICAgICAgQGlmIGluZGV4KCR2aXNpYmlsaXR5LWJyZWFrcG9pbnQtc2l6ZXMsICR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludCkgPCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpIHtcbiAgICAgICAgLy8gU21hbGxlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSBpZiBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnQpID4gaW5kZXgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1zaXplcywgJGN1cnJlbnQtdmlzaWJpbGl0eS1icmVha3BvaW50KSB7XG4gICAgICAgIC8vIExhcmdlciB0aGFuIGN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGRlbi1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICcudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWhpZGRlbi1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cblxuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIEN1cnJlbnQgYnJlYWtwb2ludFxuXG4gICAgICAgICR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LWluaGVyaXQtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LW5vbmUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LW5vbmUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLmhpZGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXZpc2libGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXZpc2libGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAnLnZpc2libGUtZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAudmlzaWJsZS1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LWhpZGRlbi1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaGlkZGVuLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJy5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCAuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtaGVhZGVyLWdyb3VwLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAndGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCdcbiAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1yb3ctZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgJ3RyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1vbmx5LCB0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tdXAnXG4gICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICd0aC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tb25seSwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LW9ubHksIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS11cCwgdGQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LXVwJ1xuICAgICAgICApLCBjb21tYSk7XG5cbiAgICAgICAgLy8gRm91bmRhdGlvbiA0IGNvbXBhdGliaWxpdHk6XG4gICAgICAgIC8vIEluY2x1ZGUgLnNob3cvaGlkZS1mb3ItW3NpemVdIGFuZCAuc2hvdy9oaWRlLWZvci1bc2l6ZV0tZG93biBjbGFzc2VzXG4gICAgICAgIC8vIGZvciBzbWFsbCwgbWVkaXVtLCBhbmQgbGFyZ2UgYnJlYWtwb2ludHMgb25seVxuICAgICAgICBAaWYgJGluY2x1ZGUtbGVnYWN5LXZpc2liaWxpdHktY2xhc3NlcyBhbmQgaW5kZXgoKHNtYWxsLCBtZWRpdW0sIGxhcmdlKSwgJHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50KSAhPSBmYWxzZSB7XG4gICAgICAgICAgJHZpc2liaWxpdHktaW5oZXJpdC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktaW5oZXJpdC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktbm9uZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktbm9uZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdmlzaWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdmlzaWJsZS1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJy52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC52aXNpYmxlLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktaGlkZGVuLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS1oaWRkZW4tbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICcuaGlkZGVuLWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIC5oaWRkZW4tZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0YWJsZS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRhYmxlLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdDogYXBwZW5kKCR2aXNpYmlsaXR5LXRhYmxlLWhlYWRlci1ncm91cC1saXN0LCB1bnF1b3RlKFxuICAgICAgICAgICAgJ3RoZWFkLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fSwgdGhlYWQuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LWRvd24nXG4gICAgICAgICAgKSwgY29tbWEpO1xuICAgICAgICAgICR2aXNpYmlsaXR5LXRhYmxlLXJvdy1ncm91cC1saXN0OiBhcHBlbmQoJHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGJvZHkuc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0Ym9keS5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgICAgJHZpc2liaWxpdHktdGFibGUtcm93LWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1yb3ctbGlzdCwgdW5xdW90ZShcbiAgICAgICAgICAgICd0ci5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRyLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duJ1xuICAgICAgICAgICksIGNvbW1hKTtcbiAgICAgICAgICAkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3Q6IGFwcGVuZCgkdmlzaWJpbGl0eS10YWJsZS1jZWxsLWxpc3QsIHVucXVvdGUoXG4gICAgICAgICAgICAndGguc2hvdy1mb3ItI3skdmlzaWJpbGl0eS1jb21wYXJpc29uLWJyZWFrcG9pbnR9LCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0sIHRoLnNob3ctZm9yLSN7JHZpc2liaWxpdHktY29tcGFyaXNvbi1icmVha3BvaW50fS1kb3duLCB0ZC5zaG93LWZvci0jeyR2aXNpYmlsaXR5LWNvbXBhcmlzb24tYnJlYWtwb2ludH0tZG93bidcbiAgICAgICAgICApLCBjb21tYSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKiAjeyRjdXJyZW50LXZpc2liaWxpdHktYnJlYWtwb2ludH0gZGlzcGxheXMgKi9cbiAgICBAbWVkaWEgI3tudGgoJHZpc2liaWxpdHktYnJlYWtwb2ludC1xdWVyaWVzLCBpbmRleCgkdmlzaWJpbGl0eS1icmVha3BvaW50LXNpemVzLCAkY3VycmVudC12aXNpYmlsaXR5LWJyZWFrcG9pbnQpKX0ge1xuICAgICAgI3skdmlzaWJpbGl0eS1pbmhlcml0LWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgI3skdmlzaWJpbGl0eS1ub25lLWxpc3R9IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLWFjY2Vzc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdmlzaWJsZS1saXN0fSB7XG4gICAgICAgICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGUtb2ZmO1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktaGlkZGVuLWxpc3R9IHtcbiAgICAgICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGlmICRpbmNsdWRlLXRhYmxlLXZpc2liaWxpdHktY2xhc3NlcyAhPSBmYWxzZSB7XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgI3skdmlzaWJpbGl0eS10YWJsZS1oZWFkZXItZ3JvdXAtbGlzdH0ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtcm93LWdyb3VwLWxpc3R9IHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAjeyR2aXNpYmlsaXR5LXRhYmxlLXJvdy1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtcm93O1xuICAgICAgICB9XG4gICAgICAgICN7JHZpc2liaWxpdHktdGFibGUtY2VsbC1saXN0fSB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGV4cG9ydHMoXCJ2aXNpYmlsaXR5XCIpe1xuICBAaWYgJGluY2x1ZGUtaHRtbC12aXNpYmlsaXR5LWNsYXNzZXMgIT0gZmFsc2Uge1xuXG4gIEBpbmNsdWRlIHZpc2liaWxpdHktbG9vcDtcblxuICAvKiBPcmllbnRhdGlvbiB0YXJnZXRpbmcgKi9cbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICB0YWJsZSB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0aGVhZCB7XG4gICAgJi5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgJi5zaG93LWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gIH1cbiAgdGJvZHkge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB9XG4gIHRyIHtcbiAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAmLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgfVxuICB0ZCxcbiAgdGgge1xuICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgICYuc2hvdy1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRsYW5kc2NhcGV9IHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAvKiBTcGVjaWZpYyB2aXNpYmlsaXR5IGZvciB0YWJsZXMgKi9cbiAgICB0YWJsZSB7XG4gICAgICAmLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAgICYuaGlkZS1mb3ItcG9ydHJhaXQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRoZWFkIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRib2R5IHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRyIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgfVxuICAgIHRkLFxuICAgIHRoIHtcbiAgICAgICYuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgICAgJi5oaWRlLWZvci1wb3J0cmFpdCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBtZWRpYSAjeyRwb3J0cmFpdH0ge1xuICAgIC5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0LFxuICAgIC5zaG93LWZvci1sYW5kc2NhcGUgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIC8qIFNwZWNpZmljIHZpc2liaWxpdHkgZm9yIHRhYmxlcyAqL1xuICAgIHRhYmxlIHtcbiAgICAgICYuc2hvdy1mb3ItcG9ydHJhaXQsXG4gICAgICAmLmhpZGUtZm9yLWxhbmRzY2FwZSB7IGRpc3BsYXk6IHRhYmxlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGhlYWQge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGJvZHkge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdHIge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtcm93ICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gICAgdGQsXG4gICAgdGgge1xuICAgICAgJi5zaG93LWZvci1wb3J0cmFpdCxcbiAgICAgICYuaGlkZS1mb3ItbGFuZHNjYXBlIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgLyogVG91Y2gtZW5hYmxlZCBkZXZpY2UgdGFyZ2V0aW5nICovXG4gIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAudG91Y2ggLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgLyogU3BlY2lmaWMgdmlzaWJpbGl0eSBmb3IgdGFibGVzICovXG4gIHRhYmxlLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGFibGUuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgLnRvdWNoIHRoZWFkLnNob3ctZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuaGlkZS1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGJvZHkuc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0ci5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ci5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLmhpZGUtZm9yLXRvdWNoIHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIC50b3VjaCB0ZC5zaG93LWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICB0aC5oaWRlLWZvci10b3VjaCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICAudG91Y2ggdGguc2hvdy1mb3ItdG91Y2ggeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAvKiBTY3JlZW4gcmVhZGVyLXNwZWNpZmljIGNsYXNzZXMgKi9cbiAgLnNob3ctZm9yLXNyIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgQGluY2x1ZGUgZWxlbWVudC1pbnZpc2libGU7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvKiBQcmludCB2aXNpYmlsaXR5ICovXG4gIEBpZiAkaW5jbHVkZS1wcmludC1zdHlsZXMge1xuICAgIC5wcmludC1vbmx5LFxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAucHJpbnQtb25seSxcbiAgICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5oaWRlLW9uLXByaW50LFxuICAgICAgLmhpZGUtZm9yLXByaW50IHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbiAgICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdGJvZHkuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3ctZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICAgIHRoLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG4gIH1cbn1cbiIsIi8vXG4vLyAjIEF2YXRhcnNcbi8vXG4vLyBBdmF0YXJzIGFyZSB1c2VkIHRocm91Z2hvdXQgVmFuaWxsYSB0byBpZGVudGlmeSB1c2VycyB3aGVuZXZlciB0aGV5IHBvc3Rcbi8vIGRpc2N1c3Npb25zLCB3cml0ZSBjb21tZW50cywgc2hhcmUgdGhpbmdzIG9uIHRoZWlyIHdhbGxzLCBlYXJuIGJhZGdlcywgYW5kXG4vLyBtdWNoLCBtdWNoIG1vcmUuXG4vL1xuLy8gVGhpcyBwYXJ0aWFsIHNldHMgdXAgYSBiYXNlbGluZSBzaXplIGZvciBwcm9maWxlIHBob3RvcyAoYmFzZSBsaW5lLWhlaWdodCBpblxuLy8gcGl4ZWxzLCBtdWx0aXBsZWQgYnkgMikgYW5kIG5vdGhpbmcgbW9yZS5cbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuXG4vLyBWYXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9maWxlLXBob3RvLWRlZmF1bHQtc2l6ZTogZmxvb3IoJHJlbS1iYXNlICogJHBhcmFncmFwaC1saW5lLWhlaWdodCkgKiAyICFkZWZhdWx0O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBleHBvcnRzKFwidmFuaWxsYS1hdmF0YXJzXCIpIHtcblxuICAuUHJvZmlsZVBob3RvLFxuICAuUHJvZmlsZVBob3RvTWVkaXVtIHtcbiAgICB3aWR0aDogJHByb2ZpbGUtcGhvdG8tZGVmYXVsdC1zaXplO1xuICAgIGhlaWdodDogJHByb2ZpbGUtcGhvdG8tZGVmYXVsdC1zaXplO1xuICB9XG5cbiAgLy8gQXZhdGFyIFBvc3QgU3R5bGVzXG4gIC5BY3Rpdml0aWVzLFxuICAuQ29udmVyc2F0aW9ucyxcbiAgLkRpc2N1c3Npb257XG4gICAgLkF1dGhvcntcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgICBhLCBpbWd7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgaW1ne1xuICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLkF1dGhvciAuUGhvdG9XcmFwe1xuICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICB9XG59XG4iLCIvL1xuLy8gIyBEaXNjdXNzaW9uXG4vL1xuLy8gQmFzaWMgZGlzY3Vzc2lvbiBpdGVtIHN0eWxpbmcuXG4vL1xuLy8gTm8gc3R5bGVndWlkZSByZWZlcmVuY2UuXG5cblxuQGluY2x1ZGUgZXhwb3J0cyhcInZhbmlsbGEtZGlzY3Vzc2lvblwiKSB7XG5cbiAgLy8gUGFnZSBUaXRsZXNcbiAgLmlzLWNvbnRlbnR7XG4gICAgaDF7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDI1KTtcbiAgICAgIH1cbiAgICAgICYuSCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gRml4IHNwYWNpbmcgZm9yIG9mZmljaWFsIHBvc3RzIGJnXG4gIC5JdGVtRGlzY3Vzc2lvbntcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLy8gTGluayBUYWdzXG4gIGF7XG4gICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICB9XG5cbiAgLy8gU3R5bGUgRW1wdHkgY2xhc3Mgc3R5bGVzXG4gIC5FbXB0eXtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBEZXNjcmlwdGlvbiBzdHlsZXNcbiAgLlBhZ2VEZXNjcmlwdGlvbntcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoNSAxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYyg1IDI1KTtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNjdXNzaW9uIE1ldGEgU3BhY2luZ1xuICAuRGlzY3Vzc2lvbnMgLk1ldGF7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzY3Vzc2lvbnMvQ2F0ZWdvcnkgbGF5b3V0XG4gIC5EaXNjdXNzaW9ucywgLkNhdGVnb3J5TGlzdHtcbiAgICAuTWV0YXtcbiAgICAgIC5UYWc6Zmlyc3QtY2hpbGR7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIC5IYXNOZXd7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICB9XG4gICAgfVxuICAgIC5JdGVte1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBkaXYuVGl0bGUsIC5UaXRsZVdyYXB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tb25seX17XG4gICAgICAgICAgd2lkdGg6IDU1JTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgICBAbWVkaWEgI3skbGFyZ2UtdXB9e1xuICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgIH1cbiAgICAgICAgYXtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5NSXRlbXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgICYuTGFzdENvbW1lbnRCeXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgICAmLkNhdGVnb3J5LFxuICAgICAgICAmLkxhc3REaXNjdXNzaW9uVGl0bGUsXG4gICAgICAgICYuTGFzdENvbW1lbnRCeXtcbiAgICAgICAgICBhe1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIEZpeCBDb21tZW50Q291bnQgSWNvbiBTcGFjaW5nIG9uIE1vYmlsZVxuICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgIC5EaXNjdXNzaW9uc3tcbiAgICAgIC5NZXRhLCAuT3B0aW9uc3tcbiAgICAgICAgLkNvbW1lbnRDb3VudC5NSXRlbXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLk1ldGEgLkNvbW1lbnRDb3VudC5NSXRlbXtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0yNSk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTUpO1xuICAgICAgfVxuICAgIH1cbiAgICAuQ2F0ZWdvcnlMaXN0e1xuICAgICAgLk1ldGEsIC5PcHRpb25ze1xuICAgICAgICAuQ29tbWVudENvdW50Lk1JdGVte1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5NZXRhIC5Db21tZW50Q291bnQuTUl0ZW17XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygtMzApO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDcwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBBZGQgaWNvbnMgdG8gRGlzY3Vzc2lvbiBpdGVtc1xuICAuRGlzY3Vzc2lvbnMsIC5DYXRlZ29yeUxpc3R7XG4gICAgLk1ldGEsIC5PcHRpb25ze1xuICAgICAgLlZpZXdDb3VudCxcbiAgICAgIC5Db21tZW50Q291bnQsXG4gICAgICAuRGlzY3Vzc2lvbkNvdW50e1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLlZpZXdDb3VudHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygxOCk7XG4gICAgICAgIC5OdW1iZXJ7XG4gICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuRGlzY3Vzc2lvbkNvdW50e1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgIC5WaWV3Q291bnQsXG4gICAgICAuRGlzY3Vzc2lvbkNvdW50e1xuICAgICAgICByaWdodDogcmVtLWNhbGMoMTMwKTtcbiAgICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuQ29tbWVudENvdW50e1xuICAgICAgICByaWdodDogcmVtLWNhbGMoNjApO1xuICAgICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICAgICYuSXRlbXtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVhY2ggJGljb25DbGFzcywgJGljb25OYW1lIGluXG4gICAgICAgIChEaXNjdXNzaW9uQ291bnQsIGRpc2N1c3Npb25zKSxcbiAgICAgICAgKFZpZXdDb3VudCwgICAgICAgdmlld3MtaWNvbiksXG4gICAgICAgIChDb21tZW50Q291bnQsICAgIGNvbW1lbnQtZGFyayksXG4gICAgICAgIChPcHRpb25zVGl0bGUsICAgIG9wdGlvbnMpXG4gICAgICAgIHtcbiAgICAgICAgJiBzcGFuLiN7JGljb25DbGFzc317XG4gICAgICAgICAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY29ucy9mb3J1bS4jeyRpY29uTmFtZX0uc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgICAgICY6aG92ZXIsICYuQWN0aXZlLCAmLkFjdGl2ZTpob3ZlcntcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvaWNvbnMvZm9ydW0uI3skaWNvbk5hbWV9LmFjdGl2ZS5zdmcpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDYXRlZ29yeSBNZXRhIHNwYWNpbmdcbi5TZWN0aW9uLUNhdGVnb3J5TGlzdHtcbiAgLk1ldGF7XG4gICAgLkNvbW1lbnRDb3VudHtcbiAgICAgIHRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgICAuRGlzY3Vzc2lvbkNvdW50e1xuICAgICAgdG9wOiByZW0tY2FsYygyOCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgfVxuICB9XG59XG5cbi8vIERpc2N1c3Npb24gT3B0aW9uIE51bWJlcnMgU3BhY2luZ1xuLlNlY3Rpb24tRGlzY3Vzc2lvbkxpc3R7XG4gIC5NZXRhe1xuICAgIC5WaWV3Q291bnQgLk51bWJlcntcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICB9XG4gICAgLkNvbW1lbnRDb3VudCAuTnVtYmVye1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBXcmFwIGxvbmcgbWV0YSBjb250ZW50XG4uTWV0YXtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgfVxuICBAbWVkaWEgI3skbGFyZ2UtdXB9IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gIH1cbiAgLkxhc3REaXNjdXNzaW9uVGl0bGUsIC5MYXN0Q29tbWVudEJ5e1xuICAgIGF7XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgQG1lZGlhICN7JGxhcmdlLXVwfXtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay1hbGw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5MYXN0Q29tbWVudERhdGV7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG4vLyBBZGRzIGV4dHJhIHNwYWNlIGZvciB0aGUgQWRtaW4gQ2hlY2tib3hcbi5NZXRhLURpc2N1c3Npb257XG4gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEyNSk7XG4gIH1cbn1cblxuLy8gRml4IFJTUyBCdXR0b24gb24gTW9iaWxlXG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAuU2VjdGlvbi1DYXRlZ29yeUxpc3R7XG4gICAgLkNvbW1lbnRDb3VudHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgIC5SU1N7XG4gICAgICB6LWluZGV4OiA5OTk5O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vICMgTGlzdGluZ3Ncbi8vXG4vLyBObyBzdHlsZWd1aWRlIHJlZmVyZW5jZS5cblxuXG4vLyAjIyBMaXN0c1xuXG4uRGF0YUxpc3Qge1xuICBtYXJnaW46IDAgMCAkaHItbWFyZ2luO1xuICBsaXN0LXN0eWxlOiBub25lO1xuXG4gIC5JdGVtIHtcbiAgICBwYWRkaW5nOiAkaHItbWFyZ2luIDA7XG4gICAgYm9yZGVyLWNvbG9yOiAkaHItYm9yZGVyLWNvbG9yO1xuICAgIGJvcmRlci1zdHlsZTogJGhyLWJvcmRlci1zdHlsZTtcbiAgICBib3JkZXItd2lkdGg6ICRoci1ib3JkZXItd2lkdGggMDtcbiAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICsgLkl0ZW0ge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuXG4uRGF0YUxpc3QuQWN0aXZpdHlDb21tZW50cyB7XG4gIHBhZGRpbmctbGVmdDogJHByb2ZpbGUtcGhvdG8tZGVmYXVsdC1zaXplO1xuICBtYXJnaW46ICRoci1tYXJnaW4gMCAwIDFlbTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gIyMgVGFibGVzXG5cbi5EYXRhVGFibGUge31cbiIsIi8vIF9kaXNjdXNzaW9uLWhlYWRlci5zY3NzIC0gcGFydGlhbHMvdmFuaWxsYV9jb21wb25lbnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gUGFnZSBUaXRsZSBMYXlvdXRcbi5EaXNjdXNzaW9ue1xuICAuUGFnZVRpdGxle1xuICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDc1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICBoMXtcbiAgICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgfVxuICAgIC5PcHRpb25ze1xuICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgfVxuICB9XG59XG4uVGl0bGUgYSwgLlRpdGxlV3JhcCBhe1xuICBtYXgtd2lkdGg6IDc1JTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxufVxuLlRpdGxlV3JhcCBhe1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gIEBtZWRpYSAjeyRzbWFsbC1vbmx5fXtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4vLyBSZWFkL1VucmVhZCBTdGF0ZXNcbi5JdGVte1xuICAmLlJlYWR7IGJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjA3NSk7IH1cbiAgJi5DaGVja2VkeyBiYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC4xKTsgfVxuICAmOmhvdmVyeyBiYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yKTsgfVxufVxuXG4vLyBEaXNjdXNzaW9uIEhlYWRlciBVc2VybmFtZVxuLmlzLWNvbnRlbnR7XG4gIC5JdGVtRGlzY3Vzc2lvbntcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxuICAuRGlzY3Vzc2lvbiwgLkNvbW1lbnR7XG4gICAgLkF1dGhvcntcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIC5Vc2VybmFtZXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIERpc2N1c3Npb24gSGVhZGVyXG4uRGlzY3Vzc2lvbkhlYWRlcntcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gIH1cbn1cblxuLy8gQ29tbWVudCBIZWFkZXJcbi5Db21tZW50SGVhZGVye1xuICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gIH1cbn1cbi5EaXNjdXNzaW9uSGVhZGVyLCAuQ29tbWVudEhlYWRlcntcbiAgLkF1dGhvckluZm97XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG4gIC5NSXRlbXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIG1hcmdpbjogMDtcbiAgICAmLkNhdGVnb3J5IGF7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICAgICYuUm9sZVRpdGxlLCAmLkNhdGVnb3J5LCAuRGF0ZVVwZGF0ZWR7XG4gICAgICAmOmJlZm9yZXtcbiAgICAgICAgY29udGVudDogJ1xcMjAyMic7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLkRpc2N1c3Npb25NZXRhe1xuICAgIC5EYXRlQ3JlYXRlZCB0aW1le1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBZGQgSWNvbnMgdG8gaGVhZGVyXG4uRGlzY3Vzc2lvbntcbiAgLlBhZ2VUaXRsZSwgLkNvbW1lbnR7XG4gICAgLk9wdGlvbnN7XG4gICAgICBzcGFuLk9wdGlvbnNUaXRsZXtcbiAgICAgICAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY29ucy9mb3J1bS5vcHRpb25zLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgICAgJjpob3ZlciwgJi5BY3RpdmUsICYuQWN0aXZlOmhvdmVye1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChpbWFnZXMvaWNvbnMvZm9ydW0ub3B0aW9ucy5hY3RpdmUuc3ZnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLkJvb2ttYXJre1xuICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ljb25zL2ZvcnVtLmJvb2ttYXJrLW1haW4uc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgICAmOmhvdmVyLCAmLkFjdGl2ZSwgJi5BY3RpdmU6aG92ZXIsICYuQm9va21hcmtlZHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2ljb25zL2ZvcnVtLmJvb2ttYXJrLmFjdGl2ZS5zdmcpO1xuICAgICAgICB9XG4gICAgICAgICYuQm9va21hcmtlZDpob3ZlcntcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2ljb24vZm9ydW0uYm9va21hcmstbWFpbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRml4IHNwYWNlIGluIGNvbW1lbnQgaGVhZGVyXG4uRGlzY3Vzc2lvbntcbiAgLkRhdGFMaXN0IC5JdGVte1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8gQWRkIElQIEFkZHJlc3Mgc3BhY2luZ1xuLkNvbW1lbnRIZWFkZXJ7XG4gIC5NSXRlbXtcbiAgICAmLklQQWRkcmVzc3tcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCA1KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRml4IE9wdGlvbnMgU3BhY2luZ1xuLkNvbW1lbnR7XG4gIC5PcHRpb25ze1xuICAgIHRvcDogcmVtLWNhbGMoNjApO1xuICB9XG59XG5cbi8vIERpc2N1c3Npb24gSGVhZGVyIFdhcm5pbmcgTWVzc2FnZVxuLk1lc3NhZ2VMaXN0e1xuICAuV2FybmluZ3tcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTApO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyNSk7XG4gICAgfVxuICB9XG59XG5cbi8vIEZvb3RlciBTcGFjaW5nXG4uRm9vdHtcbiAgcGFkZGluZzogcmVtLWNhbGMoMCAxMCk7XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygwIDI1KTtcbiAgfVxufVxuXG4vLyBDb21tZW50IE1ldGEgUGFkZGluZyBvbiBTbWFsbCBEZXZpY2VzXG5AbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAuQ29tbWVudEhlYWRlciwgLkRpc2N1c3Npb25IZWFkZXJ7XG4gICAgLkNvbW1lbnRNZXRhLCAuRGlzY3Vzc2lvbk1ldGF7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gX2Rpc2N1c3Npb24tYm9keS5zY3NzIC0gcGFydGlhbHMvdmFuaWxsYV9jb21wb25lbnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIE1lc3NhZ2VzIFNlY3Rpb25cbi5EaXNjdXNzaW9ue1xuICAuSXRlbS1Cb2R5e1xuICAgIC5NZXNzYWdlLCAuVXNlclNpZ25hdHVyZXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDg1KTtcbiAgICAgIH1cbiAgICAgIGgxe1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgICAgbGl7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgYXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUHJlIHRhZyBzdHlsZXNcbnByZXtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjUpO1xuICBvdmVyZmxvdzogYXV0bztcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiBwcmU7XG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE1KTtcbiAgbWFyZ2luOiByZW0tY2FsYygyNSAwKTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG59XG5cbi8vIFF1b3RlIEFub3RoZXIgTWVtYmVyXG4uUXVvdGVBdXRob3J7XG4gIGF7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgfVxufVxuXG4vLyBJdGFsaWNzXG4uTWVzc2FnZXtcbiAgaXsgZm9udC1zdHlsZTogaXRhbGljOyB9XG59XG5cbi8vIFVwbG9hZCBib3ggaXRlbS1ib2R5XG4uZWRpdG9yLXVwbG9hZC1zYXZlZHtcbiAgbWFyZ2luOiByZW0tY2FsYygwIDY1KTtcbn1cblxuLy8gVXBsb2FkIGJveCBuZXcgY29tbWVudFxuLmVkaXRvci11cGxvYWQtcHJldmlld3N7XG4gIG1hcmdpbjogcmVtLWNhbGMoMCAwIDgpO1xuICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KTtcbiAgLmVkaXRvci1maWxlLXByZXZpZXd7XG4gICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIC5lZGl0b3ItZmlsZS1yZW1vdmU6YWZ0ZXJ7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgfVxuICB9XG59XG5cbi8vIFNwb2lsZXJcbmRpdi5Vc2VyU3BvaWxlcntcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDE1KTtcbiAgLlNwb2lsZXJUaXRsZXtcbiAgICAmLCAuU3BvaWxlclRvZ2dsZXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuICAgIC5TcG9pbGVyVG9nZ2xle1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDEwIDcpO1xuICAgIH1cbiAgfVxuICBkaXYuU3BvaWxlclRleHR7XG4gICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBCbG9ja3F1b3RlXG5ibG9ja3F1b3RlLlF1b3RlLFxuYmxvY2txdW90ZXtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZDtcbiAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG59XG5cbi8vIENvZGVcbmNvZGUuQ29kZUlubGluZXtcbiAgYm9yZGVyOiBub25lO1xufVxuXG4vLyBSZWFjdGlvbnNcbi5SZWFjdGlvbnN7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiByZW0tY2FsYygwIDEwIDI1KTtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCA4NSAyNSk7XG4gIH1cbiAgYXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgLlJlYWN0UXVvdGV7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ljb25zL3F1b3RlLmZvcnVtLnN2Zykgbm8tcmVwZWF0IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEzKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxMyk7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gICAgfVxuICAgICYuUXVvdGV7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg4NSk7XG4gICAgICAmOmhvdmVye1xuICAgICAgICAuUmVhY3RRdW90ZXtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2ljb25zL3F1b3RlLmZvcnVtLmFjdGl2ZS5zdmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5Db21tZW50RmxhZ3tcbiAgICAuRmxhZ0NvbnRlbnR7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICY6YmVmb3Jle1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMyk7XG4gICAgICAgIGJhY2tncm91bmQ6IHVybChpbWFnZXMvaWNvbnMvZm9ydW0uZmxhZy5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAuM3MgZWFzZTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXI6YmVmb3Jle1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoaW1hZ2VzL2ljb25zL2ZvcnVtLmZsYWcuYWN0aXZlLnN2Zyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIENvbW1lbnRzXG4uQ29tbWVudEhlYWRpbmd7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDEwKTtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDg1KTtcbiAgfVxufVxuXG4vLyBFeHRyYSBCb3R0b20gUGFkZGluZyBQcm9maWxlID4gRGlzY3Vzc2lvbnNcbi5Qcm9maWxlLmRpc2N1c3Npb25ze1xuICAuRGF0YUxpc3QuRGlzY3Vzc2lvbnN7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgfVxufVxuIiwiLy8gX29ubGluZS5zY3NzIC0gcGFydGlhbHMvdmFuaWxsYV9jb21wb25lbnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi5vbmxpbmVOb3d7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDEwKTtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgfVxuICBoNHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzQpO1xuICB9XG4gIC5QYW5lbEluZm97XG4gICAgbGl7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBhe1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg3IDAgMyk7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9uZXctZGlzY3Vzc2lvbi5zY3NzIC0gcGFydGlhbHMvdmFuaWxsYV9jb21wb25lbnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi5EaXNjdXNzaW9uRm9ybXtcbiAgLkJ1dHRvbnN7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICB9XG4gIC5Qe1xuICAgIGxhYmVse1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICB9XG4gICAgc2VsZWN0IG9wdGlvbntcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICB9XG4gICAgLlRleHRCb3hXcmFwcGVye1xuICAgICAgLklucHV0Qm94e1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICB9XG4gICAgICB0ZXh0YXJlYXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5JbmxpbmV7XG4gICAgICBsaXtcbiAgICAgICAgYntcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgIH1cbiAgICAgICAgLlJhZGlvTGFiZWx7XG4gICAgICAgICAgJiwgJiBie1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLlBvc3RPcHRpb25ze1xuICAgICAgYjpmaXJzdC1jaGlsZHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAuSW5saW5le1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbGl7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgIGlucHV0e1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9nZW5lcmFsLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBPbGQgUG9zdCBXYXJuaW5nIE1lc3NhZ2VcbiNPbGRQb3N0c3tcblx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCk7XG5cdGlucHV0W3R5cGU9Y2hlY2tib3hde1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIpO1xuXHR9XG59XG5cbi8vIEZpeCB3aWR0aCBmb3IgZmx5b3V0IG9wdGlvbnMgbWVudVxuLkZseW91dE1lbnUsIC5NZW51SXRlbXN7XG5cdG1pbi13aWR0aDogcmVtLWNhbGMoMTQ1KTtcbn1cblxuLk5vdGUuU2lnbkluT3JSZWdpc3Rlcntcblx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI1KTtcblx0YXtcblx0XHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHR9XG59XG4iLCIvLyBfb3B0aW9uc01lbnUuc2NzcyAtLXBhcnRpYWxzXG4vLyBTdHlsZXMgZm9yIHRoZSBkaXNjdXNzaW9uIG9wdGlvbnMgbWVudSBmbHlvdXQuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUaGlzIGZpbGUgaXMgY2FsbGVkIGluIF9iYXNlLnNjc3NcblxuXG4vLyBQb3NpdGlvbiB0aGUgZmx5b3V0IGJveFxuLk9wdGlvbnNNZW51e1xuICAuTWVudUl0ZW1ze1xuICAgIGxlZnQ6IHJlbS1jYWxjKC02MCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogcmVtLWNhbGMoMik7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkanVzdCB0aGUgZmx5b3V0IGhhbmRsZVxuLk9wdGlvbnNNZW51e1xuICAuRmx5b3V0OmJlZm9yZSxcbiAgLkZseW91dDphZnRlcntcbiAgICBsZWZ0OiByZW0tY2FsYyg3Mik7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbGVmdDogcmVtLWNhbGMoOSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvc2l0aW9uIHRoZSBPcHRpb25zIHNwYW5cbi5PcHRpb25ze1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogcmVtLWNhbGMoMjApO1xuICByaWdodDogMDtcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgdG9wOiByZW0tY2FsYyg1NSk7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDQ1KTtcbiAgfVxuICAuT3B0aW9uc1RpdGxle1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxufVxuXG4vLyBTZWN0aW9uIERpc2N1c3Npb24gT3B0aW9ucyBTcGFjaW5nXG4uU2VjdGlvbi1EaXNjdXNzaW9ue1xuICAuT3B0aW9uc3tcbiAgICByaWdodDogcmVtLWNhbGMoMTApO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIC5PcHRpb25zVGl0bGV7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG4gICAgLk9wdGlvbnNNZW51e1xuICAgICAgLk1lbnVJdGVtc3tcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoLTczKTtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC05KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDYXRlZ29yeSBPcHRpb25zIFNwYWNpbmdcbi5TZWN0aW9uLUNhdGVnb3J5TGlzdHtcbiAgLk9wdGlvbnN7XG4gICAgcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICByaWdodDogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxufVxuXG4vLyBEaXNjdXNzaW9uIExpc3QgTW9iaWxlIFNwYWNpbmdcbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gIC5TZWN0aW9uLURpc2N1c3Npb25MaXN0e1xuICAgIC5PcHRpb25zIC5NZW51SXRlbXN7XG4gICAgICBsZWZ0OiByZW0tY2FsYygtMTAwKTtcbiAgICB9XG4gICAgLkZseW91dDpiZWZvcmUsXG4gICAgLkZseW91dDphZnRlcntcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKDExMik7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkZCBCb29rbWFyayBpY29uc1xuLkl0ZW1EaXNjdXNzaW9ue1xuICAuT3B0aW9uc3tcbiAgICAuQm9va21hcmt7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2ljb25zL2ZvcnVtLmJvb2ttYXJrLW1haW4uc3ZnKSBuby1yZXBlYXQgY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIC4zcyBlYXNlO1xuICAgICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmOmhvdmVyLCAmLkFjdGl2ZSwgJi5BY3RpdmU6aG92ZXIsICYuQm9va21hcmtlZHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9pY29ucy9mb3J1bS5ib29rbWFyay5hY3RpdmUuc3ZnKTtcbiAgICAgIH1cbiAgICAgICYuQm9va21hcmtlZDpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9pY29ucy9mb3J1bS5ib29rbWFyay1tYWluLnN2Zyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4vLyBTaG93L0hpZGUgaWNvbnNcbi5JdGVtRGlzY3Vzc2lvbntcbiAgLkFkbWluQ2hlY2t7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbiAgJjpob3ZlcntcbiAgICAuT3B0aW9uc3tcbiAgICAgIC5Cb29rbWFya3tcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICAuQWRtaW5DaGVja3tcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxufVxuIiwiLy8gX3N1Yi1oZWFkZXIuc2NzcyAtLXBhcnRpYWxzXG4vLyBTdHlsZXMgZm9yIHRoZSBzdWItaGVhZGVyIHNlY3Rpb24uXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUaGlzIGZpbGUgaXMgY2FsbGVkIGluIF9iYXNlLnNjc3NcblxuXG4kc2VhcmNoLXdpZHRoOiByZW0tY2FsYyg3MDApO1xuJHNlYXJjaC1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiRzZWFyY2gtYnV0dG9uLXdpZHRoOiByZW0tY2FsYyg2MCk7XG4kc2VhcmNoLWJhci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG5cblxuLy8gU3ViaGVhZGVyIGxheW91dCBhbmQgYmFja2dyb3VuZFxuLnN1Yi1oZWFkZXJ7XG5cdGJhY2tncm91bmQ6IHVybChpbWFnZXMvZ2VuZXJpYy1zdWJoZWFkZXItYmcuanBnKSBuby1yZXBlYXQgY2VudGVyO1xuXHRoZWlnaHQ6IHJlbS1jYWxjKDE0OCk7XG5cdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuXG4vLyBTZWFyY2ggYnV0dG9uIHN0eWxpbmdcbi5iaWctc2VhcmNoe1xuXHR3aWR0aDogJHNlYXJjaC13aWR0aDtcblx0aGVpZ2h0OiAkc2VhcmNoLWhlaWdodDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR0b3A6IGNhbGMoNDguNSUgLSAjeyRzZWFyY2gtaGVpZ2h0fSAvIDIpO1xuXHRsZWZ0OiBjYWxjKDUwJSAtICN7JHNlYXJjaC13aWR0aH0gLyAyKTtcblx0bWFyZ2luOiAwIGF1dG87XG5cdGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuXHRib3JkZXI6IDJweCBzb2xpZDtcblx0Ym9yZGVyLXJhZGl1czogJHNlYXJjaC1iYXItcmFkaXVzO1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdEBtZWRpYSAjeyRzbWFsbC1vbmx5fXtcblx0XHRsZWZ0OiAwO1xuXHR9XG5cdC5JbnB1dEJveCwgLkJ1dHRvbntcblx0XHRoZWlnaHQ6ICRzZWFyY2gtaGVpZ2h0O1xuXHR9XG5cdC5JbnB1dEJveHtcblx0XHR3aWR0aDogY2FsYygjeyRzZWFyY2gtd2lkdGh9IC0gI3skc2VhcmNoLWJ1dHRvbi13aWR0aH0pO1xuXHRcdG1heC13aWR0aDogMTAwJTtcblx0XHRsZWZ0OiAwO1xuXHRcdHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuXHRcdGJvcmRlci13aWR0aDogMDtcblx0XHRib3JkZXItcmFkaXVzOiAkc2VhcmNoLWJhci1yYWRpdXMgMCAwICRzZWFyY2gtYmFyLXJhZGl1cztcblx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuXHR9XG5cdC5CdXR0b257XG5cdFx0d2lkdGg6ICRzZWFyY2gtYnV0dG9uLXdpZHRoIDtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0cmlnaHQ6IDA7XG5cdFx0dG9wOiAwO1xuXHRcdGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG5cdFx0Ym9yZGVyLXJhZGl1czogMCAkc2VhcmNoLWJhci1yYWRpdXMgJHNlYXJjaC1iYXItcmFkaXVzIDA7XG5cdFx0cGFkZGluZzogMDtcblx0XHRib3gtc2hhZG93OiBub25lO1xuXHR9XG59XG4iLCIvLyBfbWFpbi1jb250ZW50LnNjc3MgLS1wYXJ0aWFsc1xuLy8gTGF5b3V0IGFuZCBiYXNlIGJhY2tncm91bmQgY29sb3JzIGZvciB0aGUgbWFpbiBjb250ZW50IGluY2x1ZGluZ1xuLy8gcGFnZS1jb250ZW50IGFuZCBwYWdlLXNpZGViYXIuXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG4vLyBUaGlzIGZpbGUgaXMgY2FsbGVkIGluIF9iYXNlLnNjc3NcblxuXG4vLyBNYWluIENvbnRlbnQgaXRlbXMgd3JhcHBlclxuLmlzLWNvbnRlbnQsIC5Cb3hGaWx0ZXIsIC5Cb3hCdXR0b25zLCAuQm94Q2F0ZWdvcmllcywgLkJveHtcblx0Ym94LXNoYWRvdzogMHB4IDJweCAwcHggMHB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuXHRiYWNrZ3JvdW5kOiAkc2Vhc2hlbGw7XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMik7XG59XG5cbi5TZWFyY2ggLmlzLWNvbnRlbnR7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4iLCIvLyBfZm9vdGVyLnNjc3MgLS1wYXJ0aWFsc1xuLy8gU3R5bGVzIGZvciB0aGUgZ2xvYmFsIGZvb3Rlci5cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cbi8vIFRoaXMgZmlsZSBpcyBjYWxsZWQgaW4gX2Jhc2Uuc2Nzc1xuXG5cbiRmb290ZXItbGlua3MtaGVpZ2h0OiByZW0tY2FsYygxMDApO1xuJGZvb3Rlci1tYWluLWhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiRmb290ZXItY3AtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4kZmxvZ28taGVpZ2h0OiByZW0tY2FsYyg5MikgLyAxLjU7XG4kZmxvZ28td2lkdGg6IHJlbS1jYWxjKDIxMikgLyAxLjU7XG5cblxuXG5cbi8vIEdlbmVyYWwgZm9vdGVyIGxheW91dCBzdHVmZlxuLmdsb2JhbC1mb290ZXJ7XG5cdG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkO1xufVxuXG5cbi8vIEZvb3RlciBsaW5rc1xuLmdsb2JhbC1mb290ZXJ7XG5cdC5mb290ZXItbGlua3N7XG5cdFx0QG1lZGlhICN7JG1lZGl1bS11cH17XG5cdFx0XHRoZWlnaHQ6ICRmb290ZXItbGlua3MtaGVpZ2h0O1xuXHRcdH1cblx0XHR1bHtcblx0XHRcdHRleHQtYWxpZ246IGNlbnRlcjtcblx0XHRcdG1hcmdpbjogMDtcblx0XHR9XG5cdFx0bGl7XG5cdFx0XHRtYXJnaW46IHJlbS1jYWxjKDAgMjApO1xuXHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMTUgMCk7XG5cdFx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfXtcblx0XHRcdFx0cGFkZGluZzogcmVtLWNhbGMoMCAwIDUpO1xuXHRcdFx0XHRkaXNwbGF5OiBpbmxpbmU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdGF7XG5cdFx0XHRmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblx0XHRcdHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcblx0XHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcblx0XHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xuXHRcdFx0XHRsaW5lLWhlaWdodDogJGZvb3Rlci1saW5rcy1oZWlnaHQ7XG5cdFx0XHRcdGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8vIEZvb3RlciBNYWluIFNlY3Rpb24gbGF5b3V0XG4uZ2xvYmFsLWZvb3Rlcntcblx0LmZvb3Rlci1tYWlue1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XG5cdFx0aGVpZ2h0OiBjYWxjKCN7JGZvb3Rlci1tYWluLWhlaWdodH0gKiAyKTtcblx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfXtcblx0XHRcdGJhY2tncm91bmQ6IHVybChpbWFnZXMvZ2VuZXJpYy1zdWJoZWFkZXItYmcuanBnKSBuby1yZXBlYXQgY2VudGVyO1xuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb3Zlcjtcblx0XHRcdGhlaWdodDogJGZvb3Rlci1tYWluLWhlaWdodDtcblx0XHR9XG5cdH1cbn1cblxuXG4vLyBGb290ZXIgQnV0dG9uIFN0eWxlXG4uZ2xvYmFsLWZvb3Rlcntcblx0LmZvb3Rlci1idXR0b257XG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGJsYWNrO1xuXHRcdGNvbG9yOiAkYmxhY2s7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cdFx0cGFkZGluZzogcmVtLWNhbGMoMTQgNDggMTUgNDgpO1xuXHRcdGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDUwKTtcblx0XHRsaW5lLWhlaWdodDogJGZvb3Rlci1tYWluLWhlaWdodDtcblx0XHQmOmhvdmVye1xuXHRcdFx0dHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIC4zcyBlYXNlO1xuXHRcdFx0Ym9yZGVyLXdpZHRoOnJlbS1jYWxjKDUpO1xuXHRcdH1cblx0fVxufVxuXG4vLyBWYW5pbGxhIGxvZ28gaW4gZm9vdGVyXG4uZ2xvYmFsLWZvb3Rlcntcblx0LmZvb3Rlci1sb2dve1xuXHRcdGhlaWdodDogJGZsb2dvLWhlaWdodDtcblx0XHR3aWR0aDogJGZsb2dvLXdpZHRoO1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IGNhbGMoNjAlIC0gI3skZmxvZ28taGVpZ2h0fSAvIDIpO1xuXHRcdHJpZ2h0OiBjYWxjKDUwJSAtICN7JGZsb2dvLXdpZHRofSAvIDIpO1xuXHRcdGJhY2tncm91bmQ6IHVybCgkZm9vdGVyLWxvZ28pIG5vLXJlcGVhdCBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuXHRcdEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xuXHRcdFx0dG9wOiBjYWxjKDUwJSAtICN7JGZsb2dvLWhlaWdodH0gLyAyKTtcblx0XHRcdHJpZ2h0OiByZW0tY2FsYyg0MCk7XG5cdFx0fVxuXHR9XG59XG5cbi8vIEZvb3RlciBDb3B5cmlnaHRcbi5nbG9iYWwtZm9vdGVye1xuXHQuZm9vdGVyLWNvcHlyaWdodHtcblx0XHRoZWlnaHQ6ICRmb290ZXItY3AtaGVpZ2h0O1xuXHRcdGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG5cdFx0Zm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cdFx0cGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR9XG59XG5cbi8vIEZvb3RlciBTb2NpYWwgSWNvbnNcbi5nbG9iYWwtZm9vdGVye1xuXHQuc29jaWFsLWljb25ze1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRwYWRkaW5nOiAwO1xuXHRcdHRvcDogMDtcblx0XHRyaWdodDogcmVtLWNhbGMoNDApO1xuXHRcdEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cblx0fVxufVxuXG4uZm9vdGVyLWxvZ297XG4gIHdpZHRoOiA3MHB4O1xufVxuXG4ucHJlLWZvb3Rlci1saW5rcyB7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cbiIsIi8vIF9ndWVzdC1ib3guc2NzcyAtIHBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzXG4vLyBTdHlsaW5nIGZvciB0aGUgR3Vlc3QgYm94IChSZWdpc3RlciwgU2lnbiBJbilcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4uR3Vlc3RCb3h7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgaDR7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgfVxuICBwe1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gIH1cbiAgLlB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG59XG5cbi8vIEpTIENvbm5lY3Rcbi5Kc0Nvbm5lY3QtQ29ubmVjdHtcbiAgLlVzZXJQaG90b3tcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIH1cbiAgLkNvbm5lY3RMYWJlbHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIHRyYW5zaXRpb246IGJvcmRlciAuM3MgZWFzZTtcbiAgfVxufVxuIiwiLy8gX3VzZXItcHJvZmlsZS5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHNcbi8vIFRoaXMgZmlsZSBjb250YWlucyBzdHlsaW5nIGZvciB0aGUgdXNlciBwcm9maWxlIHNlY3Rpb25cbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIFByb2ZpbGUgTmF2QnV0dG9uXG4uUHJvZmlsZU9wdGlvbnN7XG4gIG1hcmdpbjogcmVtLWNhbGMoMjUgMTApO1xuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyNSk7XG4gIH1cbn1cblxuLy8gUHJvZmlsZSBTdGF0dXNcbi5Qcm9maWxle1xuICAjU3RhdHVze1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgYXtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWJvdXQgU2VjdGlvblxuLlByb2ZpbGV7XG4gIC5Ie1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgICBhe1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxuICAuRGF0YUxpc3RXcmFwe1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICAuQWJvdXR7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICBhe1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgICAmOm5vdChkbCl7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDUwIDEwKTtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1MCAyNSk7XG4gICAgICB9XG4gICAgICBkdCwgZGR7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICBkZHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgJjphZnRlcntcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICBkdHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgY29udGVudDogJzonO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAzKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gV2FybmluZ3MgJiBOb3RpZmljYXRpb24gU3R5bGVzXG4uUHJvZmlsZXtcbiAgLldhcm5pbmdze1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDI1KTtcbiAgICB9XG4gICAgZGl2e1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG4gIH1cbiAgLkRhdGFMaXN0V3JhcHtcbiAgICAuRW1wdHl7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIE5vdGlmaWNhdGlvbiBTcGVjaWZpY1xuLlByb2ZpbGUubm90aWZpY2F0aW9ucyxcbi5Qcm9maWxlLmFjdGl2aXR5e1xuICAuRGF0YUxpc3RXcmFwe1xuICAgIC5JdGVte1xuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgICAgLkFjdGl2aXR5Q29tbWVudHtcbiAgICAgICAgLkV4Y2VycHR7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgICAgICAuTWV0YXtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLlBob3Rve1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgICAuQWN0aXZpdHl7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIC5UaXRsZXtcbiAgICAgICAgICBhe1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5EYXRhTGlzdC5BY3Rpdml0eUNvbW1lbnRze1xuICAuQWN0aXZpdHlDb21tZW50IGF7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG59XG5cblxuLy8gV29yZCB3cmFwIGZvciBhY3Rpdml0eS9jb21tZW50cyBpbiBwcm9maWxlXG4uVGl0bGUgYSxcbi5JdGVtQ29udGVudCBhe1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG4uSXRlbUNvbnRlbnR7XG4gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbn1cblxuLy8gRml4IG1hcmdpbiBzcGFjZVxuLlByb2ZpbGV7XG4gIC5Db21tZW50Rm9ybXtcbiAgICAuQ29tbWVudExpbmt7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFByb2ZpbGUgUGhvdG9cbi5QaG90b1dyYXBMYXJnZXtcbiAgbWFyZ2luOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiByZW0tY2FsYygyNjApO1xuICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL3Byb2ZpbGUtYmFja2dyb3VuZC5wbmcpIHJlcGVhdCBjZW50ZXI7XG4gIC5DaGFuZ2VQaWN0dXJle1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLlByb2ZpbGVQaG90b0xhcmdle1xuICAgIHdpZHRoOiByZW0tY2FsYygxNjApO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTYwKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQ7XG4gIH1cbn1cblxuLy8gUHJvZmlsZSBBY3Rpdml0eSBNZXRhIG9uIFNtYWxsIERldmljZXNcbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gIC5Qcm9maWxlIC5JdGVtQ29udGVudC5BY3Rpdml0eXtcbiAgICAuTWV0YSwgLkV4Y2VycHR7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gX2VkaXQtcHJvZmlsZS5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIEJhY2sgdG8gcHJvZmlsZSBsaW5rXG4uUHJvZmlsZXtcbiAgLlByb2ZpbGVPcHRpb25ze1xuICAgIC5Qcm9maWxlQnV0dG9uc3tcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRm9ybSBzZXR0aW5nc1xuYm9keS5Qcm9maWxlLlNlY3Rpb24tRWRpdFByb2ZpbGV7XG4gIC5Gb3JtVGl0bGVXcmFwcGVye1xuICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICB1bHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIHVse1xuICAgIGxpe1xuICAgICAgbGFiZWx7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgICYuQ2hlY2tCb3hMYWJlbHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICBpbnB1dHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLlJhZGlvTGFiZWx7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICBpbnB1dHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuSW5wdXRCb3h7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1Mik7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBfc2lkZWJhci5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBQcm9maWxlIHBob3RvLCB1c2VybmFtZSAmIGVtYWlsXG4uVXNlckJveHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiByZW0tY2FsYygyMCAyNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDIpO1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogcmVtLWNhbGMoMik7XG4gIC5QaG90b1dyYXAsIC5Qcm9maWxlUGhvdG97XG4gICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgfVxuICAuUHJvZmlsZVBob3Rve1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gIH1cbiAgLldob0lze1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gICAgLlVzZXJuYW1lLCAuRW1haWx7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICB9XG4gICAgLlVzZXJuYW1le1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBTaWRlIG1lbnUgYm9keVxuLlByb2ZpbGUuU2VjdGlvbi1FZGl0UHJvZmlsZXtcbiAgLlNpZGVNZW51e1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgLlBhbmVsSW5mb3tcbiAgICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiByZW0tY2FsYygyKTtcbiAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IHJlbS1jYWxjKDIpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIGxpe1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgYXtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyNSk7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBfY2hhbmdlLXBhc3N3b3JkLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50L3VzZXItcHJvZmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4uUGFzc3dvcmRTdHJlbmd0aHtcbiAgLkJhY2tncm91bmR7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gIH1cbiAgLlN0cmVuZ3RoVGV4dHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1KTtcbiAgfVxufVxuIiwiLy8gX3ByZWZlcmVuY2VzLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLlByZWZlcmVuY2Vze1xuICBoMntcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICB9XG4gIH1cbiAgLlByZWZlcmVuY2VHcm91cHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIHRoZWFkLCB0Ym9keSwgdHIsIHRke1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjUpO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGVhZCB0ZHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAmLlByZWZDaGVja0JveCwgJi5Ub3BIZWFkaW5ne1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5Ub3BIZWFkaW5ne1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgdGJvZHkgdGR7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5JbmZvTWVzc2FnZXtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMCAzNSk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDI1IDEwKTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDI1KTtcbiAgICB9XG4gIH1cbn1cblxuYm9keS5Qcm9maWxlLnByZWZlcmVuY2Vze1xuICAuRm9ybVRpdGxlV3JhcHBlcntcbiAgICBtYXJnaW46IDA7XG4gIH1cbn1cbiIsIi8vIF9jaGFuZ2UtcGljdHVyZS5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIFRhYmxlIFN0eWxlc1xuLlByb2ZpbGUuU2VjdGlvbi1FZGl0UHJvZmlsZXtcbiAgLkN1cnJlbnRQaWN0dXJlLCAuVGh1bWJuYWlse1xuICAgIHRhYmxle1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgdGhlYWR7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgdGR7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFdhcm5pbmcgTWVzc2FnZVxuLlByb2ZpbGUuU2VjdGlvbi1FZGl0UHJvZmlsZS5waWN0dXJle1xuICAuV2FybmluZ01lc3NhZ2V7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDUwKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBCdXR0b25zXG4uUHJvZmlsZS5TZWN0aW9uLUVkaXRQcm9maWxle1xuICBpbnB1dFt0eXBlPWZpbGVde1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICB9XG4gIC5DdXJyZW50UGljdHVyZSwgLlRodW1ibmFpbHtcbiAgICB0YWJsZSB0Ym9keXtcbiAgICAgIHRke1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAmOmZpcnN0LWNoaWxke1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gX2VkaXQtdGh1bWJuYWlsLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLlByb2ZpbGUuU2VjdGlvbi1FZGl0UHJvZmlsZS50aHVtYm5haWx7XG4gIC5UaHVtYm5haWx7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxNiAxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxNiAyNSk7XG4gICAgfVxuICAgIC5JbmZve1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICAuQnV0dG9uc3tcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygyNSk7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8gRWRpdCBUaHVtYm5haWwgYmFja2dyb3VuZCBmaXhcbi5qY3JvcC1ob2xkZXJ7XG4gIGltZ3tcbiAgICBtYXgtd2lkdGg6IG5vbmU7XG4gIH1cbiAgLmpjcm9wLXRyYWNrZXJ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8gUHJldmlldyBUaHVtYm5haWwgZml4XG4jcHJldmlld3tcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cbiIsIi8vIF9vbmxpbmUtc2V0dGluZ3Muc2NzcyAtIHBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4uUHJvZmlsZS5TZWN0aW9uLUVkaXRQcm9maWxlLk9ubGluZU5vd3tcbiAgaDJ7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICBmb3Jte1xuICAgIHVse1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9xdW90ZXMtc2V0dGluZ3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLlByb2ZpbGUuU2VjdGlvbi1FZGl0UHJvZmlsZS5xdW90ZXN7XG4gIC5Ie1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuICBmb3Jte1xuICAgIHVse1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgIGRpdntcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9zaWduYXR1cmUuc2NzcyAtIHBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL3VzZXItcHJvZmlsZVxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4uUHJvZmlsZS5TZWN0aW9uLUVkaXRQcm9maWxlLnNpZ25hdHVyZXtcbiAgLkZvcm1UaXRsZVdyYXBwZXJ7XG4gICAgaDIuSHtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5TaWduYXR1cmVSdWxlc3tcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cbiAgICAuVGV4dEJveFdyYXBwZXJ7XG4gICAgICB0ZXh0YXJlYXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBfdXNlci1pbmJveC5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHNcbi8vIFRoaXMgZmlsZSBjb250YWlucyBzdHlsaW5nIG9mIHVzZXIgaW5ib3hcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBUb3AgUGFnZSBDb250cm9sc1xuLlBhZ2VDb250cm9scy5Ub3B7XG4gIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTApO1xuICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyNSk7XG4gIH1cbiAgLkJveEJ1dHRvbnN7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAuQnV0dG9ue1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoNCk7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gTWFpbiBDb250ZW50IFNwYWNpbmdcbmJvZHkuaW5ib3h7XG4gIC5EYXRhTGlzdFdyYXB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIC5JdGVte1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIC5Vc2VycyA+IGF7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgfVxuICAgICAgLkV4Y2VycHR7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgIH1cbiAgICAgIC5NZXRhe1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1lc3NhZ2VzIHNlY3Rpb25cbi5Db252ZXJzYXRpb257XG4gIC5BdXRob3J7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuICAgIC5QaG90b1dyYXB7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICB9XG4gIH1cbiAgLkV4Y2VycHR7XG4gICAgLk1lc3NhZ2V7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgfVxuICB9XG4gIC5NZXRhe1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4NSk7XG4gICAgc3BhbntcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cbiAgICBzdHJvbmd7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgZm9udC1mYW1pbHk6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9jb21tZW50cy5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHMvdXNlci1wcm9maWxlXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIEdlbmVyYWwgbGF5b3V0XG5ib2R5LmNvbW1lbnRze1xuICAuSXRlbXtcbiAgICAuSXRlbUNvbnRlbnR7XG4gICAgICAuTWVzc2FnZXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICB9XG4gICAgICAuTWV0YXtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgICAgLk1JdGVte1xuICAgICAgICAmLCAmIGF7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ29tbWVudHMgdWwgZWxlbWVudFxuYm9keS5jb21tZW50c3tcbiAgLkRhdGFMaXN0e1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICB9XG59XG5cbi8vIE1vcmUgQ29tbWVudHMgU3R5bGVzXG5ib2R5LmNvbW1lbnRze1xuICAuRGF0YUxpc3R7XG4gICAgLk1vcmVQYWdlcntcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDApO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYXtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBfaWdub3JlLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50cy91c2VyLXByb2ZpbGVcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gTWFpbiBMYXlvdXRcbi5Qcm9maWxlLmlnbm9yZXtcbiAgLmlzLWNvbnRlbnR7XG4gICAgLkh7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgZm9ybXtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyNSk7XG4gICAgICB9XG4gICAgICBkaXZ7XG4gICAgICAgIHVse1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGxpe1xuICAgICAgICAgICAgbGFiZWx7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuQnV0dG9uc3tcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBUYWJsZSBMYXlvdXRcbi5Qcm9maWxlLmlnbm9yZXtcbiAgLklnbm9yZUxpc3R7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIHRoZWFke1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB0cntcbiAgICAgICAgdGh7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGJvZHl7XG4gICAgICB0cntcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICB9XG4gICAgICB0ZHtcbiAgICAgICAgJi5JZ25vcmVVc2VyUGhvdG97XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAuUGhvdG9XcmFwe1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgLlByb2ZpbGVQaG90b3tcbiAgICAgICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuSWdub3JlVXNlck5hbWV7XG4gICAgICAgICAgYXtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLklnbm9yZVVzZXJEYXRle1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgICAgICYuSWdub3JlVXNlckFjdGlvbntcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9jb21tZW50LWFjdGl2aXR5LnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8gVGhpcyBzdHlsZXMgdGhlIENvbW1lbnRzICYgQWN0aXZpdHkgc2VjdGlvbnNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gQWN0aXZpdGllcyBTdHlsaW5nXG4uQWN0aXZpdGllcyxcbi5Db252ZXJzYXRpb25ze1xuICAuQWN0aXZpdHlDb21tZW50c3tcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIC5BY3Rpdml0eUNvbW1lbnR7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICAuRXhjZXJwdHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAuTWV0YXtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuQWN0aXZpdHksXG4gIC5BY3Rpdml0eUNvbW1lbnQsXG4gIC5Db252ZXJzYXRpb257XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICBsaXtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgICAmOmxhc3QtY2hpbGR7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIH1cbiAgICAuVGl0bGUgYSxcbiAgICAuTWV0YTpub3QoLlBob3RvKSBhLFxuICAgIC5OYW1le1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIH1cbiAgICAuVGl0bGUgYSxcbiAgICAuVGl0bGV7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG4gICAgLkRlbGV0ZXtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLkl0ZW1Db250ZW50e1xuICAgIC5UaXRsZSwgLkV4Y2VycHR7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgLlRpdGxle1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICAgICYuTmFtZXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMilcbiAgICAgIH1cbiAgICB9XG4gICAgLk1ldGF7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgIC5BZGRDb21tZW50LFxuICAgICAgLkRlbGV0ZUNvbW1lbnR7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQWN0aXZpeSBGbGFnIGljb24gc3BhY2luZ1xuLkFjdGl2aXR5IC5SZWFjdGlvbnN7XG4gIG1hcmdpbjogcmVtLWNhbGMoMCAxMCAyNSk7XG4gIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMzAgMjUpO1xuICB9XG59XG5cbi8vIEZvcm0gSGVhZGVyIHVzZXIgbmFtZVxuLkZvcm0tSGVhZGVye1xuICAuQXV0aG9ye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAuUGhvdG9XcmFwe1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIC5Qcm9maWxlUGhvdG97XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC5Vc2VybmFtZXtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuXG4vLyBBY3Rpdml0eSBTcGVjaWZpYyBzdHlsaW5nXG4uQWN0aXZpdHkgLkl0ZW0uQWN0aXZpdHksXG4uUHJvZmlsZSAuSXRlbS5BY3Rpdml0eXtcbiAgLkl0ZW1Db250ZW50LkFjdGl2aXR5e1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDg1KTtcbiAgICB9XG4gICAgLlJlYWN0aW9uc3tcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBBY3Rpdml0eSBWaWV3IG9uIFNtYWxsIERldmljZXNcbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gIC5BY3Rpdml0eS5pbmRleC5TZWN0aW9uLUFjdGl2aXR5TGlzdHtcbiAgICAuTWV0YSwgLkV4Y2VycHQsIC5UaXRsZXtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gX21lc3NhZ2VzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHNcbi8vIFRoaXMgZmlsZSBzdHlsZXMgdGhlIFVzZXIgSW5ib3ggTWVzc2FnZSB2aWV3XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuYm9keS5TZWN0aW9uLUNvbnZlcnNhdGlvbntcbiAgLkggYXtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICB9XG4gIC5Db252ZXJzYXRpb257XG4gICAgLk1ldGF7XG4gICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgICAgLkF1dGhvcntcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgLk5hbWV7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICAgICAgLlBob3RvV3JhcDpob3ZlcntcbiAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLk1lc3NhZ2V7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5Db21tZW50Rm9ybXtcbiAgICAuSHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgIH1cbiAgICAuUGhvdG9XcmFwe1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICB9XG4gICAgLmVkaXRvci1oZWxwLXRleHR7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gICAgLkJ1dHRvbnN7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG4gICAgfVxuICB9XG4gIC5CaWdCdXR0b257XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxufVxuXG4vLyBTaWRlYmFyXG5ib2R5LlNlY3Rpb24tQ29udmVyc2F0aW9ue1xuICAucGFnZS1zaWRlYmFye1xuICAgIC5Cb3h7XG4gICAgICBoNHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDApO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5JblRoaXNDb252ZXJzYXRpb257XG4gICAgICAgIGg0e1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9IHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5QYW5lbEluZm97XG4gICAgICAgICAgbGl7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICAuQ29udmVyc2F0aW9uLVVzZXJ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIC5Qcm9maWxlUGhvdG97XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAuVXNlcm5hbWV7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuQWRkUGVvcGxle1xuICAgICAgICAuVGV4dEJveFdyYXBwZXJ7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyNSAwKTtcbiAgICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgdGV4dGFyZWF7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLkJ1dHRvbnN7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLkNvbnZlcnNhdGlvbiAuTWV0YXtcbiAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICB9XG59XG5cbi8vIEluYm94IEhvbWUgTWVzc2FnZXNcbi5Db252ZXJzYXRpb25zLk1lc3NhZ2Vze1xuICAuQ29udmVyc2F0aW9ucyAuSXRlbUNvbnRlbnQgLkV4Y2VycHR7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgLkNvbnZlcnNhdGlvbntcbiAgICAuTWV0YXtcbiAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICB9XG4gICAgLlVzZXJze1xuICAgICAgLlBob3RvV3JhcHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgYXtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gX25ldy1tZXNzYWdlLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8gU3R5bGVzIHRoZSBOZXcgTWVzc2FnZSBWaWV3XG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi5TZWN0aW9uLVBvc3RDb252ZXJzYXRpb257XG4gIC5Gb3JtV3JhcHBlcntcbiAgICBwYWRkaW5nOiAwO1xuICB9XG4gIC5Qe1xuICAgIGxhYmVse1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgfVxuICAgIC5lZGl0b3ItaGVscC10ZXh0e1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgfVxuICB9XG4gIC5CdXR0b25ze1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB9XG59XG4iLCIvLyBfcG9wdXAuc2NzcyAtIHBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzXG4vLyBTdHlsaW5nIGZvciB0aGUgcG9wdXAgbW9kYWxzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIEdlbmVyYWwgTGF5b3V0XG4uUG9wdXB7XG4gIC5Cb3JkZXJ7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgQG1lZGlhICN7JHNtYWxsLW9ubHl9IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAuQm9keXtcbiAgICAgIGJvcmRlci10b3A6IHJlbS1jYWxjKDE1KSBzb2xpZCAkd2hpdGU7XG4gICAgICBib3JkZXItYm90dG9tOiByZW0tY2FsYygxNSkgc29saWQgJHdoaXRlO1xuICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNzVweCk7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYyg0KTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDVweCAkYmxhY2s7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAwKTtcbiAgICAgIEBtZWRpYSAjeyRtZWRpdW0tdXB9e1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoNjAwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgICAgLkNvbnRlbnR7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAuUHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgfVxuICAgICAgICAuQnV0dG9uc3tcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICBkaXZ7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBGb290ZXIgQnV0dG9uc1xuLlBvcHVwe1xuICAuRm9vdGVyLkJ1dHRvbnN7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogNTAlO1xuICB9XG4gIC5CdXR0b25ze1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgfVxufVxuLlByb2ZpbGUuRWRpdE1vZGUgLkJ1dHRvbnN7XG4gICYuQnV0dG9ucy1Db25maXJte1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGRpdntcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEVycm9yIE1lc3NhZ2VzXG4uUG9wdXB7XG4gIC5FcnJvcnMsIC5NZXNzYWdlc3tcbiAgICB1bHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcm9maWxlIFBvcHVwIFdhcm5pbmdzXG4uUHJvZmlsZSAuUG9wdXB7XG4gIC5XYXJuaW5nc3tcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbn1cblxuLy8gQmFuIFVzZXIgUG9wdXBcbi5Qb3B1cHtcbiAgLldhcm5pbmdNZXNzYWdle1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgYXtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG4gIC5DaGVja0JveExhYmVse1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBpbnB1dFt0eXBlPWNoZWNrYm94XXtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgfVxuICB9XG59XG5cbi8vIFBvcHVwIEZvcm1cbi5Qb3B1cHtcbiAgLkJvZHl7XG4gICAgLkNvbnRlbnR7XG4gICAgICBoMntcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgZm9ybSBkaXZ7XG4gICAgICAgIHVse1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgbGl7XG4gICAgICAgICAgICBhe1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVse1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgJi5DaGVja0JveExhYmVse1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPWNoZWNrYm94XXtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIHRleHRhcmVhe1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBTaWduIGluIG1vZGFsXG4uUG9wdXAuU2lnbkluUG9wdXB7XG4gIC5Cb2R5e1xuICAgIC5Db250ZW50e1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaDF7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyNSA4KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICB9XG4gICAgICAuRW50cnl7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICAgIC5CdXR0b25ze1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyNSk7XG4gICAgICAgIC5CdXR0b24uUHJpbWFyeXtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTI1KTtcbiAgICAgICAgfVxuICAgICAgICAuQ2hlY2tCb3hMYWJlbHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGlucHV0e1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLkNyZWF0ZUFjY291bnR7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICBhe1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLk1haW5Gb3Jte1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHVse1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgIGxpe1xuICAgICAgICAgICAgLlRleHRCb3hXcmFwcGVye1xuICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuSW5wdXRCb3h7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGxhYmVse1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGF7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQ2xvc2UgQnV0dG9uXG4uT3ZlcmxheSA+IC5Qb3B1cCBhLkNsb3Nle1xuICB0b3A6IHJlbS1jYWxjKDE1KTtcbiAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgc3BhbntcbiAgICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG4gIH1cbn1cblxuLy8gU2lnbiBJbiBNb2JpbGVcbkBtZWRpYSAjeyRzbWFsbC1vbmx5fSB7XG4gICNGb3JtX1VzZXJfU2lnbkluIC5NYWluRm9ybXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB1bHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9jaGVja21hcmtzLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8gR2xvYmFsIGNoZWNrbWFyayBzdHlsZXNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG5cbi8vIFBvc2l0aW9uIHRoZSBBZG1pbiBDaGVjayBvbiBEaXNjdXNzaW9ucyB2aWV3XG4uQWRtaW5DaGVja3tcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiBhbGwgLjNzIGVhc2U7XG5cdHRvcDogcmVtLWNhbGMoNzApO1xuXHRyaWdodDogcmVtLWNhbGMoMTApO1xuXHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cdFx0dG9wOiByZW0tY2FsYyg1Myk7XG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDEyNSk7XG5cdH1cbn1cblxuLy8gSGVhZGVyIEFkbWluIENoZWNrIERpc2N1c3Npb25zIFZpZXdcbi5IIC5BZG1pbkNoZWNre1xuXHRwb3NpdGlvbjogc3RhdGljO1xuXHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdHBhZGRpbmctbGVmdDogMDtcblx0aW5wdXRbbmFtZT1Ub2dnbGVde1xuXHRcdG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuXHR9XG59XG5cbi8vIENvbW1lbnQgQWRtaW4gQ2hlY2tcbi5JdGVtQ29tbWVudHtcbiAgLkFkbWluQ2hlY2t7XG4gICAgdG9wOiByZW0tY2FsYygtMyk7XG5cdFx0cmlnaHQ6IHJlbS1jYWxjKDUwKTtcblx0XHRAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG5cdFx0XHRkaXNwbGF5OiBub25lO1xuXHRcdH1cbiAgfVxuXHQmOmhvdmVye1xuXHRcdC5BZG1pbkNoZWNre1xuXHRcdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdH1cblx0fVxufVxuXG4vLyBQYWdlIFRpdGxlIEFkbWluIENoZWNrXG4uUGFnZVRpdGxle1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdC5BZG1pbkNoZWNre1xuXHRcdHBvc2l0aW9uOiBzdGF0aWM7XG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXHRcdG1hcmdpbi10b3A6IHJlbS1jYWxjKC0zKTtcblx0XHRpbnB1dFtuYW1lPVRvZ2dsZV17XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDIwKTtcblx0XHR9XG5cdH1cbn1cblxuLy8gQnVtcCBDaGVja21hcmtcbmxhYmVsW2Zvcj1cIkZvcm1fTm9CdW1wXCJde1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRtYXJnaW46IHJlbS1jYWxjKDEwIDApO1xuXHRpbnB1dFt0eXBlPWNoZWNrYm94XXtcblx0XHRkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cdFx0bWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcblx0fVxufVxuXG4vLyBEZWZhdWx0IGNoZWNrbWFyayBzdHlsZXNcbmlucHV0W3R5cGU9Y2hlY2tib3hde1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdGFwcGVhcmFuY2U6IG5vbmU7XG5cdHdpZHRoOiByZW0tY2FsYygxOCk7XG5cdGhlaWdodDogcmVtLWNhbGMoMjApO1xuXHRkaXNwbGF5OiBmbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0Ym9yZGVyOiAxcHggc29saWQ7XG5cdGJvcmRlci1yYWRpdXM6IDRweDtcblx0Y3Vyc29yOiBwb2ludGVyO1xuXHRtYXJnaW46IDA7XG5cdCY6Y2hlY2tlZHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0fVxuXHQmOmFmdGVye1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IHJlbS1jYWxjKDQpO1xuXHRcdHJpZ2h0OiByZW0tY2FsYygyKTtcblx0XHRjb250ZW50OiBcIlwiO1xuXHRcdHdpZHRoOiByZW0tY2FsYygxMik7XG5cdFx0aGVpZ2h0OiByZW0tY2FsYyg3KTtcblx0XHRib3JkZXI6IDJweCBzb2xpZDtcblx0XHRib3JkZXItdG9wOiBub25lO1xuXHRcdGJvcmRlci1yaWdodDogbm9uZTtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcblx0XHRvcGFjaXR5OiAwO1xuXHRcdHRyYW5zZm9ybTogcm90YXRlKC01MGRlZyk7XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSAyNTBtcztcblx0fVxuXHQmOmhvdmVyOmFmdGVye1xuXHRcdG9wYWNpdHk6IDAuMztcblx0fVxuXHQmOmNoZWNrZWQ6YWZ0ZXJ7XG5cdFx0b3BhY2l0eTogMTtcblx0fVxufVxuIiwiLy8gX2NhdGVnb3J5LnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vL0dlbmVyYWwgTGF5b3V0XG4uQ2F0ZWdvcnlMaXN0e1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xufVxuXG4vLyBGaXggaWNvbiBzcGFjaW5nXG4uQ2F0ZWdvcnlMaXN0e1xuICAuTWV0YXtcbiAgICBzcGFue1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG4gICAgLk1JdGVtLkNvbW1lbnRDb3VudHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgfVxuICB9XG4gIC5DYXRlZ29yeXtcbiAgICAuUGhvdG9XcmFwLUNhdGVnb3J5e1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAyMCAxMCAyNSk7XG4gICAgICBAbWVkaWEgI3skc21hbGwtb25seX0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJiwgJiAuQ2F0ZWdvcnlQaG90b3tcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDQwKTtcbiAgICAgIH1cbiAgICAgIC5DYXRlZ29yeVBob3Rve1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG4gICAgLk9wdGlvbnN7XG4gICAgICAuT3B0aW9uc1RpdGxle1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKC0xMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJTUyBTcGFjaW5nXG4uRGF0YUxpc3QgLk1ldGEgLlJTU3tcbiAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4vLyBGaXggTGFzdCBEaXNjdXNzaW9uIFRpdGxlIHNwYWNpbmdcbi5DYXRlZ29yeUxpc3R7XG4gIC5NZXRhIC5NSXRlbS5MYXN0RGlzY3Vzc2lvblRpdGxle1xuICAgIEBtZWRpYSAjeyRzbWFsbC11cH17XG4gICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgfVxuICAgIEBtZWRpYSAjeyRsYXJnZS11cH17XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cbiAgICBhOmZpcnN0LWNoaWxke1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDYXRlZ29yeSBEZXNjcmlwdGlvblxuLkNhdGVnb3J5TGlzdHtcbiAgLkl0ZW17XG4gICAgLkNhdGVnb3J5RGVzY3JpcHRpb257XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICB3aWR0aDogNzUlO1xuICAgIH1cbiAgfVxufVxuXG4vLyBDYXRlZ29yeSBTcGFjaW5nIHdpdGgvd2l0aG91dCBjYXRlZ29yeSBpY29uc1xuLkNhdGVnb3J5TGlzdHtcbiAgLkl0ZW0gLlBob3RvV3JhcC1DYXRlZ29yeXtcbiAgICAmLk5vUGhvdG97XG4gICAgICAmICsgLlRpdGxlV3JhcCwgJiB+IC5NZXRhLFxuICAgICAgJiB+IC5DYXRlZ29yeURlc2NyaXB0aW9ue1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfXtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICY6bm90KC5Ob1Bob3RvKXtcbiAgICAgICYgKyAuVGl0bGVXcmFwLCAmIH4gLk1ldGEsXG4gICAgICAmIH4uQ2F0ZWdvcnlEZXNjcmlwdGlvbntcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg4NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4vLyBDaGlsZCBDYXRlZ29yaWVzXG4uQ2F0ZWdvcnlMaXN0e1xuICAuQ2F0ZWdvcnl7XG4gICAgLkNoaWxkQ2F0ZWdvcmllc3tcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICB9XG4gICAgICAmLCBiLCBhe1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgIH1cbiAgICAgIGF7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBDaGlsZCBDYXRlZ29yeSBQYWdlXG4uQ2hpbGRDYXRlZ29yeUxpc3R7XG4gIC5DYXRlZ29yeXtcbiAgICB3aWR0aDogMTAwJTtcbiAgICAuQ2F0ZWdvcnlEZXNjcmlwdGlvbntcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICBAbWVkaWEgI3skbWVkaXVtLXVwfSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBfc2lnbi1pbi5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gU2lnbmluIEZvcm1cbi5zaWduaW57XG4gIC5TaW5nbGVFbnRyeU1ldGhvZHtcbiAgICAuTWFpbkZvcm17XG4gICAgICB1bHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDI1IDIwKTtcbiAgICAgICAgbGFiZWx7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICB9XG4gICAgICAgIC5JbnB1dEJveHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgICAgICB9XG4gICAgICAgIC5Gb3Jnb3RQYXNzd29yZHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIE1lc3NhZ2VzXG4uc2lnbmluIC5NZXNzYWdlc3tcbiAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUpO1xufVxuXG4vLyBCdXR0b25zXG4uc2lnbmluIC5CdXR0b25zLFxuI0Zvcm1fVXNlcl9TaWduSW4gLkJ1dHRvbnN7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gIC5DaGVja0JveExhYmVse1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgaW5wdXR7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG4gIH1cbiAgLkNyZWF0ZUFjY291bnR7XG4gICAgYXtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRtaW4gU2lnbi1pblxuI0Zvcm1fVXNlcl9TaWduSW57XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyNSk7XG4gIHVse1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCAyNSk7XG4gICAgbGFiZWx7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjYpO1xuICAgIH1cbiAgICAuSW5wdXRCb3h7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgICB9XG4gICAgLkZvcmdvdFBhc3N3b3Jke1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgfVxuICB9XG4gIC5DcmVhdGVBY2NvdW50e1xuICAgIGF7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBfcmVnaXN0ZXIuc2NzcyAtIHBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzXG4vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuXG4vLyBUeXBvZ3JhcGh5IFNldHRpbmdzXG4ucmVnaXN0ZXIgLkZvcm1XcmFwcGVyIHVse1xuICBsYWJlbCwgLklucHV0Qm94e1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI2KTtcbiAgfVxuICAuR2xvc3N7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gIH1cbiAgLkdlbmRlciAuUmFkaW9MYWJlbCwgLkNhcHRjaGFJbnB1dCxcbiAgLkNhcHRjaGFJbnB1dCBhLCAuQ2hlY2tCb3hMYWJlbHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICB9XG59XG5cbi8vIFJlZ2lzdGVyIGZvcm1cbi5yZWdpc3RlcntcbiAgLkZvcm1XcmFwcGVye1xuICAgIHVse1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAuSW5wdXRCb3h7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgIH1cbiAgICAgIC5HZW5kZXIgLlJhZGlvTGFiZWx7XG4gICAgICAgIGlucHV0e1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5DYXB0Y2hhSW5wdXR7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICAgIC5DaGVja0JveExhYmVse1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBhe1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG4gICAgICAgIGlucHV0e1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuQnV0dG9uc3tcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gX2VkaXRvci1hY3Rpb25zLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBFbW9qaSBTdHlsZXNcbi5lZGl0b3ItZHJvcGRvd257XG4gIFtjbGFzc149XCJlbW9qaVwiXXtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyKTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlLWluO1xuICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICB9XG59XG5cbi8vIEFkZCBMaW5rXG4uZWRpdG9yLWRyb3Bkb3duLWxpbmt7XG4gIC5GbHlvdXR7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgIHdpZHRoOiByZW0tY2FsYygzMDApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAuSW5wdXRCb3h7XG4gICAgICBib3JkZXItcmFkaXVzOiByZW0tY2FsYygzKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAuTWVudUJ1dHRvbnN7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgLkJ1dHRvbntcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNCAyMCA2KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRmlsZSBEcm9wXG4uZWRpdG9yLWRyb3Bkb3due1xuICAuZHJvcC1zZWN0aW9ue1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTUpO1xuICAgIC5JbnB1dEJveHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKHJlbS1jYWxjKDMpKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgfVxufVxuXG4vLyBGdWxsIFBhZ2UgRWRpdG9yIFZpZXdcbi5lZGl0b3ItZnVsbHBhZ2UgI2VkaXRvci1mdWxscGFnZS1jYW5kaWRhdGV7XG4gIC5UZXh0Qm94V3JhcHBlcntcbiAgICAuVGV4dEJveHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgIH1cbiAgfVxuICAuUHJldmlld3tcbiAgICBtYXJnaW46IHJlbS1jYWxjKDUwKSBhdXRvO1xuICAgIG1heC13aWR0aDogcmVtLWNhbGMoODAwKTtcbiAgfVxufVxuIiwiLy8gX215LWRyYWZ0cy5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gR2VuZXJhbCBMYXlvdXRcbi5EcmFmdHN7XG4gIC5EcmFmdHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAyNSk7XG4gICAgLkl0ZW1Db250ZW50e1xuICAgICAgLlRpdGxle1xuICAgICAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICB9XG4gICAgICAuRXhjZXJwdHtcbiAgICAgICAgYXtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBEZWxldGUgQnV0dG9uXG4uRHJhZnRze1xuICAuRHJhZnR7XG4gICAgLk9wdGlvbnN7XG4gICAgICAuRGVsZXRle1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTEwKTtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gX3NwbGFzaC1pbmZvLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4uU3BsYXNoSW5mb3tcbiAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwKTtcbn1cbiIsIi8vIF9kaXNjdXNzaW9uLXBvbGxzLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBEaXNjdXNzaW9uIFBvbGwgRm9ybVxuLkRQX1F1ZXN0aW9ue1xuICBib3JkZXI6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbiNEUF9OZXh0UXVlc3Rpb257XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC0xMCk7XG59XG4jRFBfTmV4dFF1ZXN0aW9uLCAjRFBfUHJldmlvdXNRdWVzdGlvbiwgI0RQX0FkZE9wdGlvbntcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICY6aG92ZXJ7XG4gICAgYm9yZGVyOiBub25lO1xuICB9XG59XG5cbi8vIERpc2N1c3Npb24gUG9sbCBBbnN3ZXIgRm9ybVxuLkRQX0Fuc3dlckZvcm0sIC5EUF9SZXN1bHRzRm9ybXtcbiAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNCk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIG1hcmdpbjogcmVtLWNhbGMoMCAyNSkgIWltcG9ydGFudDtcbiAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgQG1lZGlhICN7JG1lZGl1bS11cH0ge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMCA4NSkgIWltcG9ydGFudDtcbiAgfVxuICAuRFBfQW5zd2VyUXVlc3Rpb25zLCAuRFBfUmVzdWx0UXVlc3Rpb25ze1xuICAgIC5EUF9BbnN3ZXJRdWVzdGlvbiwgLkRQX1Jlc3VsdFF1ZXN0aW9ue1xuICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKXtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgIHNwYW57XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAmLkRQX1ZvdGVDb3VudHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuRFBfQW5zd2VyT3B0aW9ucywgLkRQX1Jlc3VsdE9wdGlvbnN7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgLlJhZGlvTGFiZWx7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuICAgICAgICAuRFBfUmVzdWx0T3B0aW9ue1xuICAgICAgICAgICYsICYgLkRQX0JhcntcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLkRQX0JhcntcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIERpc2N1c3Npb24gUG9sbCBUb29sc1xuI0RQX1Rvb2xze1xuICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICBsaXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgYXtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQXR0YWNoIFBvbGwgQ2hlY2tib3hcbi5EaXNjdXNzaW9uRm9ybSAuUCBsYWJlbHtcbiAgJltmb3I9Rm9ybV9EUF9BdHRhY2hde1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBpbnB1dHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKC01KTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIF9pbmZvcm0tbWVzc2FnZXMuc2NzcyAtIHBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzXG4vLyBUaGlzIHN0eWxlcyB0aGUgYm94IGluIHRoZSBsb3dlciBsZWZ0IHBvcnRpb24gYWZ0ZXIgc2VsZWN0aW5nIGEgY2hlY2tib3hcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLkluZm9ybU1lc3NhZ2Vze1xuICBkaXZ7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE5KTtcbiAgICAmLkFjdGlvbnN7XG4gICAgICAuRGVsZXRlLCAuTW92ZSwgLk1lcmdlLCAuQ2FuY2VsQWN0aW9uLCAuU3BsaXR7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBfdGFncy5zY3NzIC0gcGFydGlhbHMvY3VzdG9tLWNvbXBvbmVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLkp1c3ROZXd7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cbiIsIi8vIF93YXJuaW5ncy5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLy8gR2VuZXJhbCBXYXJuaW5nc1xuc3Bhbi5XYXJuaW5nLCBkaXYuV2FybmluZ3tcblx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG5cdGJvcmRlcjogbm9uZTtcblx0Zm9udC13ZWlnaHQ6IDMwMDtcblx0YXtcblx0XHRib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG5cdFx0cGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuXHRcdGZvbnQtd2VpZ2h0OiA3MDA7XG5cdH1cbn1cblxuLy8gTW9kIFdhcm5pbmdzXG4uUHJvZmlsZSAuV2FybmluZ3MgZGl2e1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0Ym9yZGVyLXJhZGl1czogcmVtLWNhbGMoMyk7XG59XG4uV2FybmluZ3MgLldhcm5pbmdSZWFzb257XG5cdG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbn1cbi8vIE5vdGUgdGhlIFRIUkVFIEcncy4uLlxuLldhcm5pbmdUb2dnZ2xlSGlzdG9yeXtcblx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuXHRwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMyk7XG59XG5cbi8vIFRyb2xsIEhlcm8gV2FybmluZ1xuLkhlcm97XG4gICYsICYuV2FybmluZ3tcblx0XHRtYXJnaW46IHJlbS1jYWxjKDEwIDI1KTtcblx0fVxufVxuIiwiLy8gX3NlYXJjaC1yZXN1bHRzLnNjc3MgLSBwYXJ0aWFscy9jdXN0b21fY29tcG9uZW50c1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4vLyBHZW5lcmFsIExheW91dFxuLlNlYXJjaEZvcm17XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDI1KTtcbiAgbWFyZ2luLXRvcDogMDtcbiAgLlNpdGVTZWFyY2h7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIC5JbnB1dEJveHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNik7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAuQnV0dG9ue1xuICAgICAgYmFja2dyb3VuZDogdXJsKGltYWdlcy9pY29ucy9mb3J1bS5zZWFyY2gtaWNvbi5zdmcpIG5vLXJlcGVhdCBjZW50ZXI7XG4gICAgICB0b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIC4zcyBlYXNlO1xuICAgICAgJjpob3ZlcntcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGltYWdlcy9pY29ucy9mb3J1bS5zZWFyY2gtaWNvbi5hY3RpdmUuc3ZnKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gTm8gUmVzdWx0c1xuLlNlYXJjaCAuTm9SZXN1bHRze1xuICBtYXJnaW46IHJlbS1jYWxjKDI1KTtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG59XG5cbi8vIFBhZ2VyQ29udHJvbHNcbi5TZWFyY2h7XG4gIC5OZXh0LCAuUHJldmlvdXN7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxIDAgMyk7XG4gICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgfVxufVxuXG4vLyBTZWFyY2ggUmVzdWx0c1xuLkl0ZW0uSXRlbS1TZWFyY2h7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDI1KTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAuM3MgZWFzZTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGgzIGF7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgLk1lZGlhLUJvZHl7XG4gICAgc3BhbntcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAmLkJ1bGxldHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA1KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIH1cbiAgICAgICYuTUl0ZW0tQXV0aG9ye1xuICAgICAgICBhe1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gUmVtb3ZlZCB0byBtYWtlIHNpZGViYXIgZGlzcGxheSBjb25zaXN0ZW50IHdoZW4gc2VhcmNoaW5nLCBpbnN0ZWFkIG9mIGJlaW5nXG4vLyByYW5kb21seSBwbGFjZWQgaW4gZGlmZmVyZW50IHBsYWNlcyBpbnNpZGUgdGhlIHZpZXcgZHVlIHRvIGEgdmFuaWxsYSBzZWFyY2ggYnVnXG4uU2VhcmNoIC5wYWdlLXNpZGViYXJ7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8vIEZpeGVzIGV4dHJhIG1hcmdpbiB3aGVuIHZhbmlsbGEgc2VhcmNoIHB1dHMgPGxpcz4ncyBvdXRzaWRlIG9mIHRoZSA8b2w+XG4jc2VhcmNoLXJlc3VsdHN7XG4gIG1hcmdpbi1ib3R0b206IDA7XG59XG4iLCIvLyBfcG9zdC1iZy5zY3NzIC0gcGFydGlhbHMvY3VzdG9tX2NvbXBvbmVudHNcbi8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vXG5cblxuLkNvbW1lbnRzLCAuRGlzY3Vzc2lvbntcbiAgW2NsYXNzKj1cIlRpZXItXCJde1xuICAgICY6bm90KC5NZXNzYWdlRm9ybSl7XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoaW1hZ2VzL2RhcmsvcG9zdC1iZy5wbmcpIGNlbnRlcjtcbiAgICB9XG4gICAgLkNvbW1lbnRIZWFkZXIsIC5EaXNjdXNzaW9uSGVhZGVye1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkO1xuICAgICAgLkF1dGhvckluZm97XG4gICAgICAgIFtjbGFzcyo9J1RpZXItJ117XG4gICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8gRml4IG9ubGluZSBub3cgYmcgaXNzdWVcbi5vbmxpbmVOb3d7XG4gIC5QYW5lbEluZm97XG4gICAgW2NsYXNzKj0nVGllci0nXXtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gX2Nvbm5lY3Quc2NzcyAtIHBhcnRpYWxzL2N1c3RvbV9jb21wb25lbnRzL1xuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy9cblxuXG4uY29ubmVjdCAuQ29ubmVjdHtcbiAgZm9ybXtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMjUgMTYpO1xuICAgIHVse1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbi8vIFByb2ZpbGUgUGhvdG9cbi5jb25uZWN0IC5Db25uZWN0e1xuICAuUGhvdG9XcmFwe1xuICAgIC5Qcm9maWxlUGhvdG97XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIH1cbiAgfVxufVxuXG4vLyBQcm9maWxlIG5hbWUgJiBoZWFkZXJcbi5jb25uZWN0IC5Db25uZWN0e1xuICAuV2hvSXN7XG4gICAgaDN7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG4gIH1cbn1cblxuLy8gRmluZSBQcmludCAmIEV4aXN0aW5nIFVzZXJuYW1lXG4uY29ubmVjdCAuQ29ubmVjdHtcbiAgLkZpbmVQcmludHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuICAuRXhpc3RpbmdVc2VybmFtZXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgfVxufVxuIiwiLy8gX3NoYW1lLnNjc3MgLS1wYXJ0aWFsc1xuLy8gVGhpcyBpcyB3aGVyZSB0aGluZ3MgZ2V0IHRlc3RlZC4gQWx3YXlzIGZpbmQgYSBwZXJtZW5hbnQgaG9tZSBmb3Jcbi8vIHN0eWxpbmcgY2hhbmdlcyB0aGF0IGFyZSBoZXJlLiBUaGlzIGZpbGUgc2hvdWxkIGJlIGVtcHR5IHdoZW5cbi8vIHByb2plY3QgaXMgc2V0IGZvciBwcm9kdWN0aW9uLlxuLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vLy8vL1xuLy8gVGhpcyBmaWxlIGlz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 */
