@charset "UTF-8";
.tera, .giga, .mega, h1, .alpha, h2, .beta, h3, .gamma, h4, .delta, h5, .epsilon, .zeta, h6 {
  text-rendering: optimizeLegibility;
  line-height: 1;
  margin-top: 0;
}

/* ==========================================================================
   Normalize.scss settings
   ========================================================================== */
/**
 * Includes legacy browser support IE6/7
 *
 * Set to false if you want to drop support for IE6 and IE7
 */
/* Base
   ========================================================================== */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS and IE text size adjust after device orientation change,
 *    without disabling user zoom.
 * 3. Corrects text resizing oddly in IE 6/7 when body `font-size` is set using
 *  `em` units.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

/* Embedded content
   ========================================================================== */
/**
 * 1. Remove border when inside `a` element in IE 8/9/10.
 * 2. Improves image quality when scaled in IE 7.
 */
img {
  border: 0;
}

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

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

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

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

/**
 * Address odd `em`-unit font size rendering in all browsers.
 * Correct font family set oddly in IE 6, Safari 4/5, and Chrome.
 */
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.
 * 4. Improves appearance and consistency in all browsers.
 */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */
}

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

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

/**
 * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
 *  and `video` controls.
 * 2. Correct inability to style clickable `input` types in iOS.
 * 3. Improve usability and consistency of cursor style between image-type
 *  `input` and others.
 * 4. Removes inner spacing in IE 7 without affecting normal text inputs.
 *  Known issue: inner spacing remains in IE 6.
 */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */
}

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

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

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

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

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

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

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

/**
 * Define consistent border, margin, and padding.
 */
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.
 * 3. Corrects text not wrapping in Firefox 3.
 * 4. Corrects alignment displayed oddly in IE 6/7.
 */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */
}

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

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

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

td,
th {
  padding: 0;
}

button,
input,
select,
textarea {
  color: #222;
}

::-moz-selection {
  text-shadow: none;
  background: #FE0076;
  color: white;
}

::selection {
  text-shadow: none;
  background: #FE0076;
  color: white;
}

hr {
  border: 0;
  border-top: 1px solid #ccc;
  box-shadow: inset 0 1px 1px rgba(255, 251, 251, 0.76);
  display: block;
  height: 1px;
  margin: 1em 0;
  padding: 0;
}

audio,
canvas,
img,
video {
  vertical-align: middle;
}

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

textarea {
  resize: vertical;
}

html,
input {
  box-sizing: border-box;
}

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

* {
  -webkit-tap-highlight-color: transparent;
}

html,
body {
  height: 100%;
  margin: 0;
  padding: 0;
  background: #B2E6FB;
}

body {
  background: #B2E6FB url("../img/bubbles.svg") -100% 0 repeat-x;
  min-width: 320px;
}

::-webkit-input-placeholder {
  color: #AAAAAA;
}

::-moz-placeholder {
  color: #AAAAAA;
}

:-ms-input-placeholder {
  color: #AAAAAA;
}

img,
embed,
object,
video {
  max-width: 100%;
  height: auto;
}

svg {
  width: 100%;
  height: auto;
}

svg:not(:root) {
  overflow: visible;
}

a {
  transition: 0.275s all ease-in-out;
  color: #FE0076;
  text-decoration: none;
}

a:focus, a:hover, a:active {
  color: #ff98c8;
}

@font-face {
  font-family: 'dinweb-bold';
  src: url("../fonts/dinweb-bold-webfont.woff2") format("woff2"), url("../fonts/dinweb-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}

body {
  word-wrap: break-word;
  font: normal 100%/1.5 Helvetica, sans-serif;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: serif;
  line-height: 1;
  margin-top: 0;
  text-rendering: optimizeLegibility;
  font-family: 'dinweb-bold';
}

.tera {
  font-size: 7.3125em;
  margin-bottom: 0.66667em;
}

.giga {
  font-size: 5.625em;
  margin-bottom: 0.66667em;
}

.mega, h1 {
  font-size: 4.5em;
  margin-bottom: 0.66667em;
}

.alpha, h2 {
  font-size: 3.75em;
  margin-bottom: 0.66667em;
}

.beta, h3 {
  font-size: 3em;
  margin-bottom: 0.66667em;
}

.gamma, h4 {
  font-size: 2.25em;
  margin-bottom: 0.66667em;
}

.delta, h5 {
  font-size: 1.5em;
  margin-bottom: 0.66667em;
}

.epsilon {
  font-size: 1.3125em;
  margin-bottom: 0.66667em;
}

.zeta, h6 {
  font-size: 1.125em;
  margin-bottom: 0.66667em;
}

input,
abbr,
acronym,
blockquote,
code,
kbd,
q,
samp,
var {
  -webkit-hyphens: none;
  -ms-hyphens: none;
  hyphens: none;
}

pre code {
  word-wrap: normal;
  white-space: -moz-pre-wrap;
  white-space: pre-wrap;
}

pre,
code {
  white-space: pre;
}

code {
  font-family: monospace;
}

@media screen and (min-width: 1180px) {
  .container {
    max-width: 1180px;
    margin-left: auto;
    margin-right: auto;
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
  }
}

.spacebetween {
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
}

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

.flex {
  display: -ms-flexbox;
  display: flex;
}

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

.form-grid {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: baseline;
  align-items: baseline;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

.form-group {
  display: -ms-flexbox;
  display: flex;
}

.form-group .form-group__input {
  margin-bottom: 0;
}

.inputaddon-field {
  -ms-flex: 1;
  flex: 1;
  -ms-flex-order: 2;
  order: 2;
}

.inputaddon-item {
  -ms-flex-item-align: center;
  align-self: center;
  -ms-flex-order: 1;
  order: 1;
  padding: calc((10 / 16) * 1rem);
}

.inputaddon-btn {
  -ms-flex-order: 3;
  order: 3;
}

.inputaddon-field--reverse {
  -ms-flex-order: 2;
  order: 2;
}

.inputaddon-item--reverse {
  -ms-flex-order: 3;
  order: 3;
}

.inputaddon-btn--reverse {
  -ms-flex-order: 1;
  order: 1;
}

.form-group--inline-btn {
  -ms-flex-direction: row;
  flex-direction: row;
  width: 100%;
}

.form-group__input--inline-btn {
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
}

.form-group__btn--inline {
  -ms-flex: 1;
  flex: 1;
  width: 100%;
}

.form-group__button--inline-btn {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.form-group__btn--inline:not(:first-child) {
  margin-left: calc((20 / 16) * 1rem);
}

.form-group__errormsg {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

.has-errors-form-group {
  color: red;
}

.form-group__errormsg--cinnabar {
  background: red;
  color: white;
}

.row {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  width: 100%;
}

.row.no-grid {
  padding-right: 20px;
  padding-left: 20px;
}

@media screen and (min-width: 769px) {
  .row.no-grid {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.grid {
  float: none;
  margin-bottom: 10px;
}

@media screen and (min-width: 769px) {
  .grid {
    float: left;
    margin-bottom: 0px;
    position: relative;
    padding-right: 10px;
    padding-left: 10px;
  }
}

.grid.full {
  width: 100%;
}

.grid.half {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.half {
    width: 50%;
  }
}

.grid.one-third {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.one-third {
    width: 33.33333%;
  }
}

.grid.two-thirds {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.two-thirds {
    width: 66.66667%;
  }
}

.grid.one-quarter {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.one-quarter {
    width: 25%;
  }
}

.grid.three-quarters {
  width: 100%;
}

@media screen and (min-width: 769px) {
  .grid.three-quarters {
    width: 75%;
  }
}

.media-obj {
  display: table;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  -ms-flex-item-align: stretch;
  align-self: stretch;
}

.media-obj--vcenter {
  -ms-flex-align: center;
  align-items: center;
}

.media-obj--reverse .media-obj__fig {
  -ms-flex-order: 2;
  order: 2;
}

.media-obj--reverse .media-obj__body {
  -ms-flex-order: 1;
  order: 1;
}

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

.media-obj--hcenter {
  -ms-flex-pack: center;
  justify-content: center;
}

.media-obj--caption {
  -ms-flex: 1;
  flex: 1;
  -ms-flex-direction: column;
  flex-direction: column;
}

.media-obj__body {
  -ms-flex: 1;
  flex: 1;
}

@media screen and (min-width: 768px) {
  body > .stripe {
    display: none;
  }
}

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

.stripe--plumb {
  padding: 0.5em 0.75em;
  background: #390050;
  color: white;
}

@media screen and (max-width: 400px) {
  .stripe--plumb {
    font-size: 12px;
  }
}

.sticky-body {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
}

.sticky-container {
  display: table;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex: auto;
  flex: auto;
  height: 100%;
  width: 100%;
}

@media screen and (min-width: 1180px) {
  .sticky-container {
    -ms-flex: 1 0 auto;
    flex: 1 0 auto;
  }
}

.sticky-row {
  display: -moz-box;
}

.sticky-header {
  -ms-flex: none;
  flex: none;
}

.sticky-content {
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
  height: auto;
}

.sticky-footer {
  -ms-flex: none;
  flex: none;
  vertical-align: middle;
  -ms-flex-align: center;
  align-items: center;
}

.avatar {
  width: 70px;
  height: 70px;
  border: 4px solid #390050;
}

.winner {
  position: relative;
}

.winner::before {
  border-radius: 80%;
  content: 'winner';
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: end;
  align-items: flex-end;
  -ms-flex-pack: center;
  justify-content: center;
  height: 80%;
  margin: auto;
  padding-bottom: 0.1875rem;
  position: absolute;
  bottom: 4px;
  left: 0;
  right: 0;
  width: 90%;
  z-index: 1;
  font-size: 12px;
  text-align: center;
  background: linear-gradient(to top, #FE0076 40%, transparent 40%);
  color: white;
}

.avatar--med {
  width: 108px;
  height: 108px;
}

.avatar--round {
  border-radius: 80%;
}

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

.btn {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border-radius: 0;
  display: inline-block;
  margin-top: 0.5rem;
  margin-bottom: 0.5rem;
  padding: 1rem;
  transition: none;
  width: 100%;
  text-align: center;
  text-transform: uppercase;
}

.btn:hover, .btn:focus {
  color: white;
}

.btn--rad4 {
  border-radius: 4px;
}

.btn--primary {
  background: #390050;
  color: white;
}

.btn--primary:hover, .btn--primary:focus {
  background: #FE0076;
}

.btn--secondary {
  border: 2px solid #C0ACC6;
  background: transparent;
  color: white;
}

.btn--secondary:hover, .btn--secondary:focus {
  background: #FE0076;
  border: 2px solid #FE0076;
}

.card {
  padding: 0.25rem 1rem;
  font-size: 0.875em;
  line-height: 1.425;
}

.card-single {
  color: inherit;
}

@media screen and (min-width: 640px) {
  .card-single {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-align: stretch;
    align-items: stretch;
    -ms-flex-line-pack: center;
    align-content: center;
  }
}

.card-single:hover {
  cursor: pointer;
}

@media screen and (min-width: 640px) {
  .card-single:hover * {
    background: #FE0076;
    color: white;
  }
}

@media screen and (min-width: 640px) {
  .card-single > div {
    -ms-flex: 100%;
    flex: 100%;
  }
}

@media screen and (min-width: 640px) {
  .flexboxtweener .card-single > div {
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }
}

@media screen and (min-width: 640px) {
  .card-single > * ~ * {
    border-left: 4px solid white;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    max-width: 8.75em;
    width: 100%;
    background: #EBEBEB;
  }
}

.card-single:hover .card {
  background: #FE0076;
  color: white;
}

.card--reply {
  position: relative;
  color: black;
  background: #EBEBEB;
  z-index: 0;
}

.card--reply::before {
  border-left: 6px solid #fe0076;
  content: '';
  display: block;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  z-index: 0;
}

.card--gallery {
  background: #EBEBEB;
  color: #390050;
}

.card--gallery.hover-rose:hover {
  cursor: pointer;
}

.card--plumb {
  background: #390050;
  color: white;
}

.card--gold {
  background: #FDF400;
}

.card--rose, .card--gallery.hover-rose:hover {
  background: #FE0076;
  color: white;
}

.card--carulean {
  background: #009DE7;
  color: white;
}

.comment {
  position: relative;
  color: #3F0C54;
}

.comments .card {
  padding: 1.5rem 2rem;
}

.comment .media-obj__body > *:first-child {
  margin-top: 0;
}

.comment .media-obj__body a {
  font-weight: bold;
  color: #390050;
}

.comment .media-obj__body a:hover, .comment .media-obj__body a:focus {
  color: #FE0076;
}

.comment + .comment {
  margin-top: 1rem;
}

.comments .comment .card .media-obj__fig {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 1.25rem;
}

.comments .comment .card .media-obj__fig img {
  margin-bottom: 0.9375rem;
}

.comment-level1 .card {
  position: relative;
  background: transparent;
}

@media screen and (min-width: 800px) {
  .comment-level1 .card {
    padding-left: 7rem;
    background: #EBEBEB;
  }
}

.comment-level2 .card {
  background: #EBEBEB;
}

@media screen and (min-width: 800px) {
  .comment-level2 .card {
    padding-left: 11.8125rem;
  }
}

.comment-level2 {
  position: relative;
  padding: 0.625rem;
  padding-bottom: 0.3125rem;
}

@media screen and (min-width: 800px) {
  .comment-level2 {
    padding: 0;
    padding-bottom: 0;
  }
}

.comment-level2:not(:last-of-type) {
  padding-bottom: 0;
}

@media screen and (min-width: 800px) {
  .comment-level2:not(:last-of-type) {
    padding-bottom: initial;
  }
}

@media screen and (min-width: 800px) {
  .comment-level2 {
    padding: initial;
  }
}

.comments-level1,
.comments-level2 {
  position: relative;
}

@media screen and (min-width: 800px) {
  .comments-level1::before,
  .comments-level2::before {
    content: '';
    display: block;
    width: 2px;
    height: 100%;
    background: #9E86A7;
    position: absolute;
    top: -15px;
    bottom: 20px;
    z-index: 1;
  }
}

.comments-level1 {
  border: 1.25rem solid #EBEBEB;
  background: #d6d6d6;
  padding-bottom: 0.3125rem;
}

@media screen and (min-width: 800px) {
  .comments-level1 {
    border: none;
    padding-bottom: inherit;
  }
}

@media screen and (min-width: 800px) {
  .comments-level1::before {
    left: 3.75rem;
  }
}

.comments-level2 {
  border: none;
}

@media screen and (min-width: 800px) {
  .comments-level2::before {
    left: 8.75rem;
  }
}

@media screen and (min-width: 800px) {
  .comment-child2.comment-level2:before {
    content: '';
    display: block;
    height: 100%;
    width: 2px;
    position: absolute;
    top: -16px;
    left: 13.5rem;
    right: 0;
    z-index: 0;
    background: #9e86a7;
  }
}

.user-comments__response .card {
  padding: 1.5rem 2rem;
}

.user-comments__response .card .media-obj__fig {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 0.9375rem;
}

.user-comments__response .card .media-obj__fig img {
  margin-bottom: 1.25rem;
}

.user-comments__response .card .media-obj__body > :first-child {
  margin-top: 0;
}

.counter {
  border-radius: 2px;
  display: inline-block;
  margin-bottom: 5px;
  padding: 0.125em 0.375em;
  background: white;
}

.curriculum-vitae {
  font-size: 1em;
}

.curriculum-vitae__header {
  border-bottom: 1px solid rgba(204, 204, 204, 0.64);
  box-shadow: inset 0 1px 1px rgba(255, 251, 251, 0.76);
  padding: 2em;
  background: whitesmoke;
}

.curriculum-vitae__title {
  font-size: 2em;
}

.curriculum-vitae__header img[class*="avatar"] {
  margin-right: 1em;
}

.curriculum-vitae__body {
  padding: 2em;
  background: #f1f1f1;
}

.curriculum-vitae__quote {
  display: inline-block;
  position: relative;
  font-size: 1.25em;
  margin-top: 0;
  padding: 10px 30px;
  background: rgba(57, 0, 80, 0.3);
  color: white;
  border-radius: 1px;
}

.curriculum-vitae__quote:before {
  content: "“";
  position: absolute;
  top: 5px;
  left: 5px;
  font-size: 3em;
  line-height: 1;
}

.curriculum-vitae__quote:after {
  position: absolute;
  top: 5px;
  right: 5px;
  content: "”";
  font-size: 3em;
  margin-left: 5px;
  line-height: 1;
}

.curriculum-vitae__body img {
  border: 0.3125em solid rgba(255, 255, 255, 0.5);
}

.curriculum-vitae li:not(:first-of-type) {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.curriculum-vitae__data > li:not(:first-of-type) {
  margin-top: 2em;
  margin-bottom: 2em;
}

.curriculum-vitae__data li {
  overflow: hidden;
}

.curriculum-vitae__data li .speech-bubble {
  width: 47.5%;
  float: left;
  margin-right: 5%;
}

@media screen and (max-width: 500px) {
  .curriculum-vitae__data li .speech-bubble {
    width: 100%;
    margin-right: 0;
  }
}

.curriculum-vitae__data li .speech-bubble:nth-child(even) {
  margin-right: 0;
}

.curriculum-vitae__data li .speech-bubble h5 {
  font-size: 1.25em;
}

.curriculum-vitae__data li .speech-bubble p {
  font-style: italic;
}

.curriculum-vitae .hide {
  display: none;
}

.curriculum-vitae .hide:target {
  display: block;
}

.curriculum-vitae .read-more:hover, .curriculum-vitae .read-more:focus {
  color: black;
}

.curriculum-vitae .shortlinks {
  padding-top: 1em;
}

.cv .card {
  margin-bottom: 1em;
  background: white;
}

.cv .card li {
  margin-top: 1em;
}

.cv .card li:not(:first-of-type) {
  margin-bottom: 1em;
}

footer[role="contentinfo"] {
  padding: 1.25rem 1em;
  text-align: center;
}

@media screen and (min-width: 769px) {
  footer[role="contentinfo"] {
    text-align: left;
  }
}

@media screen and (min-width: 769px) {
  footer[role="contentinfo"] .grid.three-quarters {
    transform: translateY(-70px);
  }
}

footer[role="contentinfo"] nav {
  padding-top: 1.25rem;
  font-size: 1em;
}

footer[role="contentinfo"] nav a {
  display: inline-block;
  padding: .5em;
  color: #402951;
}

footer[role="contentinfo"] nav a:not(:last-of-type) {
  padding-right: 1.25rem;
}

footer[role="contentinfo"] nav a:hover, footer[role="contentinfo"] nav a:focus {
  text-decoration: underline;
  color: #402951;
}

@media screen and (max-width: 768px) {
  header[role="banner"] {
    margin: auto;
    padding: 1em 0.5em 0.25em;
  }
}

@media screen and (max-width: 600px) {
  header[role="banner"] {
    padding: 0 10px;
  }
}

@media screen and (min-width: 768px) {
  header[role="banner"] > .container {
    background: #390050;
  }
}

@media screen and (min-width: 768px) {
  header[role="banner"] > .container {
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin: 0;
    max-width: 100%;
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .container.flex {
    padding-right: 0;
  }
}

header[role="banner"] .container > .flexend {
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .container > .flexend {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -ms-flex-pack: end;
    justify-content: flex-end;
  }
}

header[role="banner"] [class*="icon-ask"],
header[role="banner"] [class*="icon-chat"],
header[role="banner"] [class*="icon-vote"] {
  margin: 0;
}

header[role="banner"] .btn-menu {
  display: none;
  height: 40px;
  margin-top: 0;
  width: 50px;
  background: transparent;
}

@media screen and (min-width: 444px) {
  header[role="banner"] .btn-menu {
    margin-top: initial;
  }
}

header[role="banner"] .btn-menu .icon {
  display: block;
}

header[role="banner"] .btn-menu .icon i {
  top: 1px;
  font-size: 1.2em;
}

.js header[role="banner"] .btn-menu {
  display: block;
}

@media screen and (min-width: 768px) {
  .js header[role="banner"] .btn-menu {
    display: none;
  }
}

header[role="banner"] img[alt*="zone"] {
  display: none;
}

@media screen and (min-width: 768px) {
  header[role="banner"] img[alt*="zone"] {
    display: inline-block;
    transform: scale(0.8) translateX(-40px) translateY(0);
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] img[alt*="zone"] {
    display: inline-block;
    transform: scale(0.8) translateX(-70px) translateY(-100px);
  }
}

header[role="banner"] form[role="search"] {
  display: none;
}

@media screen and (min-width: 768px) {
  header[role="banner"] form[role="search"] {
    display: inherit;
    transform: translateX(-10px);
  }
}

header[role="banner"] form[role="search"] .icon {
  width: 30px;
  height: 30px;
  padding: 5px;
}

header[role="banner"] input[type="search"] {
  padding-top: 0.3125rem;
  padding-bottom: 0.3125rem;
  background: white;
}

header[role="banner"] input[type="search"] + [class*="btn"] {
  border: 2px solid white;
}

@media screen and (max-width: 1179.9px) {
  header[role="banner"] .report-card {
    margin: auto;
    padding: 0.25em;
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .report-card {
    -ms-flex: 3 1 100%;
    flex: 3 1 100%;
  }
}

@media screen and (max-width: 768px) {
  header[role="banner"] .report__title {
    display: none;
  }
}

@media screen and (max-width: 1179.9px) {
  header[role="banner"] .report__title {
    float: none !important;
    transform: none !important;
    text-align: center;
  }
}

@media screen and (max-width: 768px) {
  header[role="banner"] a[href="/"] {
    display: none;
  }
}

header[role="banner"] .btn--secondary {
  background: #390050;
}

@media screen and (max-width: 1179.9px) {
  header[role="banner"] .btn--secondary {
    width: auto;
    margin-left: 10px;
    padding: 5px 10px;
  }
}

@media screen and (min-width: 1180px) {
  header[role="banner"] .btn--secondary {
    margin-left: 10px;
    max-width: 12.5em;
    padding: 0.35714rem;
  }
}

[class*="icon-ask"],
[class*="icon-chat"],
[class*="icon-vote"] {
  width: 145px;
  height: 54px;
  margin: 0.625rem;
  transition: none;
  background-image: url("../img/sprite-raster.png");
  background-repeat: no-repeat;
}

.icon-ask-yellow {
  background-position: 0 -101px;
}

.icon-ask-yellow:hover, .icon-ask-yellow:focus {
  background-position: 0 0;
}

.icon-chat-pink {
  background-position: 0 -256px;
}

.icon-chat-pink:hover, .icon-chat-pink:focus {
  background-position: 0 -155px;
}

.icon-vote-blue {
  background-position: 0 -411px;
}

.icon-vote-blue:hover, .icon-vote-blue:focus {
  background-position: 0 -310px;
}

.icon-ask-yellow-pill {
  width: 126px;
  height: 47px;
  background-position: 0 -54px;
}

.icon-ask-yellow-pill:hover {
  background-position: -5px -104px;
}

.icon-chat-pink-pill {
  width: 126px;
  height: 47px;
  background-position: 0 -209px;
}

.icon-chat-pink-pill:hover {
  background-position: -2px -157px;
}

.icon-vote-blue-pill {
  width: 126px;
  height: 47px;
  background-position: 0 -364px;
}

.icon-vote-blue-pill:hover {
  background-position: -13px -313px;
}

.icon {
  display: inline-block;
  width: 36px;
  height: 36px;
  border-radius: 80%;
  padding: 0;
  position: relative;
  vertical-align: sub;
  background: #390050;
  text-align: center;
}

.icon i {
  position: absolute;
  top: 0;
  left: 0;
  width: 36px;
  line-height: 36px;
  margin: 0;
  padding: 0;
  vertical-align: middle;
  text-align: center;
  color: white;
  font-size: 16px;
}

.icon i.fa-comment {
  top: -1px;
}

.icon i:before {
  margin: 0;
  padding: 0;
}

.dropdown-icon {
  width: 20px;
  height: 20px;
  vertical-align: sub;
}

.icon + .icon-heart {
  margin-top: 10px;
}

.icon-heart {
  width: 30px;
  height: 30px;
  display: inline-block;
  position: relative;
  top: 0;
  transform: rotate(-45deg) scale(0.75);
  transform-origin: 50% 50%;
  font-size: 1.25em;
  line-height: 1.125;
  background-color: white;
}

.icon-heart::before, .icon-heart::after {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  content: "";
  position: absolute;
  background-color: white;
}

.icon-heart::before {
  top: -15px;
  left: 0;
}

.icon-heart::after {
  left: 15px;
  top: 0;
}

.icon-heart:hover {
  cursor: pointer;
}

.icon-heart span {
  transform: rotate(45deg);
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 1;
  width: 100%;
  text-align: center;
  color: #390050;
}

.icon-heart.js-hearted,
.icon-heart.js-hearted::before,
.icon-heart.js-hearted::after {
  background-color: #ff7e7e;
}

.icon-heart.js-hearted {
  -webkit-filter: drop-shadow(-1px 1px 2px rgba(200, 0, 0, 0.9));
  filter: drop-shadow(-1px 1px 2px rgba(200, 0, 0, 0.9));
}

.icon-heart.js-hearted span {
  font-weight: 800;
  color: #482828;
}

.icon-heart--rose::before, .icon-heart--rose::after {
  background: #FE0076;
}

.icon-heart--plumb {
  background: #390050;
}

.icon-heart--plumb::before, .icon-heart--plumb::after {
  background: #390050;
}

.icon-heart--plumb span {
  color: white;
}

input[type="search"] + [class*="btn"] {
  border: 2px solid transparent;
  background: #390050;
  color: white;
}

input:not([type="submit"]),
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  border: none;
  border-radius: 0;
  padding: 1rem;
  width: 100%;
  background: #EBEBEB;
}

input:not([type="submit"]):hover, input:not([type="submit"]):focus,
select:hover,
select:focus,
textarea:hover,
textarea:focus {
  outline: none;
}

input[type="checkbox"] {
  -webkit-appearance: checkbox !important;
  -moz-appearance: checkbox !important;
  appearance: checkbox !important;
  width: auto;
}

input[type="radio"] {
  -webkit-appearance: radio !important;
  -moz-appearance: radio !important;
  appearance: radio !important;
  width: auto;
}

input[type="text"]:required {
  border: 2px solid #DD5E00;
}

select {
  cursor: pointer;
  color: #AAAAAA;
}

@media screen and (-webkit-min-device-pixel-ratio: 0) {
  select {
    background-image: url(data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiA/PjxzdmcgaGVpZ2h0PSI0OCIgdmlld0JveD0iMCAwIDQ4IDQ4IiB3aWR0aD0iNDgiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+PHBhdGggZD0iTTE0LjgzIDE2LjQybDkuMTcgOS4xNyA5LjE3LTkuMTcgMi44MyAyLjgzLTEyIDEyLTEyLTEyeiIvPjxwYXRoIGQ9Ik0wLS43NWg0OHY0OGgtNDh6IiBmaWxsPSJub25lIi8+PC9zdmc+);
    background-position: right 1.2% top 50%;
    background-repeat: no-repeat;
    background-size: 30px;
  }
}

.login input:not([type="submit"]),
.login textarea,
.login select {
  margin-bottom: 1rem;
}

.login input[type="search"] {
  padding: 0.83333rem;
}

.login .icon {
  border-radius: 0;
}

.nav-dropdown, .menu-header-menu-container {
  background: rgba(57, 0, 80, 0.9);
}

@media screen and (min-width: 768px) {
  .nav-dropdown, .menu-header-menu-container {
    position: relative;
    font-size: 1em;
    text-align: left;
    background: #390050;
  }
}

.js .nav-dropdown, .js .menu-header-menu-container {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  transform: scale(0);
  text-align: right;
  font-size: 1.25em;
  z-index: 1;
}

@media screen and (min-width: 768px) {
  .js .nav-dropdown, .js .menu-header-menu-container {
    position: relative;
    transform: scale(1);
    font-size: 1em;
    text-align: left;
    background: #390050;
  }
}

.no-js .nav-dropdown, .no-js .menu-header-menu-container {
  font-size: 0.8em;
}

@media screen and (min-width: 768px) {
  .no-js .nav-dropdown, .no-js .menu-header-menu-container {
    font-size: 1em;
  }
}

.nav-dropdown__list, .menu-header-menu-container ul {
  height: 100%;
  font-size: 1em;
  text-transform: capitalize;
  margin: 0;
  padding: 0;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list, .menu-header-menu-container ul {
    display: block;
  }
}

.menu-header-menu-container ul {
  list-style-type: none;
  margin: 0;
  padding-left: 0;
}

.nav-dropdown__list li, .menu-header-menu-container ul li {
  display: block;
  list-style: none;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list li, .menu-header-menu-container ul li {
    display: inline-block;
  }
}

.nav-dropdown__list > li:not(:first-of-type), .menu-header-menu-container > ul > li:not(:first-of-type) {
  margin-left: -0.3125em;
}

.no-js .nav-dropdown__list > li:not(:first-of-type), .no-js .menu-header-menu-container > ul > li:not(:first-of-type) {
  margin-left: 0;
}

.nav-dropdown__list .button-dropdown, .menu-header-menu-container ul li {
  position: relative;
}

.nav-dropdown__list .button-dropdown:hover > ul,
.nav-dropdown__list .button-dropdown:focus > ul,
.menu-header-menu-container ul li:hover ul,
.menu-header-menu-container ul li:focus ul {
  display: block;
}

.nav-dropdown__list a, .menu-header-menu-container ul a {
  display: block;
  padding: 0.625em 0.9375em;
  text-decoration: none;
  background-color: transparent;
  color: white;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list a, .menu-header-menu-container ul a {
    padding: 0.625em 0.9375em;
  }
}

.menu-item-has-children ul a {
  background: #390050;
}

.nav-dropdown__list a:hover,
.nav-dropdown__list a:focus,
.menu-header-menu-container a:hover,
.menu-header-menu-container a:focus {
  outline: none;
  background-color: #FE0076;
  color: white;
}

.nav-dropdown__list .dropdown-icon {
  margin-left: 2px;
  fill: white;
}

.nav-dropdown__list a.dropdown-toggle.active .dropdown-icon {
  fill: white;
}

.nav-dropdown__list .dropdown-menu, .menu-item-has-children ul {
  display: block;
  padding: 0;
  margin: 0;
  width: 100%;
  text-align: right;
  background: rgba(57, 0, 80, 0.6);
  color: white;
}

@media screen and (min-width: 768px) {
  .nav-dropdown__list .dropdown-menu, .menu-item-has-children ul {
    display: none;
    position: absolute;
    left: 0;
    width: 150%;
    z-index: 500000;
    text-align: left;
    background: #390050;
  }
}

.no-js .nav-dropdown__list .dropdown-menu, .no-js .menu-item-has-children ul {
  text-align: left;
}

.no-js .nav-dropdown__list .dropdown-menu li a, .no-js .menu-item-has-children ul li a {
  padding-left: 20px;
}

@media screen and (min-width: 768px) {
  .no-js .nav-dropdown__list .dropdown-menu li a, .no-js .menu-item-has-children ul li a {
    padding-left: 10px;
  }
}

.nav-dropdown__list .dropdown-menu li, .menu-item-has-children ul li {
  min-width: 100%;
  white-space: nowrap;
}

.nav-dropdown__list .dropdown-menu a, .menu-item-has-children ul li a {
  display: inline-block;
  width: 100%;
  color: white;
}

.nav-item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: justify;
  justify-content: space-between;
}

nav[role="navigation"] {
  transform: scale(0.75);
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex: 1 0 auto;
  flex: 1 0 auto;
}

@media screen and (min-width: 400px) {
  nav[role="navigation"] {
    -ms-flex: initial;
    flex: initial;
    transform: scale(1);
  }
}

@media screen and (min-width: 640px) {
  .news-report:hover, .news-report:focus {
    background: #FE0076;
  }
}

.news-report:not(:first-of-type) {
  margin-top: 1rem;
}

.news-report:last-of-type {
  margin-bottom: 1rem;
}

@media screen and (min-width: 640px) {
  .news-report > *:hover, .news-report > *:focus {
    background: #FE0076;
    color: white;
  }
}

@media screen and (min-width: 640px) {
  .news-report > *:hover ~ * {
    background: #FE0076;
    color: white;
  }
}

.profiles {
  font-size: 1em;
  line-height: 1.5;
}

.profiles .card {
  padding-left: 2em;
  padding-right: 2em;
}

.profiles li {
  margin-top: 0.5em;
  margin-bottom: 0.5em;
}

.profiles .media-obj__body {
  margin-top: 1em;
}

.profiles .winner::before {
  padding-bottom: 0.5rem;
}

.profiles .avatar {
  border: 4px solid #fe0076;
}

.report {
  padding: 10px 5px 5px;
  background: rgba(255, 255, 255, 0.65);
}

.report-card {
  max-width: 700px;
  min-height: 90px;
}

.report__data a:hover {
  cursor: pointer;
}

.report__data a:hover .avatar {
  border-color: #FE0076;
}

.report__data a:hover .media-obj__body {
  color: #FE0076;
}

.report__title {
  float: left;
  margin-bottom: 0.625em;
  transform: translateY(150%);
  font-size: 1.25em;
  text-transform: uppercase;
  text-align: right;
}

.report__data {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  height: 100%;
}

@media screen and (max-width: 520px) {
  .report__data {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }
}

.report__data .media-obj {
  -ms-flex-align: center;
  align-items: center;
  margin: 0;
}

.report__data > a {
  -ms-flex: 33.333333%;
  flex: 33.333333%;
  padding: 0 0.25em;
  color: inherit;
}

@media screen and (min-width: 1180px) {
  .report__data > a {
    -ms-flex: 70px;
    flex: 70px;
    padding: initial;
  }
}

.report__data .media-obj__body {
  font-weight: 800;
}

.search-results .icon {
  margin-right: 5px;
}

.search-results__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.search-results__item:not(:last-of-type) {
  margin-bottom: 10px;
}

.search-results__cite {
  margin-left: 5px;
}

.speech-bubble {
  margin: 0;
  margin-bottom: 40px;
  padding: 1.5rem 2rem;
  position: relative;
  font-size: 1em;
}

.speech-bubble::before {
  content: '';
  display: block;
  position: absolute;
  left: 3rem;
  bottom: -25px;
  transform-origin: center;
  transform: rotate(90deg) skew(-25deg) translateY(16.66667px);
}

.speech-bubble p {
  -ms-overflow-style: none;
  overflow: hidden;
}

.speech-bubble .media-obj__fig {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-direction: column;
  flex-direction: column;
  padding-right: 1.25rem;
}

.speech-bubble .media-obj__fig svg:first-of-type {
  margin-bottom: 0.9375rem;
}

.speech-bubble .media-obj__body > :first-child {
  margin-top: 0;
}

.speech-bubble cite {
  position: absolute;
  bottom: -1.875rem;
  left: 4rem;
  font-style: normal;
  font-size: 0.875em;
  line-height: 1.125;
  word-wrap: break-all;
  color: black;
}

.speech-bubble cite a {
  font-weight: bold;
  color: #ff2f8f;
}

.speech-bubble cite a:hover, .speech-bubble cite a:focus {
  text-decoration: underline;
}

.speech-bubble--rose a, .speech-bubble--gallery:hover a {
  color: white;
}

.speech-bubble--gallery {
  background: #EBEBEB;
}

.speech-bubble--gallery::before {
  border: 12.5px solid transparent;
  border-top: 12.5px solid #EBEBEB;
  border-bottom: 0;
  height: 0;
  width: 0;
  border-top-width: 25px;
}

.speech-bubble--gallery:hover {
  cursor: pointer;
}

.speech-bubble--gallery:hover::before {
  border-top-color: #FE0076;
}

.speech-bubble--rose, .speech-bubble--gallery:hover {
  background: #FE0076;
  color: white;
}

.speech-bubble--rose::before, .speech-bubble--gallery:hover::before {
  border: 12.5px solid transparent;
  border-top: 12.5px solid #FE0076;
  border-bottom: 0;
  height: 0;
  width: 0;
  border-top-width: 25px;
}

.teacher-status {
  font-size: 1.5em;
}

.teacher-status .avatar {
  border: 0.20833em solid #fe0076;
}

.teacher-status .media-obj__body {
  margin-top: 0.5em;
  text-align: center;
}

.teacher-status .status {
  margin-bottom: 0.5em;
  padding: 0.5em;
  background: rgba(240, 255, 255, 0.57);
}

.teacher-status .winner::before {
  padding-bottom: 0.5rem;
}

.title {
  position: relative;
  padding-left: 1.83333em;
  line-height: inherit;
}

.title .icon {
  position: absolute;
  left: 0;
  top: 0;
  bottom: 0;
}

.title a {
  color: inherit;
}

.title a:hover, .title a:focus {
  text-decoration: underline;
}

@media screen and (min-width: 1180px) {
  .grid.two-thirds > .row + .row {
    margin-top: 1.25rem;
  }
}

.grid.one-third hr {
  border-top: 2px solid #8E6F9C;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.grid.one-third > .row + .row {
  margin-top: 1.25rem;
}

@media screen and (min-width: 740px) and (max-width: 968px) {
  .grid.one-third .card.media-obj {
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

@media screen and (max-width: 400px) {
  .grid.one-third .card.media-obj {
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.grid.one-third .speech-bubble {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: stretch;
  align-content: stretch;
  padding: 0.125em 1.25em;
}

@media screen and (min-width: 769px) {
  .grid.one-third .speech-bubble {
    min-height: 12.5em;
    max-height: 12.5em;
  }
}

.flexboxtweener .grid.one-third .speech-bubble {
  display: block;
}

.template-primary main > .container {
  padding: 0.83333rem 0.83333rem 2.5rem 0.83333rem;
  background: white;
}

html.is-unscrollable {
  overflow: hidden;
}

.nav-dropdown.is-open {
  transform: scale(1);
  overflow: scroll;
}

.nav-dropdown__list .dropdown-menu.active, .menu-item-has-children:hover ul {
  display: block;
}

.nav-dropdown__list a.dropdown-toggle.active, .menu-item-has-children ul a:hover {
  outline: none;
  background-color: #FE0076;
  color: white;
}

.tinynav {
  display: none;
}

@media screen and (max-width: 768px) {
  .tinynav {
    display: block;
  }
  .select-nav {
    display: none;
  }
  .no-js .select-nav {
    display: block;
    font-size: 0;
  }
  .no-js .select-nav li {
    display: inline-block;
    width: 50%;
    font-size: 16px;
  }
}

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

.list-inline {
  display: -ms-flexbox;
  display: flex;
}

.list-inline li:first-of-type {
  margin-left: 0.3125rem;
}

.list-inline li:not(:last-of-type) *::after {
  content: ',';
}

.fit-space {
  display: inline-block;
  width: 100%;
}

.alignnone {
  margin: 5px 20px 20px 0;
}

.aligncenter,
div.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

.aligncenter {
  display: block;
  margin: 5px auto 5px auto;
}

a img.alignright {
  float: right;
  margin: 5px 0 20px 20px;
}

a img.alignnone {
  margin: 5px 20px 20px 0;
}

a img.alignleft {
  float: left;
  margin: 5px 20px 20px 0;
}

a img.aligncenter {
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.wp-caption {
  background: #fff;
  border: 1px solid #f0f0f0;
  max-width: 96%;
  /* Image does not overflow the content area */
  padding: 5px 3px 10px;
  text-align: center;
}

.wp-caption.alignnone {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignleft {
  margin: 5px 20px 20px 0;
}

.wp-caption.alignright {
  margin: 5px 0 20px 20px;
}

.wp-caption img {
  border: 0 none;
  height: auto;
  margin: 0;
  max-width: 98.5%;
  padding: 0;
  width: auto;
}

.wp-caption p.wp-caption-text {
  font-size: 11px;
  line-height: 17px;
  margin: 0;
  padding: 0 4px 5px;
}

img[class*="align"],
img[class*="wp-image-"] {
  height: auto;
}

.wp-caption,
.wp-caption img {
  max-width: 100%;
}

img.size-full {
  max-width: 100%;
  width: auto;
}

.no-padlr {
  padding-left: 0;
  padding-right: 0;
}

.material-shadow, .curriculum-vitae__body img, .report, .teacher-status .status {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.12), 0 1px 2px rgba(0, 0, 0, 0.24);
}

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

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

.clearfix::after, .row::after {
  content: " ";
  display: block;
  clear: both;
}

@media print {
  body {
    padding: 10px;
  }
  * {
    background: transparent !important;
    color: #000 !important;
    box-shadow: none !important;
    text-shadow: none !important;
  }
  a,
  a:visited {
    text-decoration: underline;
  }
  a[href]:after {
    content: " (" attr(href) ")";
  }
  abbr[title]:after {
    content: " (" attr(title) ")";
  }
  .ir a:after,
  a[href^="javascript:"]:after,
  a[href^="#"]:after {
    content: "";
  }
  pre,
  blockquote {
    border: 1px solid #999;
    page-break-inside: avoid;
  }
  thead {
    display: table-header-group;
  }
  tr,
  img {
    page-break-inside: avoid;
  }
  img {
    max-width: 100% !important;
  }
  @page {
    margin: 0.5cm;
  }
  p,
  h2,
  h3 {
    orphans: 3;
    widows: 3;
  }
  h2,
  h3 {
    page-break-after: avoid;
  }
  .speech-bubble--rose::before, .speech-bubble--gallery:hover::before, .speech-bubble--gallery:hover::before {
    display: none;
  }
  .read-more {
    display: none !important;
  }
  .hide {
    display: block !important;
  }
  .card {
    padding: 0;
  }
}

/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbInN0eWxlLmNzcyIsIm1peGlucy9fdHlwb2dyYXBoeS5zY3NzIiwiLi4vLi4vYm93ZXJfY29tcG9uZW50cy9ub3JtYWxpemUtc2Nzcy9fbm9ybWFsaXplLnNjc3MiLCJiYXNlL19nbG9iYWwuc2NzcyIsInZhcnMvX2dsb2JhbC5zY3NzIiwibWl4aW5zL19wbGFjZWhvbGRlci5zY3NzIiwidHlwb2dyYXBoeS9fdHlwZXNldHRpbmcuc2NzcyIsImZ1bmN0aW9ucy9fY29udGV4dC1jYWxjLnNjc3MiLCJmdW5jdGlvbnMvX21lYXN1cmUtbWFyZ2luLnNjc3MiLCJtaXhpbnMvX21lZGlhLXF1ZXJ5LnNjc3MiLCJ0b29sYm94L19jb250YWluZXIuc2NzcyIsIm1peGlucy9fY29udGFpbmVyLnNjc3MiLCJ0b29sYm94L19mbGV4LXNwYWNlYmV0d2Vlbi5zY3NzIiwidG9vbGJveC9fZmxleC5zY3NzIiwidG9vbGJveC9fZmxleHktZm9ybXMuc2NzcyIsInRvb2xib3gvX2dyaWQuc2NzcyIsInRvb2xib3gvX21lZGlhLW9iamVjdC5zY3NzIiwidG9vbGJveC9fc2VjdGlvbi1zdHJpcGVzLnNjc3MiLCJ0b29sYm94L19zdGlja3ktZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19hdmF0YXJzLnNjc3MiLCJtaXhpbnMvX3NpemUuc2NzcyIsImZ1bmN0aW9ucy9fcmVtcy5zY3NzIiwiY29tcG9uZW50cy9fYnV0dG9ucy1nbG9iYWwuc2NzcyIsImNvbXBvbmVudHMvX2NhcmRzLnNjc3MiLCJjb21wb25lbnRzL19jb21tZW50cy5zY3NzIiwiY29tcG9uZW50cy9fY291bnRlci5zY3NzIiwiY29tcG9uZW50cy9fY3VycmljdWx1bS12aXRhZS5zY3NzIiwiY29tcG9uZW50cy9fZm9vdGVyLnNjc3MiLCJjb21wb25lbnRzL19oZWFkZXIuc2NzcyIsImNvbXBvbmVudHMvX2ljb24tc3ByaXRlLnNjc3MiLCJmdW5jdGlvbnMvX2ltZy11cmwuc2NzcyIsImNvbXBvbmVudHMvX2ljb25zLnNjc3MiLCJjb21wb25lbnRzL19pbnB1dC1zZWFyY2guc2NzcyIsImNvbXBvbmVudHMvX2lucHV0cy1nbG9iYWwuc2NzcyIsImNvbXBvbmVudHMvX2xvZ2luLWZvcm0uc2NzcyIsImNvbXBvbmVudHMvX25hdi1kcm9wZG93bi5zY3NzIiwiY29tcG9uZW50cy9fbmF2LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX25hdi1wcmltYXJ5LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLXJlcG9ydHMuc2NzcyIsImNvbXBvbmVudHMvX3Byb2ZpbGUtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fcmVwb3J0LWNhcmQuc2NzcyIsImNvbXBvbmVudHMvX3NlYXJjaC1yZXN1bHRzLnNjc3MiLCJjb21wb25lbnRzL19zcGVlY2gtYnViYmxlcy5zY3NzIiwibWl4aW5zL19jYXJldC5zY3NzIiwiY29tcG9uZW50cy9fdGVhY2hlci1zdGF0dXMtY2FyZC5zY3NzIiwiY29tcG9uZW50cy9fdGl0bGVzLnNjc3MiLCJ0ZW1wbGF0ZXMvX2dyaWQtMS0zLnNjc3MiLCJ0ZW1wbGF0ZXMvX3ByaW1hcnkuc2NzcyIsInN0YXRlcy9fbmF2LWRyb3Bkb3duLnNjc3MiLCJwbHVnaW5zL190aW55bmF2LnNjc3MiLCJ1dGlsaXR5L19oZWxwZXJzLnNjc3MiLCJ1dGlsaXR5L19wcmludC5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQzJDZjtFQVBELG1DQUFtQztFQUNuQyxlQUFlO0VBQ2YsY0FBYztDQUNkOztBQ3ZDRDs7Z0ZBRWdGO0FBQ2hGOzs7O0dBSUc7QUFJSDtnRkFDZ0Y7QUFFaEY7Ozs7OztHQU1HO0FBRUg7RUFDRSx3QkFBd0I7RUFBRSxPQUFPO0VBQ2pDLDJCQUEyQjtFQUFFLE9BQU87RUFDcEMsK0JBQStCO0VBQUUsT0FBTztDQUl6Qzs7QUFFRDs7R0FFRztBQUVIO0VBQ0UsVUFBVTtDQUNYOztBQUVEO2dGQUNnRjtBQUVoRjs7Ozs7R0FLRztBQUVIOzs7Ozs7Ozs7Ozs7O0VBYUUsZUFBZTtDQUNo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ZDs7QUFFRDs7RUFFRSxnQkFBZ0I7Q0FDakI7O0FBRUU7RUFDRCxnQkFBZ0I7RUFDaEIsWUFBWTtDQUNiOztBQU1EO0VBQ0UsZ0JBQWdCO0VBQ2hCLGlCQUFpQjtDQUNsQjs7QUFNRDtFQUNFLHlFQUMwQjtDQUMzQjs7QUFPRDtFQUNDLFVBQVU7RUFDVixvQkFBVTtFQUNWLFlBQVk7RUFDWixhQUFhO0VBQ2IsaUJBQWlCO0VBQ2pCLFdBQVc7RUFDWCxtQkFBbUI7RUFDbkIsV0FBVztDQUNYOztBQUlEOztFQUVDLFdBQVc7RUFDWCxhQUFhO0VBQ2IsVUFBVTtFQUNWLGtCQUFrQjtFQUNsQixpQkFBaUI7RUFDakIsWUFBWTtDQUNaOztBQVFEO0VBQ0UsYUFBYTtFQUNiLGVBQWU7RUFDZixZQUFZO0NBQ2I7O0FDOUxEO0VBQ0k7SUFDSSxjQUFjO0dBQ2pCO0VBQ0o7SUFDQyxtQ0FBbUM7SUFDbkMsdUJBQXVCO0lBQ3ZCLDRCQUE0QjtJQUM1Qiw2QkFBNkI7R0FDN0I7RUFFRDs7SUFFQywyQkFBMkI7R0FDM0I7RUFFTTtJQUNOLDZCQUE0QjtHQUM1QjtFQUVVO0lBQ1YsOEJBQTZCO0dBQzdCO0VBTUQ7OztJQUdDLFlBQVk7R0FDWjtFQUVEOztJQUVDLHVCQUF1QjtJQUN2Qix5QkFBeUI7R0FDekI7RUFFRDtJQUNDLDRCQUE0QjtHQUM1QjtFQUVEOztJQUVDLHlCQUF5QjtHQUN6QjtFQUVEO0lBQ0MsMkJBQTJCO0dBQzNCO0VBRUQ7SUFDQyxjQUFjO0duRHVqRmI7RW1EcGpGRjs7O0lBR0MsV0FBVztJQUNYLFVBQVU7R0FDVjtFQUVEOztJQUVDLHdCQUF3QjtHQUN4QjtFQUNzQjtJQUNoQixjQUFjO0dBQ2pCO0VBQ0Q7SUFBYSx5QkFBeUI7R0FBSTtFQUMxQztJQUFRLDBCQUEwQjtHQUFJO0VBQ3RDO0lBQ0ksV0FBVztHQUNkO0NuRHlqRkoiLCJmaWxlIjoic3R5bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLnRlcmEsIC5naWdhLCAubWVnYSwgaDEsIC5hbHBoYSwgaDIsIC5iZXRhLCBoMywgLmdhbW1hLCBoNCwgLmRlbHRhLCBoNSwgLmVwc2lsb24sIC56ZXRhLCBoNiB7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xufVxuXG4vKiA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuICAgTm9ybWFsaXplLnNjc3Mgc2V0dGluZ3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIEluY2x1ZGVzIGxlZ2FjeSBicm93c2VyIHN1cHBvcnQgSUU2LzdcbiAqXG4gKiBTZXQgdG8gZmFsc2UgaWYgeW91IHdhbnQgdG8gZHJvcCBzdXBwb3J0IGZvciBJRTYgYW5kIElFN1xuICovXG4vKiBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgYW5kIElFIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgZGV2aWNlIG9yaWVudGF0aW9uIGNoYW5nZSxcbiAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAqIDMuIENvcnJlY3RzIHRleHQgcmVzaXppbmcgb2RkbHkgaW4gSUUgNi83IHdoZW4gYm9keSBgZm9udC1zaXplYCBpcyBzZXQgdXNpbmdcbiAqICBgZW1gIHVuaXRzLlxuICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDYvNy84LzkgYW5kIEZpcmVmb3ggMy5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnRzIG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAqL1xuYTphY3RpdmUsIGE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cbmhyIHtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICogQ29ycmVjdCBmb250IGZhbWlseSBzZXQgb2RkbHkgaW4gSUUgNiwgU2FmYXJpIDQvNSwgYW5kIENocm9tZS5cbiAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7XG4gIC8qIDIgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKiA0LiBSZW1vdmVzIGlubmVyIHNwYWNpbmcgaW4gSUUgNyB3aXRob3V0IGFmZmVjdGluZyBub3JtYWwgdGV4dCBpbnB1dHMuXG4gKiAgS25vd24gaXNzdWU6IGlubmVyIHNwYWNpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqICBLbm93biBpc3N1ZTogZXhjZXNzIHBhZGRpbmcgcmVtYWlucyBpbiBJRSA2LlxuICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiA0LiBDb3JyZWN0cyBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogIzIyMjtcbn1cblxuOjotbW96LXNlbGVjdGlvbiB7XG4gIHRleHQtc2hhZG93OiBub25lO1xuICBiYWNrZ3JvdW5kOiAjRkUwMDc2O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNGRTAwNzY7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuaHIge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgyNTUsIDI1MSwgMjUxLCAwLjc2KTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IDFlbSAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG5hdWRpbyxcbmNhbnZhcyxcbmltZyxcbnZpZGVvIHtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDA7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxudGV4dGFyZWEge1xuICByZXNpemU6IHZlcnRpY2FsO1xufVxuXG5odG1sLFxuaW5wdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbn1cblxuKiB7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbmh0bWwsXG5ib2R5IHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJhY2tncm91bmQ6ICNCMkU2RkI7XG59XG5cbmJvZHkge1xuICBiYWNrZ3JvdW5kOiAjQjJFNkZCIHVybChcIi4uL2ltZy9idWJibGVzLnN2Z1wiKSAtMTAwJSAwIHJlcGVhdC14O1xuICBtaW4td2lkdGg6IDMyMHB4O1xufVxuXG46Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0FBQUFBQTtcbn1cblxuOjotbW96LXBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNBQUFBQUE7XG59XG5cbjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICBjb2xvcjogI0FBQUFBQTtcbn1cblxuaW1nLFxuZW1iZWQsXG5vYmplY3QsXG52aWRlbyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5zdmcge1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG5hIHtcbiAgdHJhbnNpdGlvbjogMC4yNzVzIGFsbCBlYXNlLWluLW91dDtcbiAgY29sb3I6ICNGRTAwNzY7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuYTpmb2N1cywgYTpob3ZlciwgYTphY3RpdmUge1xuICBjb2xvcjogI2ZmOThjODtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZGlud2ViLWJvbGQnO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2RpbndlYi1ib2xkLXdlYmZvbnQud29mZjJcIikgZm9ybWF0KFwid29mZjJcIiksIHVybChcIi4uL2ZvbnRzL2RpbndlYi1ib2xkLXdlYmZvbnQud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbmJvZHkge1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGZvbnQ6IG5vcm1hbCAxMDAlLzEuNSBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG59XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBzZXJpZjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIGZvbnQtZmFtaWx5OiAnZGlud2ViLWJvbGQnO1xufVxuXG4udGVyYSB7XG4gIGZvbnQtc2l6ZTogNy4zMTI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjY2NjdlbTtcbn1cblxuLmdpZ2Ege1xuICBmb250LXNpemU6IDUuNjI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjY2NjdlbTtcbn1cblxuLm1lZ2EsIGgxIHtcbiAgZm9udC1zaXplOiA0LjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42NjY2N2VtO1xufVxuXG4uYWxwaGEsIGgyIHtcbiAgZm9udC1zaXplOiAzLjc1ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjY2NjdlbTtcbn1cblxuLmJldGEsIGgzIHtcbiAgZm9udC1zaXplOiAzZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjY2NjdlbTtcbn1cblxuLmdhbW1hLCBoNCB7XG4gIGZvbnQtc2l6ZTogMi4yNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3ZW07XG59XG5cbi5kZWx0YSwgaDUge1xuICBmb250LXNpemU6IDEuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjY2NjY3ZW07XG59XG5cbi5lcHNpbG9uIHtcbiAgZm9udC1zaXplOiAxLjMxMjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC42NjY2N2VtO1xufVxuXG4uemV0YSwgaDYge1xuICBmb250LXNpemU6IDEuMTI1ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNjY2NjdlbTtcbn1cblxuaW5wdXQsXG5hYmJyLFxuYWNyb255bSxcbmJsb2NrcXVvdGUsXG5jb2RlLFxua2JkLFxucSxcbnNhbXAsXG52YXIge1xuICBoeXBoZW5zOiBub25lO1xufVxuXG5wcmUgY29kZSB7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xuICB3aGl0ZS1zcGFjZTogLW1vei1wcmUtd3JhcDtcbiAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG5wcmUsXG5jb2RlIHtcbiAgd2hpdGUtc3BhY2U6IHByZTtcbn1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2U7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExODBweCkge1xuICAuY29udGFpbmVyIHtcbiAgICBtYXgtd2lkdGg6IDExODBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIH1cbn1cblxuLnNwYWNlYmV0d2VlbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mbGV4ZW5kIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuLmZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZmxleC1lbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xufVxuXG4uZm9ybS1ncmlkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi5mb3JtLWdyb3VwIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmZvcm0tZ3JvdXAgLmZvcm0tZ3JvdXBfX2lucHV0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmlucHV0YWRkb24tZmllbGQge1xuICBmbGV4OiAxO1xuICBvcmRlcjogMjtcbn1cblxuLmlucHV0YWRkb24taXRlbSB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgb3JkZXI6IDE7XG4gIHBhZGRpbmc6IGNhbGMoKDEwIC8gMTYpICogMXJlbSk7XG59XG5cbi5pbnB1dGFkZG9uLWJ0biB7XG4gIG9yZGVyOiAzO1xufVxuXG4uaW5wdXRhZGRvbi1maWVsZC0tcmV2ZXJzZSB7XG4gIG9yZGVyOiAyO1xufVxuXG4uaW5wdXRhZGRvbi1pdGVtLS1yZXZlcnNlIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5pbnB1dGFkZG9uLWJ0bi0tcmV2ZXJzZSB7XG4gIG9yZGVyOiAxO1xufVxuXG4uZm9ybS1ncm91cC0taW5saW5lLWJ0biB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cF9faW5wdXQtLWlubGluZS1idG4ge1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuLmZvcm0tZ3JvdXBfX2J0bi0taW5saW5lIHtcbiAgZmxleDogMTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5mb3JtLWdyb3VwX19idXR0b24tLWlubGluZS1idG4ge1xuICBmbGV4OiAxIDAgYXV0bztcbn1cblxuLmZvcm0tZ3JvdXBfX2J0bi0taW5saW5lOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgbWFyZ2luLWxlZnQ6IGNhbGMoKDIwIC8gMTYpICogMXJlbSk7XG59XG5cbi5mb3JtLWdyb3VwX19lcnJvcm1zZyB7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG4uaGFzLWVycm9ycy1mb3JtLWdyb3VwIHtcbiAgY29sb3I6IHJlZDtcbn1cblxuLmZvcm0tZ3JvdXBfX2Vycm9ybXNnLS1jaW5uYWJhciB7XG4gIGJhY2tncm91bmQ6IHJlZDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4ucm93IHtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5yb3cubm8tZ3JpZCB7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gIHBhZGRpbmctbGVmdDogMjBweDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLnJvdy5uby1ncmlkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxufVxuXG4uZ3JpZCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuZ3JpZCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgfVxufVxuXG4uZ3JpZC5mdWxsIHtcbiAgd2lkdGg6IDEwMCU7XG59XG5cbi5ncmlkLmhhbGYge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmdyaWQuaGFsZiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxufVxuXG4uZ3JpZC5vbmUtdGhpcmQge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmdyaWQub25lLXRoaXJkIHtcbiAgICB3aWR0aDogMzMuMzMzMzMlO1xuICB9XG59XG5cbi5ncmlkLnR3by10aGlyZHMge1xuICB3aWR0aDogMTAwJTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgLmdyaWQudHdvLXRoaXJkcyB7XG4gICAgd2lkdGg6IDY2LjY2NjY3JTtcbiAgfVxufVxuXG4uZ3JpZC5vbmUtcXVhcnRlciB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuZ3JpZC5vbmUtcXVhcnRlciB7XG4gICAgd2lkdGg6IDI1JTtcbiAgfVxufVxuXG4uZ3JpZC50aHJlZS1xdWFydGVycyB7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjlweCkge1xuICAuZ3JpZC50aHJlZS1xdWFydGVycyB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuXG4ubWVkaWEtb2JqIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xufVxuXG4ubWVkaWEtb2JqLS12Y2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cblxuLm1lZGlhLW9iai0tcmV2ZXJzZSAubWVkaWEtb2JqX19maWcge1xuICBvcmRlcjogMjtcbn1cblxuLm1lZGlhLW9iai0tcmV2ZXJzZSAubWVkaWEtb2JqX19ib2R5IHtcbiAgb3JkZXI6IDE7XG59XG5cbi5tZWRpYS1vYmotLWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4ubWVkaWEtb2JqLS1oY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5tZWRpYS1vYmotLWNhcHRpb24ge1xuICBmbGV4OiAxO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4ubWVkaWEtb2JqX19ib2R5IHtcbiAgZmxleDogMTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgYm9keSA+IC5zdHJpcGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLnN0cmlwZS0tZnVsbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnN0cmlwZS0tcGx1bWIge1xuICBwYWRkaW5nOiAwLjVlbSAwLjc1ZW07XG4gIGJhY2tncm91bmQ6ICMzOTAwNTA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDAwcHgpIHtcbiAgLnN0cmlwZS0tcGx1bWIge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgfVxufVxuXG4uc3RpY2t5LWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIGZsZXg6IDEgMCBhdXRvO1xuICB9XG59XG5cbi5zdGlja3ktcm93IHtcbiAgZGlzcGxheTogLW1vei1ib3g7XG59XG5cbi5zdGlja3ktaGVhZGVyIHtcbiAgZmxleDogbm9uZTtcbn1cblxuLnN0aWNreS1jb250ZW50IHtcbiAgZmxleDogMSAwIGF1dG87XG4gIGhlaWdodDogYXV0bztcbn1cblxuLnN0aWNreS1mb290ZXIge1xuICBmbGV4OiBub25lO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4uYXZhdGFyIHtcbiAgd2lkdGg6IDcwcHg7XG4gIGhlaWdodDogNzBweDtcbiAgYm9yZGVyOiA0cHggc29saWQgIzM5MDA1MDtcbn1cblxuLndpbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLndpbm5lcjo6YmVmb3JlIHtcbiAgYm9yZGVyLXJhZGl1czogODAlO1xuICBjb250ZW50OiAnd2lubmVyJztcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgaGVpZ2h0OiA4MCU7XG4gIG1hcmdpbjogYXV0bztcbiAgcGFkZGluZy1ib3R0b206IDAuMTg3NXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDRweDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHdpZHRoOiA5MCU7XG4gIHotaW5kZXg6IDE7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCAjRkUwMDc2IDQwJSwgdHJhbnNwYXJlbnQgNDAlKTtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uYXZhdGFyLS1tZWQge1xuICB3aWR0aDogMTA4cHg7XG4gIGhlaWdodDogMTA4cHg7XG59XG5cbi5hdmF0YXItLXJvdW5kIHtcbiAgYm9yZGVyLXJhZGl1czogODAlO1xufVxuXG5idXR0b24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiAwO1xufVxuXG4uYnRuIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tdG9wOiAwLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmJ0bjpob3ZlciwgLmJ0bjpmb2N1cyB7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ0bi0tcmFkNCB7XG4gIGJvcmRlci1yYWRpdXM6IDRweDtcbn1cblxuLmJ0bi0tcHJpbWFyeSB7XG4gIGJhY2tncm91bmQ6ICMzOTAwNTA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLmJ0bi0tcHJpbWFyeTpob3ZlciwgLmJ0bi0tcHJpbWFyeTpmb2N1cyB7XG4gIGJhY2tncm91bmQ6ICNGRTAwNzY7XG59XG5cbi5idG4tLXNlY29uZGFyeSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNDMEFDQzY7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5idG4tLXNlY29uZGFyeTpob3ZlciwgLmJ0bi0tc2Vjb25kYXJ5OmZvY3VzIHtcbiAgYmFja2dyb3VuZDogI0ZFMDA3NjtcbiAgYm9yZGVyOiAycHggc29saWQgI0ZFMDA3Njtcbn1cblxuLmNhcmQge1xuICBwYWRkaW5nOiAwLjI1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDI1O1xufVxuXG4uY2FyZC1zaW5nbGUge1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNhcmQtc2luZ2xlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxufVxuXG4uY2FyZC1zaW5nbGU6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gIC5jYXJkLXNpbmdsZTpob3ZlciAqIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkUwMDc2O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAuY2FyZC1zaW5nbGUgPiBkaXYge1xuICAgIGZsZXg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmZsZXhib3h0d2VlbmVyIC5jYXJkLXNpbmdsZSA+IGRpdiB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQwcHgpIHtcbiAgLmNhcmQtc2luZ2xlID4gKiB+ICoge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogOC43NWVtO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNFQkVCRUI7XG4gIH1cbn1cblxuLmNhcmQtc2luZ2xlOmhvdmVyIC5jYXJkIHtcbiAgYmFja2dyb3VuZDogI0ZFMDA3NjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uY2FyZC0tcmVwbHkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiBibGFjaztcbiAgYmFja2dyb3VuZDogI0VCRUJFQjtcbiAgei1pbmRleDogMDtcbn1cblxuLmNhcmQtLXJlcGx5OjpiZWZvcmUge1xuICBib3JkZXItbGVmdDogNnB4IHNvbGlkICNmZTAwNzY7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgei1pbmRleDogMDtcbn1cblxuLmNhcmQtLWdhbGxlcnkge1xuICBiYWNrZ3JvdW5kOiAjRUJFQkVCO1xuICBjb2xvcjogIzM5MDA1MDtcbn1cblxuLmNhcmQtLWdhbGxlcnkuaG92ZXItcm9zZTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmNhcmQtLXBsdW1iIHtcbiAgYmFja2dyb3VuZDogIzM5MDA1MDtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uY2FyZC0tZ29sZCB7XG4gIGJhY2tncm91bmQ6ICNGREY0MDA7XG59XG5cbi5jYXJkLS1yb3NlLCAuY2FyZC0tZ2FsbGVyeS5ob3Zlci1yb3NlOmhvdmVyIHtcbiAgYmFja2dyb3VuZDogI0ZFMDA3NjtcbiAgY29sb3I6IHdoaXRlO1xufVxuXG4uY2FyZC0tY2FydWxlYW4ge1xuICBiYWNrZ3JvdW5kOiAjMDA5REU3O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5jb21tZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzNGMEM1NDtcbn1cblxuLmNvbW1lbnRzIC5jYXJkIHtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG59XG5cbi5jb21tZW50IC5tZWRpYS1vYmpfX2JvZHkgPiAqOmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuLmNvbW1lbnQgLm1lZGlhLW9ial9fYm9keSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMzkwMDUwO1xufVxuXG4uY29tbWVudCAubWVkaWEtb2JqX19ib2R5IGE6aG92ZXIsIC5jb21tZW50IC5tZWRpYS1vYmpfX2JvZHkgYTpmb2N1cyB7XG4gIGNvbG9yOiAjRkUwMDc2O1xufVxuXG4uY29tbWVudCArIC5jb21tZW50IHtcbiAgbWFyZ2luLXRvcDogMXJlbTtcbn1cblxuLmNvbW1lbnRzIC5jb21tZW50IC5jYXJkIC5tZWRpYS1vYmpfX2ZpZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5jb21tZW50cyAuY29tbWVudCAuY2FyZCAubWVkaWEtb2JqX19maWcgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xufVxuXG4uY29tbWVudC1sZXZlbDEgLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudC1sZXZlbDEgLmNhcmQge1xuICAgIHBhZGRpbmctbGVmdDogN3JlbTtcbiAgICBiYWNrZ3JvdW5kOiAjRUJFQkVCO1xuICB9XG59XG5cbi5jb21tZW50LWxldmVsMiAuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICNFQkVCRUI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50LWxldmVsMiAuY2FyZCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxMS44MTI1cmVtO1xuICB9XG59XG5cbi5jb21tZW50LWxldmVsMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50LWxldmVsMiB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxufVxuXG4uY29tbWVudC1sZXZlbDI6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgcGFkZGluZy1ib3R0b206IDA7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50LWxldmVsMjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIHBhZGRpbmctYm90dG9tOiBpbml0aWFsO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50LWxldmVsMiB7XG4gICAgcGFkZGluZzogaW5pdGlhbDtcbiAgfVxufVxuXG4uY29tbWVudHMtbGV2ZWwxLFxuLmNvbW1lbnRzLWxldmVsMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmNvbW1lbnRzLWxldmVsMTo6YmVmb3JlLFxuICAuY29tbWVudHMtbGV2ZWwyOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICM5RTg2QTc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTE1cHg7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHotaW5kZXg6IDE7XG4gIH1cbn1cblxuLmNvbW1lbnRzLWxldmVsMSB7XG4gIGJvcmRlcjogMS4yNXJlbSBzb2xpZCAjRUJFQkVCO1xuICBiYWNrZ3JvdW5kOiAjZDZkNmQ2O1xuICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudHMtbGV2ZWwxIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IGluaGVyaXQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogODAwcHgpIHtcbiAgLmNvbW1lbnRzLWxldmVsMTo6YmVmb3JlIHtcbiAgICBsZWZ0OiAzLjc1cmVtO1xuICB9XG59XG5cbi5jb21tZW50cy1sZXZlbDIge1xuICBib3JkZXI6IG5vbmU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgwMHB4KSB7XG4gIC5jb21tZW50cy1sZXZlbDI6OmJlZm9yZSB7XG4gICAgbGVmdDogOC43NXJlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4MDBweCkge1xuICAuY29tbWVudC1jaGlsZDIuY29tbWVudC1sZXZlbDI6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTZweDtcbiAgICBsZWZ0OiAxMy41cmVtO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDA7XG4gICAgYmFja2dyb3VuZDogIzllODZhNztcbiAgfVxufVxuXG4udXNlci1jb21tZW50c19fcmVzcG9uc2UgLmNhcmQge1xuICBwYWRkaW5nOiAxLjVyZW0gMnJlbTtcbn1cblxuLnVzZXItY29tbWVudHNfX3Jlc3BvbnNlIC5jYXJkIC5tZWRpYS1vYmpfX2ZpZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbn1cblxuLnVzZXItY29tbWVudHNfX3Jlc3BvbnNlIC5jYXJkIC5tZWRpYS1vYmpfX2ZpZyBpbWcge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xufVxuXG4udXNlci1jb21tZW50c19fcmVzcG9uc2UgLmNhcmQgLm1lZGlhLW9ial9fYm9keSA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5jb3VudGVyIHtcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDVweDtcbiAgcGFkZGluZzogMC4xMjVlbSAwLjM3NWVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWUge1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWVfX2hlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuNjQpO1xuICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgyNTUsIDI1MSwgMjUxLCAwLjc2KTtcbiAgcGFkZGluZzogMmVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZXNtb2tlO1xufVxuXG4uY3VycmljdWx1bS12aXRhZV9fdGl0bGUge1xuICBmb250LXNpemU6IDJlbTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWVfX2hlYWRlciBpbWdbY2xhc3MqPVwiYXZhdGFyXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX19ib2R5IHtcbiAgcGFkZGluZzogMmVtO1xuICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xufVxuXG4uY3VycmljdWx1bS12aXRhZV9fcXVvdGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIG1hcmdpbi10b3A6IDA7XG4gIHBhZGRpbmc6IDEwcHggMzBweDtcbiAgYmFja2dyb3VuZDogcmdiYSg1NywgMCwgODAsIDAuMyk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xufVxuXG4uY3VycmljdWx1bS12aXRhZV9fcXVvdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCLigJxcIjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDVweDtcbiAgbGVmdDogNXB4O1xuICBmb250LXNpemU6IDNlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX19xdW90ZTphZnRlciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1cHg7XG4gIHJpZ2h0OiA1cHg7XG4gIGNvbnRlbnQ6IFwi4oCdXCI7XG4gIGZvbnQtc2l6ZTogM2VtO1xuICBtYXJnaW4tbGVmdDogNXB4O1xuICBsaW5lLWhlaWdodDogMTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWVfX2JvZHkgaW1nIHtcbiAgYm9yZGVyOiAwLjMxMjVlbSBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlIGxpOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41ZW07XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX19kYXRhID4gbGk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi10b3A6IDJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMmVtO1xufVxuXG4uY3VycmljdWx1bS12aXRhZV9fZGF0YSBsaSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX19kYXRhIGxpIC5zcGVlY2gtYnViYmxlIHtcbiAgd2lkdGg6IDQ3LjUlO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1JTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNTAwcHgpIHtcbiAgLmN1cnJpY3VsdW0tdml0YWVfX2RhdGEgbGkgLnNwZWVjaC1idWJibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxufVxuXG4uY3VycmljdWx1bS12aXRhZV9fZGF0YSBsaSAuc3BlZWNoLWJ1YmJsZTpudGgtY2hpbGQoZXZlbikge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX19kYXRhIGxpIC5zcGVlY2gtYnViYmxlIGg1IHtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlX19kYXRhIGxpIC5zcGVlY2gtYnViYmxlIHAge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5oaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLmN1cnJpY3VsdW0tdml0YWUgLmhpZGU6dGFyZ2V0IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5yZWFkLW1vcmU6aG92ZXIsIC5jdXJyaWN1bHVtLXZpdGFlIC5yZWFkLW1vcmU6Zm9jdXMge1xuICBjb2xvcjogYmxhY2s7XG59XG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5zaG9ydGxpbmtzIHtcbiAgcGFkZGluZy10b3A6IDFlbTtcbn1cblxuLmN2IC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuLmN2IC5jYXJkIGxpIHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG4uY3YgLmNhcmQgbGk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1ib3R0b206IDFlbTtcbn1cblxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMWVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIGZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY5cHgpIHtcbiAgZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSAuZ3JpZC50aHJlZS1xdWFydGVycyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MHB4KTtcbiAgfVxufVxuXG5mb290ZXJbcm9sZT1cImNvbnRlbnRpbmZvXCJdIG5hdiB7XG4gIHBhZGRpbmctdG9wOiAxLjI1cmVtO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogLjVlbTtcbiAgY29sb3I6ICM0MDI5NTE7XG59XG5cbmZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0gbmF2IGE6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbn1cblxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYgYTpob3ZlciwgZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYgYTpmb2N1cyB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICBjb2xvcjogIzQwMjk1MTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0ge1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwYWRkaW5nOiAxZW0gMC41ZW0gMC4yNWVtO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYwMHB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIHtcbiAgICBwYWRkaW5nOiAwIDEwcHg7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gPiAuY29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMzkwMDUwO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdID4gLmNvbnRhaW5lciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5jb250YWluZXIuZmxleCB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgfVxufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuY29udGFpbmVyID4gLmZsZXhlbmQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgZmxleC13cmFwOiB3cmFwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmNvbnRhaW5lciA+IC5mbGV4ZW5kIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIFtjbGFzcyo9XCJpY29uLWFza1wiXSxcbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIFtjbGFzcyo9XCJpY29uLWNoYXRcIl0sXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBbY2xhc3MqPVwiaWNvbi12b3RlXCJdIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuYnRuLW1lbnUge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi10b3A6IDA7XG4gIHdpZHRoOiA1MHB4O1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDQ0cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmJ0bi1tZW51IHtcbiAgICBtYXJnaW4tdG9wOiBpbml0aWFsO1xuICB9XG59XG5cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5idG4tbWVudSAuaWNvbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuYnRuLW1lbnUgLmljb24gaSB7XG4gIHRvcDogMXB4O1xuICBmb250LXNpemU6IDEuMmVtO1xufVxuXG4uanMgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmJ0bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5qcyBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuYnRuLW1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW1nW2FsdCo9XCJ6b25lXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW1nW2FsdCo9XCJ6b25lXCJdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVgoLTQwcHgpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIGltZ1thbHQqPVwiem9uZVwiXSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVYKC03MHB4KSB0cmFuc2xhdGVZKC0xMDBweCk7XG4gIH1cbn1cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gZm9ybVtyb2xlPVwic2VhcmNoXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gZm9ybVtyb2xlPVwic2VhcmNoXCJdIHtcbiAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTBweCk7XG4gIH1cbn1cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gZm9ybVtyb2xlPVwic2VhcmNoXCJdIC5pY29uIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgcGFkZGluZzogNXB4O1xufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIGlucHV0W3R5cGU9XCJzZWFyY2hcIl0gKyBbY2xhc3MqPVwiYnRuXCJdIHtcbiAgYm9yZGVyOiAycHggc29saWQgd2hpdGU7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDExNzkuOXB4KSB7XG4gIGhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5yZXBvcnQtY2FyZCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAuMjVlbTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTgwcHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLnJlcG9ydC1jYXJkIHtcbiAgICBmbGV4OiAzIDEgMTAwJTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjhweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAucmVwb3J0X190aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTc5LjlweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAucmVwb3J0X190aXRsZSB7XG4gICAgZmxvYXQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gYVtocmVmPVwiL1wiXSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuYnRuLS1zZWNvbmRhcnkge1xuICBiYWNrZ3JvdW5kOiAjMzkwMDUwO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMTc5LjlweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuYnRuLS1zZWNvbmRhcnkge1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIHBhZGRpbmc6IDVweCAxMHB4O1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExODBweCkge1xuICBoZWFkZXJbcm9sZT1cImJhbm5lclwiXSAuYnRuLS1zZWNvbmRhcnkge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1heC13aWR0aDogMTIuNWVtO1xuICAgIHBhZGRpbmc6IDAuMzU3MTRyZW07XG4gIH1cbn1cblxuW2NsYXNzKj1cImljb24tYXNrXCJdLFxuW2NsYXNzKj1cImljb24tY2hhdFwiXSxcbltjbGFzcyo9XCJpY29uLXZvdGVcIl0ge1xuICB3aWR0aDogMTQ1cHg7XG4gIGhlaWdodDogNTRweDtcbiAgbWFyZ2luOiAwLjYyNXJlbTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3Nwcml0ZS1yYXN0ZXIucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG4uaWNvbi1hc2steWVsbG93IHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMTAxcHg7XG59XG5cbi5pY29uLWFzay15ZWxsb3c6aG92ZXIsIC5pY29uLWFzay15ZWxsb3c6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIDA7XG59XG5cbi5pY29uLWNoYXQtcGluayB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTI1NnB4O1xufVxuXG4uaWNvbi1jaGF0LXBpbms6aG92ZXIsIC5pY29uLWNoYXQtcGluazpmb2N1cyB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTE1NXB4O1xufVxuXG4uaWNvbi12b3RlLWJsdWUge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC00MTFweDtcbn1cblxuLmljb24tdm90ZS1ibHVlOmhvdmVyLCAuaWNvbi12b3RlLWJsdWU6Zm9jdXMge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0zMTBweDtcbn1cblxuLmljb24tYXNrLXllbGxvdy1waWxsIHtcbiAgd2lkdGg6IDEyNnB4O1xuICBoZWlnaHQ6IDQ3cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDAgLTU0cHg7XG59XG5cbi5pY29uLWFzay15ZWxsb3ctcGlsbDpob3ZlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IC01cHggLTEwNHB4O1xufVxuXG4uaWNvbi1jaGF0LXBpbmstcGlsbCB7XG4gIHdpZHRoOiAxMjZweDtcbiAgaGVpZ2h0OiA0N3B4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAwIC0yMDlweDtcbn1cblxuLmljb24tY2hhdC1waW5rLXBpbGw6aG92ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMnB4IC0xNTdweDtcbn1cblxuLmljb24tdm90ZS1ibHVlLXBpbGwge1xuICB3aWR0aDogMTI2cHg7XG4gIGhlaWdodDogNDdweDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMCAtMzY0cHg7XG59XG5cbi5pY29uLXZvdGUtYmx1ZS1waWxsOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEzcHggLTMxM3B4O1xufVxuXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDM2cHg7XG4gIGhlaWdodDogMzZweDtcbiAgYm9yZGVyLXJhZGl1czogODAlO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gIGJhY2tncm91bmQ6ICMzOTAwNTA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmljb24gaSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMzZweDtcbiAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogd2hpdGU7XG4gIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmljb24gaS5mYS1jb21tZW50IHtcbiAgdG9wOiAtMXB4O1xufVxuXG4uaWNvbiBpOmJlZm9yZSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLmRyb3Bkb3duLWljb24ge1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogc3ViO1xufVxuXG4uaWNvbiArIC5pY29uLWhlYXJ0IHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmljb24taGVhcnQge1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHNjYWxlKDAuNzUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICBmb250LXNpemU6IDEuMjVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbn1cblxuLmljb24taGVhcnQ6OmJlZm9yZSwgLmljb24taGVhcnQ6OmFmdGVyIHtcbiAgd2lkdGg6IDMwcHg7XG4gIGhlaWdodDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb250ZW50OiBcIlwiO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xufVxuXG4uaWNvbi1oZWFydDo6YmVmb3JlIHtcbiAgdG9wOiAtMTVweDtcbiAgbGVmdDogMDtcbn1cblxuLmljb24taGVhcnQ6OmFmdGVyIHtcbiAgbGVmdDogMTVweDtcbiAgdG9wOiAwO1xufVxuXG4uaWNvbi1oZWFydDpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmljb24taGVhcnQgc3BhbiB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogIzM5MDA1MDtcbn1cblxuLmljb24taGVhcnQuanMtaGVhcnRlZCxcbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQ6OmJlZm9yZSxcbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQ6OmFmdGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmN2U3ZTtcbn1cblxuLmljb24taGVhcnQuanMtaGVhcnRlZCB7XG4gIGZpbHRlcjogZHJvcC1zaGFkb3coLTFweCAxcHggMnB4IHJnYmEoMjAwLCAwLCAwLCAwLjkpKTtcbn1cblxuLmljb24taGVhcnQuanMtaGVhcnRlZCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICM0ODI4Mjg7XG59XG5cbi5pY29uLWhlYXJ0LS1yb3NlOjpiZWZvcmUsIC5pY29uLWhlYXJ0LS1yb3NlOjphZnRlciB7XG4gIGJhY2tncm91bmQ6ICNGRTAwNzY7XG59XG5cbi5pY29uLWhlYXJ0LS1wbHVtYiB7XG4gIGJhY2tncm91bmQ6ICMzOTAwNTA7XG59XG5cbi5pY29uLWhlYXJ0LS1wbHVtYjo6YmVmb3JlLCAuaWNvbi1oZWFydC0tcGx1bWI6OmFmdGVyIHtcbiAgYmFja2dyb3VuZDogIzM5MDA1MDtcbn1cblxuLmljb24taGVhcnQtLXBsdW1iIHNwYW4ge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0gKyBbY2xhc3MqPVwiYnRuXCJdIHtcbiAgYm9yZGVyOiAycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJhY2tncm91bmQ6ICMzOTAwNTA7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI0VCRUJFQjtcbn1cblxuaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpob3ZlciwgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKTpmb2N1cyxcbnNlbGVjdDpob3ZlcixcbnNlbGVjdDpmb2N1cyxcbnRleHRhcmVhOmhvdmVyLFxudGV4dGFyZWE6Zm9jdXMge1xuICBvdXRsaW5lOiBub25lO1xufVxuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGNoZWNrYm94ICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogY2hlY2tib3ggIWltcG9ydGFudDtcbiAgYXBwZWFyYW5jZTogY2hlY2tib3ggIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogcmFkaW8gIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiByYWRpbyAhaW1wb3J0YW50O1xuICBhcHBlYXJhbmNlOiByYWRpbyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbn1cblxuaW5wdXRbdHlwZT1cInRleHRcIl06cmVxdWlyZWQge1xuICBib3JkZXI6IDJweCBzb2xpZCAjREQ1RTAwO1xufVxuXG5zZWxlY3Qge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjQUFBQUFBO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAwKSB7XG4gIHNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKGRhdGE6aW1hZ2Uvc3ZnK3htbDtiYXNlNjQsUEQ5NGJXd2dkbVZ5YzJsdmJqMGlNUzR3SWlBL1BqeHpkbWNnYUdWcFoyaDBQU0kwT0NJZ2RtbGxkMEp2ZUQwaU1DQXdJRFE0SURRNElpQjNhV1IwYUQwaU5EZ2lJSGh0Ykc1elBTSm9kSFJ3T2k4dmQzZDNMbmN6TG05eVp5OHlNREF3TDNOMlp5SStQSEJoZEdnZ1pEMGlUVEUwTGpneklERTJMalF5YkRrdU1UY2dPUzR4TnlBNUxqRTNMVGt1TVRjZ01pNDRNeUF5TGpnekxURXlJREV5TFRFeUxURXllaUl2UGp4d1lYUm9JR1E5SWswd0xTNDNOV2cwT0hZME9HZ3RORGg2SWlCbWFXeHNQU0p1YjI1bElpOCtQQzl6ZG1jKyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yJSB0b3AgNTAlO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAzMHB4O1xuICB9XG59XG5cbi5sb2dpbiBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLFxuLmxvZ2luIHRleHRhcmVhLFxuLmxvZ2luIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG5cbi5sb2dpbiBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgcGFkZGluZzogMC44MzMzM3JlbTtcbn1cblxuLmxvZ2luIC5pY29uIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuLm5hdi1kcm9wZG93biwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSg1NywgMCwgODAsIDAuOSk7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uYXYtZHJvcGRvd24sIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogIzM5MDA1MDtcbiAgfVxufVxuXG4uanMgLm5hdi1kcm9wZG93biwgLmpzIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIHotaW5kZXg6IDE7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5qcyAubmF2LWRyb3Bkb3duLCAuanMgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICMzOTAwNTA7XG4gIH1cbn1cblxuLm5vLWpzIC5uYXYtZHJvcGRvd24sIC5uby1qcyAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIge1xuICBmb250LXNpemU6IDAuOGVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA3NjhweCkge1xuICAubm8tanMgLm5hdi1kcm9wZG93biwgLm5vLWpzIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBmb250LXNpemU6IDFlbTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi1kcm9wZG93bl9fbGlzdCwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IGxpLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi1kcm9wZG93bl9fbGlzdCBsaSwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCA+IGxpOm5vdCg6Zmlyc3Qtb2YtdHlwZSksIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciA+IHVsID4gbGk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1sZWZ0OiAtMC4zMTI1ZW07XG59XG5cbi5uby1qcyAubmF2LWRyb3Bkb3duX19saXN0ID4gbGk6bm90KDpmaXJzdC1vZi10eXBlKSwgLm5vLWpzIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciA+IHVsID4gbGk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IC5idXR0b24tZHJvcGRvd24sIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuYnV0dG9uLWRyb3Bkb3duOmhvdmVyID4gdWwsXG4ubmF2LWRyb3Bkb3duX19saXN0IC5idXR0b24tZHJvcGRvd246Zm9jdXMgPiB1bCxcbi5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaTpob3ZlciB1bCxcbi5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaTpmb2N1cyB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IGEsIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDAuNjI1ZW0gMC45Mzc1ZW07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi1kcm9wZG93bl9fbGlzdCBhLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgYSB7XG4gICAgcGFkZGluZzogMC42MjVlbSAwLjkzNzVlbTtcbiAgfVxufVxuXG4ubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCBhIHtcbiAgYmFja2dyb3VuZDogIzM5MDA1MDtcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCBhOmhvdmVyLFxuLm5hdi1kcm9wZG93bl9fbGlzdCBhOmZvY3VzLFxuLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIGE6aG92ZXIsXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGRTAwNzY7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24taWNvbiB7XG4gIG1hcmdpbi1sZWZ0OiAycHg7XG4gIGZpbGw6IHdoaXRlO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IGEuZHJvcGRvd24tdG9nZ2xlLmFjdGl2ZSAuZHJvcGRvd24taWNvbiB7XG4gIGZpbGw6IHdoaXRlO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IC5kcm9wZG93bi1tZW51LCAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogcmdiYSg1NywgMCwgODAsIDAuNik7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDE1MCU7XG4gICAgei1pbmRleDogNTAwMDAwO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogIzM5MDA1MDtcbiAgfVxufVxuXG4ubm8tanMgLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSwgLm5vLWpzIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLm5vLWpzIC5uYXYtZHJvcGRvd25fX2xpc3QgLmRyb3Bkb3duLW1lbnUgbGkgYSwgLm5vLWpzIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsIGxpIGEge1xuICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5uby1qcyAubmF2LWRyb3Bkb3duX19saXN0IC5kcm9wZG93bi1tZW51IGxpIGEsIC5uby1qcyAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCBsaSBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gIH1cbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSBsaSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgbGkge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmRyb3Bkb3duLW1lbnUgYSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgbGkgYSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cblxuLm5hdi1pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5uYXZbcm9sZT1cIm5hdmlnYXRpb25cIl0ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDEgMCBhdXRvO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MDBweCkge1xuICBuYXZbcm9sZT1cIm5hdmlnYXRpb25cIl0ge1xuICAgIGZsZXg6IGluaXRpYWw7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubmV3cy1yZXBvcnQ6aG92ZXIsIC5uZXdzLXJlcG9ydDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI0ZFMDA3NjtcbiAgfVxufVxuXG4ubmV3cy1yZXBvcnQ6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gIG1hcmdpbi10b3A6IDFyZW07XG59XG5cbi5uZXdzLXJlcG9ydDpsYXN0LW9mLXR5cGUge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubmV3cy1yZXBvcnQgPiAqOmhvdmVyLCAubmV3cy1yZXBvcnQgPiAqOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAjRkUwMDc2O1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NDBweCkge1xuICAubmV3cy1yZXBvcnQgPiAqOmhvdmVyIH4gKiB7XG4gICAgYmFja2dyb3VuZDogI0ZFMDA3NjtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuLnByb2ZpbGVzIHtcbiAgZm9udC1zaXplOiAxZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5wcm9maWxlcyAuY2FyZCB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG59XG5cbi5wcm9maWxlcyBsaSB7XG4gIG1hcmdpbi10b3A6IDAuNWVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbn1cblxuLnByb2ZpbGVzIC5tZWRpYS1vYmpfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAxZW07XG59XG5cbi5wcm9maWxlcyAud2lubmVyOjpiZWZvcmUge1xuICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xufVxuXG4ucHJvZmlsZXMgLmF2YXRhciB7XG4gIGJvcmRlcjogNHB4IHNvbGlkICNmZTAwNzY7XG59XG5cbi5yZXBvcnQge1xuICBwYWRkaW5nOiAxMHB4IDVweCA1cHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC42NSk7XG59XG5cbi5yZXBvcnQtY2FyZCB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1pbi1oZWlnaHQ6IDkwcHg7XG59XG5cbi5yZXBvcnRfX2RhdGEgYTpob3ZlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLnJlcG9ydF9fZGF0YSBhOmhvdmVyIC5hdmF0YXIge1xuICBib3JkZXItY29sb3I6ICNGRTAwNzY7XG59XG5cbi5yZXBvcnRfX2RhdGEgYTpob3ZlciAubWVkaWEtb2JqX19ib2R5IHtcbiAgY29sb3I6ICNGRTAwNzY7XG59XG5cbi5yZXBvcnRfX3RpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1ZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxNTAlKTtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4ucmVwb3J0X19kYXRhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgaGVpZ2h0OiAxMDAlO1xufVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA1MjBweCkge1xuICAucmVwb3J0X19kYXRhIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cbn1cblxuLnJlcG9ydF9fZGF0YSAubWVkaWEtb2JqIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuXG4ucmVwb3J0X19kYXRhID4gYSB7XG4gIGZsZXg6IDMzLjMzMzMzMyU7XG4gIHBhZGRpbmc6IDAgMC4yNWVtO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIC5yZXBvcnRfX2RhdGEgPiBhIHtcbiAgICBmbGV4OiA3MHB4O1xuICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gIH1cbn1cblxuLnJlcG9ydF9fZGF0YSAubWVkaWEtb2JqX19ib2R5IHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbn1cblxuLnNlYXJjaC1yZXN1bHRzIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cbi5zZWFyY2gtcmVzdWx0c19faXRlbSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi5zZWFyY2gtcmVzdWx0c19faXRlbTpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xufVxuXG4uc2VhcmNoLXJlc3VsdHNfX2NpdGUge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuXG4uc3BlZWNoLWJ1YmJsZSB7XG4gIG1hcmdpbjogMDtcbiAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi5zcGVlY2gtYnViYmxlOjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogM3JlbTtcbiAgYm90dG9tOiAtMjVweDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZykgc2tldygtMjVkZWcpIHRyYW5zbGF0ZVkoMTYuNjY2NjdweCk7XG59XG5cbi5zcGVlY2gtYnViYmxlIHAge1xuICAtbXMtb3ZlcmZsb3ctc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5zcGVlY2gtYnViYmxlIC5tZWRpYS1vYmpfX2ZpZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctcmlnaHQ6IDEuMjVyZW07XG59XG5cbi5zcGVlY2gtYnViYmxlIC5tZWRpYS1vYmpfX2ZpZyBzdmc6Zmlyc3Qtb2YtdHlwZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbn1cblxuLnNwZWVjaC1idWJibGUgLm1lZGlhLW9ial9fYm9keSA+IDpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cbi5zcGVlY2gtYnViYmxlIGNpdGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTEuODc1cmVtO1xuICBsZWZ0OiA0cmVtO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICB3b3JkLXdyYXA6IGJyZWFrLWFsbDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG4uc3BlZWNoLWJ1YmJsZSBjaXRlIGEge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZjJmOGY7XG59XG5cbi5zcGVlY2gtYnViYmxlIGNpdGUgYTpob3ZlciwgLnNwZWVjaC1idWJibGUgY2l0ZSBhOmZvY3VzIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5zcGVlY2gtYnViYmxlLS1yb3NlIGEsIC5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5OmhvdmVyIGEge1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5IHtcbiAgYmFja2dyb3VuZDogI0VCRUJFQjtcbn1cblxuLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6OmJlZm9yZSB7XG4gIGJvcmRlcjogMTIuNXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wOiAxMi41cHggc29saWQgI0VCRUJFQjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgaGVpZ2h0OiAwO1xuICB3aWR0aDogMDtcbiAgYm9yZGVyLXRvcC13aWR0aDogMjVweDtcbn1cblxuLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6aG92ZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5OmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXItdG9wLWNvbG9yOiAjRkUwMDc2O1xufVxuXG4uc3BlZWNoLWJ1YmJsZS0tcm9zZSwgLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6aG92ZXIge1xuICBiYWNrZ3JvdW5kOiAjRkUwMDc2O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi5zcGVlY2gtYnViYmxlLS1yb3NlOjpiZWZvcmUsIC5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5OmhvdmVyOjpiZWZvcmUge1xuICBib3JkZXI6IDEyLjVweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcDogMTIuNXB4IHNvbGlkICNGRTAwNzY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGhlaWdodDogMDtcbiAgd2lkdGg6IDA7XG4gIGJvcmRlci10b3Atd2lkdGg6IDI1cHg7XG59XG5cbi50ZWFjaGVyLXN0YXR1cyB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cbi50ZWFjaGVyLXN0YXR1cyAuYXZhdGFyIHtcbiAgYm9yZGVyOiAwLjIwODMzZW0gc29saWQgI2ZlMDA3Njtcbn1cblxuLnRlYWNoZXItc3RhdHVzIC5tZWRpYS1vYmpfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4udGVhY2hlci1zdGF0dXMgLnN0YXR1cyB7XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xuICBwYWRkaW5nOiAwLjVlbTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDAsIDI1NSwgMjU1LCAwLjU3KTtcbn1cblxuLnRlYWNoZXItc3RhdHVzIC53aW5uZXI6OmJlZm9yZSB7XG4gIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG59XG5cbi50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiAxLjgzMzMzZW07XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4udGl0bGUgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG4udGl0bGUgYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udGl0bGUgYTpob3ZlciwgLnRpdGxlIGE6Zm9jdXMge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTE4MHB4KSB7XG4gIC5ncmlkLnR3by10aGlyZHMgPiAucm93ICsgLnJvdyB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgfVxufVxuXG4uZ3JpZC5vbmUtdGhpcmQgaHIge1xuICBib3JkZXItdG9wOiAycHggc29saWQgIzhFNkY5QztcbiAgbWFyZ2luLXRvcDogMi41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG59XG5cbi5ncmlkLm9uZS10aGlyZCA+IC5yb3cgKyAucm93IHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzQwcHgpIGFuZCAobWF4LXdpZHRoOiA5NjhweCkge1xuICAuZ3JpZC5vbmUtdGhpcmQgLmNhcmQubWVkaWEtb2JqIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQwMHB4KSB7XG4gIC5ncmlkLm9uZS10aGlyZCAuY2FyZC5tZWRpYS1vYmoge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuLmdyaWQub25lLXRoaXJkIC5zcGVlY2gtYnViYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgcGFkZGluZzogMC4xMjVlbSAxLjI1ZW07XG59XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDc2OXB4KSB7XG4gIC5ncmlkLm9uZS10aGlyZCAuc3BlZWNoLWJ1YmJsZSB7XG4gICAgbWluLWhlaWdodDogMTIuNWVtO1xuICAgIG1heC1oZWlnaHQ6IDEyLjVlbTtcbiAgfVxufVxuXG4uZmxleGJveHR3ZWVuZXIgLmdyaWQub25lLXRoaXJkIC5zcGVlY2gtYnViYmxlIHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi50ZW1wbGF0ZS1wcmltYXJ5IG1haW4gPiAuY29udGFpbmVyIHtcbiAgcGFkZGluZzogMC44MzMzM3JlbSAwLjgzMzMzcmVtIDIuNXJlbSAwLjgzMzMzcmVtO1xuICBiYWNrZ3JvdW5kOiB3aGl0ZTtcbn1cblxuaHRtbC5pcy11bnNjcm9sbGFibGUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4ubmF2LWRyb3Bkb3duLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IC5kcm9wZG93bi1tZW51LmFjdGl2ZSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW46aG92ZXIgdWwge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCBhLmRyb3Bkb3duLXRvZ2dsZS5hY3RpdmUsIC5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsIGE6aG92ZXIge1xuICBvdXRsaW5lOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkUwMDc2O1xuICBjb2xvcjogd2hpdGU7XG59XG5cbi50aW55bmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRpbnluYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG4gIC5zZWxlY3QtbmF2IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uby1qcyAuc2VsZWN0LW5hdiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG4gIC5uby1qcyAuc2VsZWN0LW5hdiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiA1MCU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICB9XG59XG5cbi5saXN0LXJlc2V0IHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMDtcbn1cblxuLmxpc3QtaW5saW5lIHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLmxpc3QtaW5saW5lIGxpOmZpcnN0LW9mLXR5cGUge1xuICBtYXJnaW4tbGVmdDogMC4zMTI1cmVtO1xufVxuXG4ubGlzdC1pbmxpbmUgbGk6bm90KDpsYXN0LW9mLXR5cGUpICo6OmFmdGVyIHtcbiAgY29udGVudDogJywnO1xufVxuXG4uZml0LXNwYWNlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbn1cblxuLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4uYWxpZ25jZW50ZXIsXG5kaXYuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDogcmlnaHQ7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4uYWxpZ25sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4uYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuYSBpbWcuYWxpZ25yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbmEgaW1nLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG5hIGltZy5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbmEgaW1nLmFsaWduY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YwZjBmMDtcbiAgbWF4LXdpZHRoOiA5NiU7XG4gIC8qIEltYWdlIGRvZXMgbm90IG92ZXJmbG93IHRoZSBjb250ZW50IGFyZWEgKi9cbiAgcGFkZGluZzogNXB4IDNweCAxMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbmxlZnQge1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25yaWdodCB7XG4gIG1hcmdpbjogNXB4IDAgMjBweCAyMHB4O1xufVxuXG4ud3AtY2FwdGlvbiBpbWcge1xuICBib3JkZXI6IDAgbm9uZTtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogOTguNSU7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbiBwLndwLWNhcHRpb24tdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTFweDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCA0cHggNXB4O1xufVxuXG5pbWdbY2xhc3MqPVwiYWxpZ25cIl0sXG5pbWdbY2xhc3MqPVwid3AtaW1hZ2UtXCJdIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4ud3AtY2FwdGlvbixcbi53cC1jYXB0aW9uIGltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbn1cblxuaW1nLnNpemUtZnVsbCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5uby1wYWRsciB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLm1hdGVyaWFsLXNoYWRvdywgLmN1cnJpY3VsdW0tdml0YWVfX2JvZHkgaW1nLCAucmVwb3J0LCAudGVhY2hlci1zdGF0dXMgLnN0YXR1cyB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMTIpLCAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KTtcbn1cblxuLnZpc3VhbGx5aGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7XG59XG5cbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6YWN0aXZlLFxuLnZpc3VhbGx5aGlkZGVuLmZvY3VzYWJsZTpmb2N1cyB7XG4gIGNsaXA6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgd2lkdGg6IGF1dG87XG59XG5cbi5jbGVhcmZpeDo6YWZ0ZXIsIC5yb3c6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgYm9keSB7XG4gICAgcGFkZGluZzogMTBweDtcbiAgfVxuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcbiAgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiO1xuICB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePVwiamF2YXNjcmlwdDpcIl06YWZ0ZXIsXG4gIGFbaHJlZl49XCIjXCJdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzk5OTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDtcbiAgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gIH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTtcbiAgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzO1xuICB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7XG4gIH1cbiAgLnNwZWVjaC1idWJibGUtLXJvc2U6OmJlZm9yZSwgLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6aG92ZXI6OmJlZm9yZSwgLnNwZWVjaC1idWJibGUtLWdhbGxlcnk6aG92ZXI6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAucmVhZC1tb3JlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cbiAgLmNhcmQge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8vICRUeXBlc2NhbGVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuXG5AbWl4aW4gdHlwZXNjYWxlKCRzY2FsZSwgJGJhc2UsICR2YWx1ZSwgJG1lYXN1cmU6XCJcIikge1xuXHRAaWYgJHZhbHVlID09IHJlbSB7XG5cdFx0Zm9udC1zaXplOiAkc2NhbGUgKiAxcHg7XG5cdFx0Zm9udC1zaXplOiBjb250ZXh0LWNhbGMoJHNjYWxlLCAkYmFzZSwgJHZhbHVlKTtcblx0fSBAZWxzZSBpZiAkdmFsdWUgPT0gZW0ge1xuXHRcdGZvbnQtc2l6ZTogY29udGV4dC1jYWxjKCRzY2FsZSwgJGJhc2UsICR2YWx1ZSk7XG5cdH0gQGVsc2Uge1xuXHRcdGZvbnQtc2l6ZTogJHNjYWxlICogMXB4O1xuXHR9XG5cblx0QGlmICRtZWFzdXJlICE9IFwiXCIge1xuXHRcdEBpZiAkdmFsdWUgPT0gcmVtIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IG1lYXN1cmUtbWFyZ2luKCRzY2FsZSwgJG1lYXN1cmUsICR2YWx1ZTogcHgpO1xuXHRcdFx0bWFyZ2luLWJvdHRvbTogbWVhc3VyZS1tYXJnaW4oJHNjYWxlLCAkbWVhc3VyZSwgJHZhbHVlKTtcblx0XHR9IEBlbHNlIGlmICR2YWx1ZSA9PSBlbSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiBtZWFzdXJlLW1hcmdpbigkc2NhbGUsICRtZWFzdXJlLCAkdmFsdWU6IGVtKTtcblx0XHR9IEBlbHNlIHtcblx0XHRcdG1hcmdpbi1ib3R0b206IG1lYXN1cmUtbWFyZ2luKCRzY2FsZSwgJG1lYXN1cmUsICR2YWx1ZSk7XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gJEhlYWRpbmdzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vdHlwZXBsYXRlL3N0YXJ0ZXIta2l0L2lzc3Vlcy8yN1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXG4vLyBQcm9wcyB0byBIYXJyeSBSb2JlcnRzIGZvciB0aGlzIHRyaWNrLlxuLy9cbi8vIEBub3Rlc1xuLy8gb3B0aW1pemVMZWdpYmlsaXR5ICAgICAgICAgICBFbmFibGVzIGxpZ2F0dXJlcyBhbmQga2VybmluZ1xuLy8gc2luZ2xlIGxpbmUgaGVpZ2h0ICAgICAgICAgICBGaXhlcyBsYXJnZSBzcGFjZXMgd2hlbiBhIGhlYWRpbmcgd3JhcHMgdHdvIGxpbmVzXG5cbiVoTiB7XG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cdGxpbmUtaGVpZ2h0OiAxO1xuXHRtYXJnaW4tdG9wOiAwO1xufVxuXG5AbWl4aW4gaGVhZGluZ3MoKSB7XG5cdEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkc2NhbGUge1xuXHRcdC4jeyRuYW1lfSB7XG5cdFx0XHRAZXh0ZW5kICVoTjtcblx0XHRcdEBpbmNsdWRlIHR5cGVzY2FsZShcblx0XHRcdFx0JHNpemUsXG5cdFx0XHRcdCRmb250LWJhc2UsXG5cdFx0XHRcdCR0eXBlc2NhbGUtdW5pdCxcblx0XHRcdFx0JG1lYXN1cmVcblx0XHRcdCk7XG5cdFx0fVxuXHR9XG59XG5cbkBtaXhpbiBoZWFkaW5ncy1zdHlsZSgpIHtcblx0QGVhY2ggJGgsICRzaXplIGluICRoZWFkaW5ncyB7XG5cdFx0I3skaH0ge1xuXHRcdFx0QGV4dGVuZCAuI3skc2l6ZX07XG5cdFx0fVxuXHR9XG59XG5cblxuLy8gJEh5cGVuc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXG4vLyBAbm90ZXNcbi8vIGh0dHA6Ly9jYW5pdXNlLmNvbS8jc2VhcmNoPWh5cGhlbnNcbi8vIGh0dHA6Ly90cmVudHdhbHRvbi5jb20vMjAxMS8wOS8wNy9jc3MtaHlwaGVuYXRpb25cbi8vXG4vLyBAdmFsdWVzICAgICAgICAgICAgICBbIG5vbmUgfCBtYW51YWwgfCBhdXRvIF1cblxuQG1peGluIGh5cGhlbnMoJHZhbCkge1xuXHRAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG5cdFx0I3skcHJlZml4fWh5cGhlbnM6ICR2YWw7XG5cdH1cbn1cblxuXG4vLyAkQ29kZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS8vXG5cbkBtaXhpbiB3aGl0ZS1zcGFjZSgkd3JhcC1zcGFjZSkge1xuXHRAaWYgJHdyYXAtc3BhY2UgPT0gJ3ByZS13cmFwJyB7XG5cdFx0d2hpdGUtc3BhY2U6ICN7LW1vei19JHdyYXAtc3BhY2U7XG5cdFx0d2hpdGUtc3BhY2U6ICR3cmFwLXNwYWNlO1xuXHR9IEBlbHNlIHtcblx0XHR3aGl0ZS1zcGFjZTogJHdyYXAtc3BhY2U7XG5cdH1cbn1cbiIsIi8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICBOb3JtYWxpemUuc2NzcyBzZXR0aW5nc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICogSW5jbHVkZXMgbGVnYWN5IGJyb3dzZXIgc3VwcG9ydCBJRTYvN1xuICpcbiAqIFNldCB0byBmYWxzZSBpZiB5b3Ugd2FudCB0byBkcm9wIHN1cHBvcnQgZm9yIElFNiBhbmQgSUU3XG4gKi9cblxuJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQ6IGZhbHNlICFkZWZhdWx0O1xuXG4vKiBCYXNlXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICogICAgd2l0aG91dCBkaXNhYmxpbmcgdXNlciB6b29tLlxuICogMy4gQ29ycmVjdHMgdGV4dCByZXNpemluZyBvZGRseSBpbiBJRSA2Lzcgd2hlbiBib2R5IGBmb250LXNpemVgIGlzIHNldCB1c2luZ1xuICogIGBlbWAgdW5pdHMuXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpmb250LXNpemU6IDEwMCU7IC8qIDMgKi9cbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA2LzcvOC85IGFuZCBGaXJlZm94IDMuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgKnpvb206IDE7XG4gIH1cbn1cblxuLyoqXG4gKiBQcmV2ZW50cyBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAqL1xuXG5hIHtcbiAgJjphY3RpdmUsICY6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH07XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDEuNWVtO1xuICAgIG1hcmdpbjogMC44M2VtIDA7XG4gIH1cblxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjE3ZW07XG4gICAgbWFyZ2luOiAxZW0gMDtcbiAgfVxuXG4gIGg0IHtcbiAgICBmb250LXNpemU6IDFlbTtcbiAgICBtYXJnaW46IDEuMzNlbSAwO1xuICB9XG5cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMC44M2VtO1xuICAgIG1hcmdpbjogMS42N2VtIDA7XG4gIH1cblxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjY3ZW07XG4gICAgbWFyZ2luOiAyLjMzZW0gMDtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3NlcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cbiAgLyoqXG4gICAqIEFkZHJlc3NlcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIHAsXG4gIHByZSB7XG4gICAgKm1hcmdpbjogMWVtIDA7XG4gIH1cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgQ1NTIHF1b3RlcyBub3Qgc3VwcG9ydGVkIGluIElFIDYvNy5cbiAgICovXG5cbiAgcSB7XG4gICAgKnF1b3Rlczogbm9uZTtcbiAgfVxuXG4gIC8qXG4gICAqIEFkZHJlc3NlcyBgcXVvdGVzYCBwcm9wZXJ0eSBub3Qgc3VwcG9ydGVkIGluIFNhZmFyaSA0LlxuICAgKi9cblxuICBxOmJlZm9yZSxcbiAgcTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgY29udGVudDogbm9uZTtcbiAgfVxufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbkBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG5cbiAgLyogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiAgICAgTGlzdHNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKlxuICAgKiBBZGRyZXNzZXMgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gSUUgNi83LlxuICAgKi9cblxuICBkbCxcbiAgbWVudSxcbiAgb2wsXG4gIHVsIHtcbiAgICAqbWFyZ2luOiAxZW0gMDtcbiAgfVxuXG4gIGRkIHtcbiAgICAqbWFyZ2luOiAwIDAgMCA0MHB4O1xuICB9XG5cbiAgLypcbiAgICogQWRkcmVzc2VzIHBhZGRpbmdzIHNldCBkaWZmZXJlbnRseSBpbiBJRSA2LzcuXG4gICAqL1xuXG4gIG1lbnUsXG4gIG9sLFxuICB1bCB7XG4gICAgKnBhZGRpbmc6IDAgMCAwIDQwcHg7XG4gIH1cblxuICAvKlxuICAgKiBDb3JyZWN0cyBsaXN0IGltYWdlcyBoYW5kbGVkIGluY29ycmVjdGx5IGluIElFIDcuXG4gICAqL1xuXG4gIG5hdiB1bCxcbiAgbmF2IG9sIHtcbiAgICAqbGlzdC1zdHlsZTogbm9uZTtcbiAgICAqbGlzdC1zdHlsZS1pbWFnZTogbm9uZTtcbiAgfVxuXG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBJbXByb3ZlcyBpbWFnZSBxdWFsaXR5IHdoZW4gc2NhbGVkIGluIElFIDcuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgICotbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljOyAvKiAyICovXG4gIH1cbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqIENvcnJlY3QgZm9udCBmYW1pbHkgc2V0IG9kZGx5IGluIElFIDYsIFNhZmFyaSA0LzUsIGFuZCBDaHJvbWUuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgX2ZvbnQtZmFtaWx5OiAnY291cmllciBuZXcnLCBtb25vc3BhY2U7XG4gIH1cbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKiA0LiBJbXByb3ZlcyBhcHBlYXJhbmNlIGFuZCBjb25zaXN0ZW5jeSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDMgKi9cbiAgICAqdmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMyAqL1xuICB9XG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICogNC4gUmVtb3ZlcyBpbm5lciBzcGFjaW5nIGluIElFIDcgd2l0aG91dCBhZmZlY3Rpbmcgbm9ybWFsIHRleHQgaW5wdXRzLlxuICogIEtub3duIGlzc3VlOiBpbm5lciBzcGFjaW5nIHJlbWFpbnMgaW4gSUUgNi5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbiAgQGlmICRsZWdhY3lfYnJvd3Nlcl9zdXBwb3J0IHtcbiAgICAqb3ZlcmZsb3c6IHZpc2libGU7ICAvKiA0ICovXG4gIH1cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICogIEtub3duIGlzc3VlOiBleGNlc3MgcGFkZGluZyByZW1haW5zIGluIElFIDYuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIEBpZiAkbGVnYWN5X2Jyb3dzZXJfc3VwcG9ydCB7XG4gICAgKmhlaWdodDogMTNweDsgLyogMyAqL1xuICAgICp3aWR0aDogMTNweDsgLyogMyAqL1xuICB9XG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKiAzLiBDb3JyZWN0cyB0ZXh0IG5vdCB3cmFwcGluZyBpbiBGaXJlZm94IDMuXG4gKiA0LiBDb3JyZWN0cyBhbGlnbm1lbnQgZGlzcGxheWVkIG9kZGx5IGluIElFIDYvNy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xuICBAaWYgJGxlZ2FjeV9icm93c2VyX3N1cHBvcnQge1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7IC8qIDMgKi9cbiAgICAqbWFyZ2luLWxlZnQ6IC03cHg7IC8qIDQgKi9cbiAgfVxufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufSIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAgICBCYXNlIHN0eWxlczogb3BpbmlvbmF0ZWQgZGVmYXVsdHNcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIVE1MNSBCb2lsZXJwbGF0ZVxuLy9cbi8vIFdoYXQgZm9sbG93cyBpcyB0aGUgcmVzdWx0IG9mIG11Y2ggcmVzZWFyY2ggb24gY3Jvc3MtYnJvd3NlciBzdHlsaW5nLlxuLy8gQ3JlZGl0IGxlZnQgaW5saW5lIGFuZCBiaWcgdGhhbmtzIHRvIE5pY29sYXMgR2FsbGFnaGVyLCBKb25hdGhhbiBOZWFsLFxuLy8gS3JvYyBDYW1lbiwgYW5kIHRoZSBINUJQIGRldiBjb21tdW5pdHkgYW5kIHRlYW0uXG5cbmJ1dHRvbixcbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuXHRjb2xvcjogIzIyMjtcbn1cblxuLy8gUmVtb3ZlIHRleHQtc2hhZG93IGluIHNlbGVjdGlvbiBoaWdobGlnaHQ6IGg1YnAuY29tL2lcbi8vIFRoZXNlIHNlbGVjdGlvbiBydWxlIHNldHMgaGF2ZSB0byBiZSBzZXBhcmF0ZS5cbi8vIEN1c3RvbWl6ZSB0aGUgYmFja2dyb3VuZCBjb2xvciB0byBtYXRjaCB5b3VyIGRlc2lnbi5cbjo6LW1vei1zZWxlY3Rpb24ge1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0YmFja2dyb3VuZDogJHNlbGVjdGlvbi1oaWdobGlnaHQtY29sb3I7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuOjpzZWxlY3Rpb24ge1xuXHR0ZXh0LXNoYWRvdzogbm9uZTtcblx0YmFja2dyb3VuZDogJHNlbGVjdGlvbi1oaWdobGlnaHQtY29sb3I7XG5cdGNvbG9yOiB3aGl0ZTtcbn1cblxuXG4vLyBBIGJldHRlciBsb29raW5nIGRlZmF1bHQgaG9yaXpvbnRhbCBydWxlXG5ociB7XG5cdGJvcmRlcjogMDtcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG5cdGJveC1zaGFkb3c6IGluc2V0IDAgMXB4IDFweCByZ2JhKDI1NSwgMjUxLCAyNTEsIDAuNzYpO1xuXHRkaXNwbGF5OiBibG9jaztcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogMWVtIDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cblxuLy8gUmVtb3ZlIHRoZSBnYXAgYmV0d2VlbiBpbWFnZXMsIHZpZGVvcywgYXVkaW8gYW5kIGNhbnZhcyBhbmQgdGhlIGJvdHRvbSBvZlxuLy8gdGhlaXIgY29udGFpbmVyczogaDVicC5jb20vaS80NDBcbmF1ZGlvLFxuY2FudmFzLFxuaW1nLFxudmlkZW8ge1xuXHR2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG5cbi8vIFJlbW92ZSBkZWZhdWx0IGZpZWxkc2V0IHN0eWxlcy5cbmZpZWxkc2V0IHtcblx0Ym9yZGVyOiAwO1xuXHRtYXJnaW46IDA7XG5cdHBhZGRpbmc6IDA7XG59XG5cblxuLy8gQWxsb3cgb25seSB2ZXJ0aWNhbCByZXNpemluZyBvZiB0ZXh0YXJlYXMuXG50ZXh0YXJlYSB7XG5cdHJlc2l6ZTogdmVydGljYWw7XG59XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAkQ3VzdG9tIEJhc2UgU3R5bGVzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuaHRtbCxcbmlucHV0IHtcblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuKixcbio6YmVmb3JlLFxuKjphZnRlciB7XG5cdGJveC1zaXppbmc6IGluaGVyaXQ7XG59XG5cbiogeyAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHJnYmEoMCwwLDAsMCk7IH1cblxuaHRtbCxcbmJvZHkge1xuXHRoZWlnaHQ6IDEwMCU7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbiAgICBiYWNrZ3JvdW5kOiAkYmFubmVyLWJnO1xufVxuXG5ib2R5IHtcbiAgICBiYWNrZ3JvdW5kOiAkYmFubmVyLWJnIGltZy11cmwoXCJidWJibGVzLnN2Z1wiKSAtMTAwJSAwIHJlcGVhdC14O1xuICAgIG1pbi13aWR0aDogMzIwcHg7XG59XG5cbkBpbmNsdWRlIHBsYWNlaG9sZGVyLXN0eWxlcyB7XG5cdGNvbG9yOiAkcGxhY2Vob2xkZXItY29sb3I7XG59XG5cbmltZyxcbmVtYmVkLFxub2JqZWN0LFxudmlkZW8ge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbn1cblxuc3ZnIHtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcbiAgJjpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG5hIHtcblx0dHJhbnNpdGlvbjogMC4yNzVzIGFsbCBlYXNlLWluLW91dDtcblx0Y29sb3I6ICRnbG9iYWwtbGluay1jb2xvcjtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG5cdCY6Zm9jdXMsXG5cdCY6aG92ZXIsXG5cdCY6YWN0aXZlIHtcblx0XHRjb2xvcjogbGlnaHRlbigkZ2xvYmFsLWxpbmstY29sb3IsIDMwJSk7XG5cdH1cbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb25maWdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEBleGFtcGxlIDogZnVuY3Rpb25zL19pbWctdXJsLnNjc3Ncbi8vIGJhY2tncm91bmQ6IGltZy11cmwoJ3BpY3R1cmUuanBnJykgdG9wIGxlZnQgbm8tcmVwZWF0O1xuJGltZy1kaXI6IFwiLi4vaW1nL1wiICFkZWZhdWx0O1xuXG4vLyBAZXhhbXBsZSA6IGZ1bmN0aW9ucy9fYXNzZXQtaGVscGVyLnNjc3Ncbi8vIEJhc2UgcGF0aCBmb3IgYXNzZXRzIChmb250cywgaW1hZ2VzLi4uKSxcbi8vIHNob3VsZCBub3QgaW5jbHVkZSB0cmFpbGluZyBzbGFzaFxuLy8gQGFjY2VzcyBwdWJsaWNcbi8vIEB0eXBlIFN0cmluZ1xuJGFzc2V0LWJhc2UtcGF0aDogXCIuLlwiICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBNZWRpYSBRdWVyeSBNaXhpblxuLy8gQHJlcXVpcmVzIG1peGlucy9fbWVkaWEtcXVlcnkuc2Nzc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJG1pbjogbWluLXdpZHRoO1xuJG1heDogbWF4LXdpZHRoO1xuJG1heC1oZWlnaHQ6IG1heC1oZWlnaHQ7XG4kbWluLWRldmljZTogbWluLWRldmljZS13aWR0aDtcbiRtYXgtZGV2aWNlOiBtYXgtZGV2aWNlLXdpZHRoO1xuJHZpZXdwb3J0LWluY3JlbWVudDogMC4xcHg7XG5cbiRtYXgtdy1zbTogNDAwcHg7XG4kbWF4LW1xOiA3NjhweDtcbiRtYXgtdy1sZzogMTE4MHB4O1xuXG4kc21hbGw6IDMyMHB4O1xuJG1lZGl1bTogNzY5cHg7XG4kbGFyZ2U6IDEyMDBweDtcblxuJHNjcmVlbi1zbTogNTQwcHg7XG4kc2NyZWVuLW1lZDogJG1lZGl1bTtcbiRzY3JlZW4tbGc6ICRsYXJnZTtcblxuJGNvbW1lbnRzLWxnOiA4MDBweDtcblxuJHByZS1tYXgtdy1sZzogJG1heC13LWxnIC0gJHZpZXdwb3J0LWluY3JlbWVudDtcbiRwb3N0LW1heC13LWxnOiAkbWF4LXctbGcgKyAkdmlld3BvcnQtaW5jcmVtZW50O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb2xvciA6IERlZmluaXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRzYWlsOiAjQjJFNkZCO1xuJHJpcGUtcGx1bWI6ICMzOTAwNTA7XG4keWVsbG93OiAjRkRGNDAwO1xuJHJvc2U6ICNGRTAwNzY7XG4kY2VydWxlYW46ICMwMDlERTc7XG4kZ2FsbGVyeTogI0VCRUJFQjtcblxuXG4kc2VsZWN0aW9uLWhpZ2hsaWdodC1jb2xvcjogJHJvc2UgIWRlZmF1bHQ7XG4kZ2xvYmFsLWxpbmstY29sb3I6ICRyb3NlICFkZWZhdWx0O1xuJHBsYWNlaG9sZGVyLWNvbG9yOiAjQUFBQUFBICFkZWZhdWx0O1xuXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBDb2xvciA6IENvbXBvbmVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRib2R5LWJnOiAkc2FpbDtcbiRoZWFkZXItYmc6ICRyaXBlLXBsdW1iO1xuJGJhbm5lci1iZzogJHNhaWw7XG4kY29udGVudC1iZzogd2hpdGU7XG5cbiRuYXYtZHJvcGRvd24tYmc6ICRyaXBlLXBsdW1iO1xuJG5hdi1kcm9wZG93bi1ob3Zlci1iZzogJHJvc2U7XG4kbmF2LWRyb3Bkb3duLWNvbG9yOiB3aGl0ZTtcbiRuYXYtZHJvcGRvd24tY2FyZXQtY29sb3I6IHdoaXRlO1xuXG4kcHJpbWFyeS1idG4tYmc6ICRyaXBlLXBsdW1iO1xuJHByaW1hcnktYnRuLWhvdmVyLWJnOiAkcm9zZTtcbiRwcmltYXJ5LWJ0bi1mb250Y29sb3I6IHdoaXRlO1xuJHNlY29uZGFyeS1idG4tYm9yZGVyLWNvbG9yOiAjQzBBQ0M2O1xuJHNlY29uZGFyeS1idG4tYmc6IHRyYW5zcGFyZW50O1xuJHNlY29uZGFyeS1idG4tZm9udGNvbG9yOiB3aGl0ZTtcblxuJGF2YXRhci1ib3JkZXItY29sb3I6ICRyaXBlLXBsdW1iO1xuJGF2YXRhci13aW5uZXItYmc6ICRyb3NlO1xuXG4kaWNvbi1iZzogJHJpcGUtcGx1bWI7XG4kaWNvbi1maWxsOiB3aGl0ZTtcblxuLy8gQG5vdGUgOiAkc2VhcmNoLWJ0bi1iZ1xuLy8gU2hhcmVkIHcvaWNvbiBiZy4gQ2hhbmdlIGljb25cbi8vIGJnIHRvIGNoYW5nZSB0aGUgYnV0dG9uIGNvbG9yLlxuJHNlYXJjaC1idG4tYmc6ICRpY29uLWJnO1xuJGlucHV0LWJnOiAkZ2FsbGVyeTtcblxuJGNhcmQtcGx1bWI6ICRyaXBlLXBsdW1iO1xuJGNhcmQtcGx1bWItZm9udGNvbG9yOiB3aGl0ZTtcbiRjYXJkLXJvc2U6ICRyb3NlO1xuJGNhcmQtcm9zZS1mb250Y29sb3I6IHdoaXRlO1xuJGNhcmQtY2VydWxlYW46ICRjZXJ1bGVhbjtcbiRjYXJkLWNlcnVsZWFuLWZvbnRjb2xvcjogd2hpdGU7XG4kY2FyZC1nb2xkOiAkeWVsbG93O1xuJGNhcmQtZ2FsbGVyeTogJGdhbGxlcnk7XG4kY2FyZC1nYWxsZXJ5LWZvbnRjb2xvcjogJHJpcGUtcGx1bWI7XG5cbiRjYXJkLXNpbmdsZS1iZzogJGNhcmQtZ2FsbGVyeTtcbiRjYXJkLXNpbmdsZS1ob3Zlci1iZzogJGNhcmQtcm9zZTtcbiRjYXJkLXNpbmdsZS1ob3Zlci1jb2xvcjogd2hpdGU7XG5cbiRjdXJyaWN1bHVtLXZpdGFlLWhlYWRlci1iZzogcmdiKDI0NSwgMjQ1LCAyNDUpO1xuJGN1cnJpY3VsdW0tdml0YWUtYm9keS1iZzogI2YxZjFmMTtcbiRjdXJyaWN1bHVtLXZpdGFlLWluZm8tYmc6IHdoaXRlO1xuXG4kc3RhdHVzLWJnOiByZ2JhKDI0MCwgMjU1LCAyNTUsIDAuNTcpO1xuXG4kY29tbWVudC1sZXZlbDEtY2FyZGJnOiAkZ2FsbGVyeTtcbiRjb21tZW50LWxldmVsMi1jYXJkYmc6ICRnYWxsZXJ5O1xuJGNvbW1lbnQtbGV2ZWwxLWJnOiAjZDZkNmQ2O1xuJGNvbW1lbnQtbGV2ZWwxLWJvcmRlci1jb2xvcjogJGNvbW1lbnQtbGV2ZWwxLWNhcmRiZztcblxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gU3BhY2luZyAmIExheW91dFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGd1dHRlcjogMjBweDtcbiRjb2x1bW46IDEwMHB4O1xuJGdyaWQtZ2FwOiAkZ3V0dGVyLzI7XG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogTmF2IEl0ZW1zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBAYXJnc1xuLy8gdGFyZ2V0OiAobmFtZSwgYmctcG9zKVxuJG5hdmJnOiAoXG4gIGFzazogKFxuICAgICd5ZWxsb3ctcGlsbCcsXG4gICAgJzAgLTU0cHgnLFxuICAgICctNXB4IC0xMDRweCdcbiAgKSxcbiAgY2hhdDogKFxuICAgICdwaW5rLXBpbGwnLFxuICAgICcwIC0yMDlweCcsXG4gICAgJy0ycHggLTE1N3B4J1xuICApLFxuICB2b3RlOiAoXG4gICAgJ2JsdWUtcGlsbCcsXG4gICAgJzAgLTM2NHB4JyxcbiAgICAnLTEzcHggLTMxM3B4J1xuICApXG4pO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogQ2FyZHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIEBhcmdzXG4vLyB0YXJnZXQ6IChuYW1lLCBiZy1wb3MsIGJnLXBvcy1ob3ZlcilcbiRzdHVkZW50LWNhcmQtaWNvbnM6IChcbiAgYXNrOiAoXG4gICAgJ3llbGxvdycsXG4gICAgJzAgLTEwMXB4JyxcbiAgICAnMCAwJ1xuICApLFxuICBjaGF0OiAoXG4gICAgJ3BpbmsnLFxuICAgICcwIC0yNTZweCcsXG4gICAgJzAgLTE1NXB4J1xuICApLFxuICB2b3RlOiAoXG4gICAgJ2JsdWUnLFxuICAgICcwIC00MTFweCcsXG4gICAgJzAgLTMxMHB4J1xuICApXG4pO1xuXG5cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIENvbXBvbmVudDogU3BlZWNoIEJ1YmJsZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGNhcmV0LXVuaXQ6IDI1cHg7XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gUGxhY2Vob2xkZXJzXG4vLyBodHRwczovL2dpdGh1Yi5jb20vZHJ1YmxpYy9TYXNzLU1peGlucy9ibG9iL21hc3Rlci9taXhpbnMuc2Nzc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQGV4YW1wbGVcbi8vIGlucHV0IHsgQGluY2x1ZGUgcGxhY2Vob2xkZXItY29sb3IoJGNvbG9yKTsgfVxuXG5AbWl4aW4gcGxhY2Vob2xkZXItY29sb3IoJGNvbG9yKSB7XG5cdC8vIENocm9tZSwgU2FmYXJpLCBPcGVyYVxuXHQmOjotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHR9XG5cblx0Ly8gR2Vja28gLSBGaXJlZm94IDQgdGhydSAxOFxuXHQmOi1tb3otcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cblx0Ly8gR2Vja28gLSBGaXJlZm94IDE5K1xuXHQmOjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRjb2xvcjogJGNvbG9yO1xuXHR9XG5cblx0Ly8gSUUxMCtcblx0JjotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdGNvbG9yOiAkY29sb3I7XG5cdH1cbn1cblxuXG4vLyBAZXhhbXBsZVxuLy8gLnNlbGVjdG9yIHsgQGluY2x1ZGUgcGxhY2Vob2xkZXItc3R5bGVzIHsgY29sb3I6ICNiYWRhNTU7IGZvbnQtd2VpZ2h0OiBib2xkOyB9IH1cblxuQG1peGluIHBsYWNlaG9sZGVyLXN0eWxlcyB7XG5cblx0Ly8gQ2hyb21lLCBTYWZhcmksIE9wZXJhXG5cdCY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuXHRcdEBjb250ZW50XG5cdH1cblxuXHQvLyBGaXJlZm94IDE5K1xuXHQmOjotbW96LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudFxuXHR9XG5cblx0Ly8gSUUgMTArXG5cdCY6LW1zLWlucHV0LXBsYWNlaG9sZGVyIHtcblx0XHRAY29udGVudFxuXHR9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gJEN1c3RvbSBGb250c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnZGlud2ViLWJvbGQnO1xuICBzcmM6IGZvbnQoJ2RpbndlYi1ib2xkLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgICAgZm9udCgnZGlud2ViLWJvbGQtd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuLy8gUldEIFRpdGxlc1xuLy8gQGluY2x1ZGUgdHlwZXNjYWxlKFxuLy8gICBtYXAtZ2V0KCRzY2FsZSwgYmV0YSksXG4vLyAgICRmb250LWJhc2UsXG4vLyAgICN7JHR5cGVzY2FsZS11bml0fSxcbi8vICAgJG1lYXN1cmVcbi8vICk7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICRCYXNlXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4kc2VyaWYtYm9vbGVhbjogdHJ1ZTtcbiRmb250LWZhbWlseTogaWYoJHNlcmlmLWJvb2xlYW4sIHNlcmlmLCBzYW5zLXNlcmlmKTtcbiRmb250LXdlaWdodDogbm9ybWFsO1xuJGxpbmUtaGVpZ2h0OiAxLjU7XG4kZm9udC1zaXplOiAxMDA7XG4kZm9udC1iYXNlOiAxNiAqICgkZm9udC1zaXplLzEwMCk7XG4kaW5kZW50LXZhbDogMS41cmVtO1xuJG1lYXN1cmU6ICRmb250LWJhc2UgKiAkbGluZS1oZWlnaHQ7XG4kcHJlZml4ZXM6IC13ZWJraXQtLCAtbW96LSwgLW1zLSwgJyc7XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICRUeXBlc2NhbGVcbi8vIEdyZWVrIGhlYWRpbmcgbmFtZXMgYW5kIHNjYWxlIHVzaW5nIGJhc2UgZm9udC1zaXplXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy9cbi8vIHRlcmEgICAgICAgICAgICAgICAgICAgIDExNyA9IDE4IMOXIDYuNVxuLy8gZ2lnYSAgICAgICAgICAgICAgICAgICAgIDkwID0gMTggw5cgNVxuLy8gbWVnYSAgICAgICAgICAgICAgICAgICAgIDcyID0gMTggw5cgNFxuLy8gYWxwaGEgICAgICAgICAgICAgICAgICAgIDYwID0gMTggw5cgMy4zMzMzXG4vLyBiZXRhICAgICAgICAgICAgICAgICAgICAgNDggPSAxOCDDlyAyLjY2Njdcbi8vIGdhbW1hICAgICAgICAgICAgICAgICAgICAzNiA9IDE4IMOXIDJcbi8vIGRlbHRhICAgICAgICAgICAgICAgICAgICAyNCA9IDE4IMOXIDEuMzMzM1xuLy8gZXBzaWxvbiAgICAgICAgICAgICAgICAgIDIxID0gMTggw5cgMS4xNjY3XG4vLyB6ZXRhICAgICAgICAgICAgICAgICAgICAgMTggPSAxOCDDlyAxXG5cbiRzY2FsZTogKFxuICB0ZXJhOiAxMTcsXG4gIGdpZ2E6IDkwLFxuICBtZWdhOiA3MixcbiAgYWxwaGE6IDYwLFxuICBiZXRhOiA0OCxcbiAgZ2FtbWE6IDM2LFxuICBkZWx0YTogMjQsXG4gIGVwc2lsb246IDIxLFxuICB6ZXRhOiAxOCxcbikgIWRlZmF1bHQ7XG5cbiRoZWFkaW5nczogKFxuICBoMTogbWVnYSxcbiAgaDI6IGFscGhhLFxuICBoMzogYmV0YSxcbiAgaDQ6IGdhbW1hLFxuICBoNTogZGVsdGEsXG4gIGg2OiB6ZXRhXG4pICFkZWZhdWx0O1xuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyAkVHlwZXNjYWxlIFVuaXRcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbiR0eXBlc2NhbGUtdW5pdDogZW07XG5cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vICRXb3Jkd3JhcFxuLy8gQ29udHJvbCB3b3JkIHdyYXBwaW5nIGFuZCBicmVha3MgaW4geW91ciB0ZXh0LlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vXG4vLyAnbm9ybWFsJyAgICAgICAgICAgICAgICAgICAgIExpbmVzIG1heSBvbmx5IGJyZWFrIGF0IG5vcm1hbCB3b3JkIGJyZWFrIHBvaW50cy5cbi8vICdicmVhay13b3JkJyAgICAgICAgICAgICAgICAgVW5icmVha2FibGUgd29yZHMgbWF5IGJlIGJyb2tlbiBhdCBhcmJpdHJhcnkgcG9pbnRzLlxuLy9cbi8vIEBleGFtcGxlICAgICAgICAgICAgICAgICAgICAgYXJ0aWNsZSB7IEBleHRlbmQgJWJyZWFrd29yZDsgfVxuXG4lYnJlYWt3b3JkIHtcbiAgd29yZC13cmFwOiBicmVhay13b3JkO1xufVxuXG4lbm9ybWFsLXdyYXAge1xuICB3b3JkLXdyYXA6IG5vcm1hbDtcbn1cblxuJWluaGVyaXQtd3JhcCB7XG4gIHdvcmQtd3JhcDogYXV0bztcbn1cblxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gJE9wZW5UeXBlXG4vLyBDb250cm9sIE9wZW5UeXBlIGZlYXR1cmUgc2V0dGluZ3Mgd2hlcmUgZGVzaXJlZC5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vL1xuLy8gQHVzZVxuLy8gc21hbGxjYXBzICAgICAgICAgICAgICAgIGJvZHkgeyBAZXh0ZW5kICVvdC0tc21jcDsgfVxuLy8gdGV4dCBmaWd1cmVzICAgICAgICAgICAgIGJvZHkgeyBAZXh0ZW5kICVvdC0tb251bTsgfVxuXG4lb3QtLXNtY3Age1xuICBAZWFjaCAkcHJlZml4IGluICRwcmVmaXhlcyB7XG4gICAgI3skcHJlZml4fWZvbnQtZmVhdHVyZS1zZXR0aW5nczogXCJzbWNwXCI7XG4gIH1cbn1cblxuJW90LS1vbnVtIHtcbiAgQGVhY2ggJHByZWZpeCBpbiAkcHJlZml4ZXMge1xuICAgICN7JHByZWZpeH1mb250LWZlYXR1cmUtc2V0dGluZ3M6ICdvbnVtJztcbiAgfVxufVxuXG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBHbG9iYWxcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8vIGh0bWwge1xuLy8gICBmb250LXNpemU6IGNhbGMoMXJlbSArIDF2dyk7XG4vLyB9XG5cblxuYm9keSB7XG4gIC8vQGluY2x1ZGUgZm9udC1sb2FkZXIobm9ybWFsLCAnc2Fucy1zZXJpZicpO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIGZvbnQ6IG5vcm1hbCAxMDAlLzEuNSBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7IC8vIDE2cHggYmFzZVxuXG4gIC8vIC5jc3NhbmltYXRpb25zICYge1xuICAvLyAgIGFuaW1hdGlvbjogZmFkZUluIDAuNXMgY3ViaWMtYmV6aWVyKC41NywuMjUsLjY1LDEpIDAuMjVzIDEgZm9yd2FyZHM7XG4gIC8vICAgb3BhY2l0eTogMDtcbiAgLy8gfVxufVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogc2VyaWY7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwO1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuXG4gIGZvbnQtZmFtaWx5OiAnZGlud2ViLWJvbGQnO1xufVxuXG5AaW5jbHVkZSBoZWFkaW5ncztcbkBpbmNsdWRlIGhlYWRpbmdzLXN0eWxlO1xuXG5pbnB1dCxcbmFiYnIsXG5hY3JvbnltLFxuYmxvY2txdW90ZSxcbmNvZGUsXG5rYmQsXG5xLFxuc2FtcCxcbnZhciB7XG4gIGh5cGhlbnM6IG5vbmU7XG59XG5cbnByZSBjb2RlIHtcbiAgd29yZC13cmFwOiBub3JtYWw7XG4gIHdoaXRlLXNwYWNlOiAtbW96LXByZS13cmFwO1xuICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG59XG5cbnByZSxcbmNvZGUge1xuICB3aGl0ZS1zcGFjZTogcHJlO1xufVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZTtcbn1cbiIsIi8vIEBleGFtcGxlXG4vLyBwIHsgZm9udC1zaXplOiBjb250ZXh0LWNhbGMoMjQsIDE2LCBweCk7IH1cblxuQGZ1bmN0aW9uIGNvbnRleHQtY2FsYygkdGFyZ2V0LCAkY29udGV4dCwgJHZhbHVlKSB7XG5cdEByZXR1cm4gKCR0YXJnZXQgLyAkY29udGV4dCkgKyAkdmFsdWU7XG59XG4iLCIvLyAkTWVhc3VyZS1NYXJnaW5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0vL1xuLy8gZGl2aWRlIDEgdW5pdCBvZiBtZWFzdXJlIGJ5IGdpdmVuIGZvbnQtc2l6ZSAmIHJldHVybiByZWxhdGl2ZSB2YWx1ZVxuXG5AZnVuY3Rpb24gbWVhc3VyZS1tYXJnaW4oJHNjYWxlLCAkbWVhc3VyZSwgJHZhbHVlKSB7XG5cdCRwaXhlbFZhbHVlOiAkc2NhbGUvJG1lYXN1cmU7XG5cdCRyZW1WYWx1ZTogJHBpeGVsVmFsdWUgKiAkZm9udC1iYXNlO1xuXG5cdEBpZiAkdmFsdWUgPT0gcmVtIHtcblx0XHRAcmV0dXJuICRwaXhlbFZhbHVlICsgJHZhbHVlO1xuXHR9IEBlbHNlIGlmICR2YWx1ZSA9PSBlbSB7XG5cdFx0QHJldHVybiAoJHJlbVZhbHVlLyRzY2FsZSkgKyAkdmFsdWU7XG5cdH0gQGVsc2Uge1xuXHRcdEByZXR1cm4gJHJlbVZhbHVlICogMXB4O1xuXHR9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE1lZGlhIFF1ZXJ5IEhlbHBlclxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBAc3VwcG9ydHNcbi8vIEBtZWRpYSBtaW4td2lkdGhcbi8vIEBtZWRpYSBtYXgtd2lkdGhcbi8vIEBtZWRpYSBtaW4tZGV2aWNlLXdpZHRoIGFuZCBtYXgtZGV2aWNlLXdpZHRoIGFuZCBvcmllbnRhdGlvbiBsYW5kc2NhcGVcbi8vIEBtZWRpYSBtYXgtaGVpZ2h0XG4vLyBAbWVkaWEgbWluLXdpZHRoIGFuZCBtYXgtaGVpZ2h0XG5cbi8vIEBzeW50YXhcbi8vIEBpbmNsdWRlIG1lZGlhUXVlcnkoW21pbiwgbWF4LCBtaW5tYXgsIGxhbmRzY2FwZS1kZXZpY2UsIG1heGhlaWdodCwgbnVsbF0sIFtwaXhlbF92YWx1ZSBbLHBpeGVsX3ZhbHVlXV0pIHt9XG5cbkBtaXhpbiBtcSgkY29uc3RyYWludCwgJHZpZXdwb3J0MSwgJHZpZXdwb3J0MjogbnVsbCkge1xuXG5cdEBpZiAkY29uc3RyYWludCA9PSBtaW4ge1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKCRtaW46ICR2aWV3cG9ydDEpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRjb25zdHJhaW50ID09IG1heCB7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoJG1heDogJHZpZXdwb3J0MSkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXG5cdH0gQGVsc2UgaWYgJGNvbnN0cmFpbnQgPT0gbWlubWF4IHtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kICgkbWluOiAkdmlld3BvcnQxKSBhbmQgKCRtYXg6ICR2aWV3cG9ydDIpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRjb25zdHJhaW50ID09IGxhbmRzY2FwZS1kZXZpY2Uge1xuXG5cdFx0QG1lZGlhIHNjcmVlbiBhbmQgKCRtaW4tZGV2aWNlOiAkdmlld3BvcnQxKSBhbmQgKCRtYXgtZGV2aWNlOiAkdmlld3BvcnQyKSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIGlmICRjb25zdHJhaW50ID09IG1heGhlaWdodCB7XG5cblx0XHRAbWVkaWEgc2NyZWVuIGFuZCAoJG1heC1oZWlnaHQ6ICR2aWV3cG9ydDEpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblxuXHR9IEBlbHNlIHtcblxuXHRcdEBtZWRpYSBzY3JlZW4gYW5kICgkbWluOiAkdmlld3BvcnQxKSBhbmQgKCRtYXgtaGVpZ2h0OiAkdmlld3BvcnQyKSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cblx0fVxuXG59XG4iLCIuY29udGFpbmVyIHtcblx0QGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcblx0XHRAaW5jbHVkZSBncmlkQ29udGFpbmVyKCRtYXgtdy1sZyk7XG5cdCAgcGFkZGluZy1sZWZ0OiAkZ3V0dGVyO1xuXHQgIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG5cdH1cbn1cbiIsIkBtaXhpbiBjb250YWluZXIoJGNvbnRhaW5lci1tYXgtd2lkdGgsICRndXR0ZXIpIHtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuQG1peGluIGdyaWRDb250YWluZXIoJGNvbnRhaW5lci1tYXgtd2lkdGgpIHtcbiAgICBtYXgtd2lkdGg6ICRjb250YWluZXItbWF4LXdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbn0iLCIuc3BhY2ViZXR3ZWVuIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4uZmxleGVuZCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG4iLCIuZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5mbGV4LWVuZCB7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGZsZXh5IGZvcm1zXG5cbi5mb3JtLWdyaWQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLmZvcm0tZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4uZm9ybS1ncm91cCAuZm9ybS1ncm91cF9faW5wdXQge1xuICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG5cbi8vICogUGF0dGVybjogSW5wdXQgQWRkLW9uc1xuXG4uaW5wdXRhZGRvbi1maWVsZCB7XG4gIGZsZXg6IDE7XG4gIG9yZGVyOiAyO1xufVxuXG4uaW5wdXRhZGRvbi1pdGVtIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyO1xuICBvcmRlcjogMTtcbiAgcGFkZGluZzogY2FsYygoMTAgLyAxNikgKiAxcmVtKTsgLy8gMTAgLyAxNiA9IDAuNjI1cmVtXG59XG5cbi5pbnB1dGFkZG9uLWJ0biB7XG4gIG9yZGVyOiAzO1xufVxuXG4uaW5wdXRhZGRvbi1maWVsZC0tcmV2ZXJzZSB7XG4gIG9yZGVyOiAyO1xufVxuXG4uaW5wdXRhZGRvbi1pdGVtLS1yZXZlcnNlIHtcbiAgb3JkZXI6IDM7XG59XG5cbi5pbnB1dGFkZG9uLWJ0bi0tcmV2ZXJzZSB7XG4gIG9yZGVyOiAxO1xufVxuXG5cbi8vICogUGF0dGVybjogSW5saW5lIElucHV0LUJ1dHRvbiBDb21ib1xuXG4uZm9ybS1ncm91cC0taW5saW5lLWJ0biB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cF9faW5wdXQtLWlubGluZS1idG4ge1xuICAvLyBmbGV4OiAxO1xuICBmbGV4OiAxIDEgYXV0bztcbn1cblxuXG5cbi8vICogTGF5b3V0OiBCdXR0b24gR3JvdXAgSW5saW5lXG5cbi5mb3JtLWdyb3VwX19idG4tLWlubGluZSB7XG4gIGZsZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xufVxuXG4uZm9ybS1ncm91cF9fYnV0dG9uLS1pbmxpbmUtYnRuIHtcbiAgZmxleDogMSAwIGF1dG87XG59XG5cbi5mb3JtLWdyb3VwX19idG4tLWlubGluZTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCgyMCAvIDE2KSAqIDFyZW0pOyAvLyAyMCAvIDE2ID0gMS4yNXJlbVxufVxuXG5cbi8vICogRXJyb3JzOiBTdHlsZXMgYW5kIFN0YXRlc1xuXG4uZm9ybS1ncm91cF9fZXJyb3Jtc2cge1xuICBmbGV4OiAxIDAgYXV0bzsgLy8gcHJldmVudCBoZWlnaHQgY29sbGFwc2luZyBvbiBzYWZhcmlcbn1cblxuLmhhcy1lcnJvcnMtZm9ybS1ncm91cCB7XG4gIGNvbG9yOiByZWQ7XG59XG5cbi5mb3JtLWdyb3VwX19lcnJvcm1zZy0tY2lubmFiYXIge1xuICBiYWNrZ3JvdW5kOiByZWQ7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbiIsIi5yb3cge1xuICBAZXh0ZW5kIC5jbGVhcmZpeDtcbiAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIC8vIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgLy8gICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1nYXA7XG4gIC8vICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1nYXA7XG4gIC8vIH1cbn1cblxuXG4ucm93Lm5vLWdyaWQge1xuICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1nYXAgKiAyO1xuICBwYWRkaW5nLWxlZnQ6ICRncmlkLWdhcCAqIDI7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkZ3JpZC1nYXA7XG4gICAgcGFkZGluZy1sZWZ0OiAkZ3JpZC1nYXA7XG4gIH1cbn1cblxuXG4uZ3JpZCB7XG4gIGZsb2F0OiBub25lO1xuICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1nYXA7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tYm90dG9tOiAkZ3JpZC1nYXAgLSAkZ3JpZC1nYXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRncmlkLWdhcDtcbiAgICBwYWRkaW5nLWxlZnQ6ICRncmlkLWdhcDtcbiAgfVxufVxuXG5cbi5ncmlkLmZ1bGwge1xuICB3aWR0aDogMTAwJTtcbn1cblxuXG4uZ3JpZC5oYWxmIHtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICB3aWR0aDogNTAlO1xuICB9XG59XG5cblxuLmdyaWQub25lLXRoaXJkIHtcbiAgd2lkdGg6IDEwMCU7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICB3aWR0aDogKDEwMCUgLyAzKTtcbiAgfVxufVxuXG5cbi5ncmlkLnR3by10aGlyZHMge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbXEobWluLCAkc2NyZWVuLW1lZCkge1xuICAgIHdpZHRoOiAoKDEwMCUgLyAzKSAqIDIpO1xuICB9XG59XG5cblxuLmdyaWQub25lLXF1YXJ0ZXIge1xuICB3aWR0aDogMTAwJTtcbiAgQGluY2x1ZGUgbXEobWluLCAkc2NyZWVuLW1lZCkge1xuICAgIHdpZHRoOiAyNSU7XG4gIH1cbn1cblxuXG4uZ3JpZC50aHJlZS1xdWFydGVycyB7XG4gIHdpZHRoOiAxMDAlO1xuICBAaW5jbHVkZSBtcShtaW4sICRzY3JlZW4tbWVkKSB7XG4gICAgd2lkdGg6IDc1JTtcbiAgfVxufVxuIiwiLy8gQGV4YW1wbGVcbi8vXG4vLyA8ZGl2IGNsYXNzPVwibWVkaWEtb2JqXCI+XG4vLyAgIDxpbWcgY2xhc3M9XCJtZWRpYS1vYmpfX2ZpZ1wiIHNyYz1cIlwiIGFsdD1cIlwiPlxuLy8gICA8ZGl2IGNsYXNzPVwibWVkaWEtb2JqX19ib2R5XCI+4oCmPC9kaXY+XG4vLyA8L2Rpdj5cblxuLm1lZGlhLW9iaiB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcblxuICAmLS12Y2VudGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJi0tcmV2ZXJzZSAmX19maWcge1xuICAgIG9yZGVyOiAyO1xuICB9XG5cbiAgJi0tcmV2ZXJzZSAmX19ib2R5IHtcbiAgICBvcmRlcjogMTtcbiAgfVxuXG4gICYtLWNlbnRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuXG4gICYtLWhjZW50ZXIge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJi0tY2FwdGlvbiB7XG4gICAgZmxleDogMTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgJl9fYm9keSB7XG4gICAgZmxleDogMTtcbiAgfVxuXG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNvbnRleHRzXG5cbmJvZHkgPiAuc3RyaXBlIHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gZnVsbCB3aWR0aFxuXG4uc3RyaXBlLS1mdWxsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29sb3IgdmFyaWF0aW9uc1xuXG4uc3RyaXBlLS1wbHVtYiB7XG4gIHBhZGRpbmc6IDAuNWVtIDAuNzVlbTtcbiAgYmFja2dyb3VuZDogIzM5MDA1MDtcbiAgY29sb3I6IHdoaXRlO1xuICBAaW5jbHVkZSBtcShtYXgsIDQwMHB4KSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICB9XG59XG4iLCIvLyBGbGV4Ym94IG9uIFN0ZXJvaWRzXG4vLyBodHRwOi8vY29kZXBlbi5pby9kZW5uaXNnYWViZWwvcGVuL0xWdnFPeFxuXG4uc3RpY2t5LWJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4OiBhdXRvO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuXG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC13LWxnKSB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cbn1cblxuLnN0aWNreS1yb3cge1xuICBkaXNwbGF5OiAtbW96LWJveDsgLy8gQXMgb2YgRkY0MlxufVxuXG4uc3RpY2t5LWhlYWRlciB7XG4gIGZsZXg6IG5vbmU7XG59XG5cbi5zdGlja3ktY29udGVudCB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zdGlja3ktZm9vdGVyIHtcbiAgZmxleDogbm9uZTtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbn1cbiIsIi8vIEByZXF1aXJlc1xuLy8gbWl4aW5zL3NpemUuc2Nzc1xuXG4kYXZhdGFyLWJvcmRlci13aWR0aDogNHB4O1xuXG4uYXZhdGFyIHtcbiAgQGluY2x1ZGUgc2l6ZSg3MHB4LCA3MHB4KTtcbiAgYm9yZGVyOiAkYXZhdGFyLWJvcmRlci13aWR0aCBzb2xpZCAkYXZhdGFyLWJvcmRlci1jb2xvcjtcbn1cblxuLndpbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgJjo6YmVmb3JlIHtcbiAgICBib3JkZXItcmFkaXVzOiA4MCU7XG4gICAgY29udGVudDogJ3dpbm5lcic7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA4MCU7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW1zKDMpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206ICRhdmF0YXItYm9yZGVyLXdpZHRoO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDkwJTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KHRvIHRvcCwgJGF2YXRhci13aW5uZXItYmcgNDAlLCB0cmFuc3BhcmVudCA0MCUpO1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxufVxuXG5cbi5hdmF0YXItLW1lZCB7XG4gIEBpbmNsdWRlIHNpemUoMTA4cHgsIDEwOHB4KTtcbn1cblxuXG4uYXZhdGFyLS1yb3VuZCB7XG4gIGJvcmRlci1yYWRpdXM6IDgwJTtcbn1cbiIsIi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gJFNpemVcbi8vIEh1Z28gR2lyYXVkZWw6IGh0dHA6Ly9zaXRlcG9pbnQuY29tL3Nhc3MtbWl4aW4tcGxhY2Vob2xkZXJcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBAZGVtb1xuLy8gQGluY2x1ZGUgc2l6ZSgzMnB4KTtcbi8vIEBpbmNsdWRlIHNpemUoMTAwJSwgMTBlbSk7XG5cbkBtaXhpbiBzaXplKCR3aWR0aCwgJGhlaWdodDogJHdpZHRoKSB7XG5cdHdpZHRoOiAkd2lkdGg7XG5cdGhlaWdodDogJGhlaWdodDtcbn1cbiIsIi8vIFJlcXVpcmVzIHN0cmlwLXVuaXRzIGZ1bmN0aW9uXG4vLyBAZXhhbXBsZVxuLy8gQGluY2x1ZGUgZm9udFNpemVSZW0oMTgpO1xuQGZ1bmN0aW9uIHJlbXMoJHNpemUsICRmb250LWJhc2U6ICRmb250LWJhc2UpIHtcblx0QHJldHVybiAoc3RyaXAtdW5pdCgkc2l6ZSkgLyAkZm9udC1iYXNlKSArIHJlbTtcbn0iLCJidXR0b24sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiAwO1xufVxuXG5cbi5idG4ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi10b3A6IDAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0cmFuc2l0aW9uOiBub25lO1xuICB3aWR0aDogMTAwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cblxuXG4uYnRuLS1yYWQ0IHtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xufVxuXG5cbi5idG4tLXByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1idG4tYmc7XG4gIGNvbG9yOiAkcHJpbWFyeS1idG4tZm9udGNvbG9yO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiAkcHJpbWFyeS1idG4taG92ZXItYmc7XG4gIH1cbn1cblxuXG4uYnRuLS1zZWNvbmRhcnkge1xuICBib3JkZXI6IDJweCBzb2xpZCAkc2Vjb25kYXJ5LWJ0bi1ib3JkZXItY29sb3I7XG4gIGJhY2tncm91bmQ6ICRzZWNvbmRhcnktYnRuLWJnO1xuICBjb2xvcjogJHNlY29uZGFyeS1idG4tZm9udGNvbG9yO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWJ0bi1ob3Zlci1iZztcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkcHJpbWFyeS1idG4taG92ZXItYmc7XG4gIH1cbn1cbiIsIi8vIEByZXF1aXJlc1xuLy8gbWl4aW5zL21lZGlhLXF1ZXJ5LnNjc3Ncbi8vIGZ1bmN0aW9ucy9yZW1zLnNjc3NcblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZHVsZSAtIGdlbmVyYWxcblxuLmNhcmQge1xuICBwYWRkaW5nOiAwLjI1cmVtIDFyZW07XG4gIGZvbnQtc2l6ZTogY29udGV4dC1jYWxjKDE0LCAkZm9udC1iYXNlLCBlbSk7XG4gIGxpbmUtaGVpZ2h0OiAxLjQyNTtcbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZHVsZSAtIHNpbmdsZVxuXG4uY2FyZC1zaW5nbGUge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgQGluY2x1ZGUgbXEobWluLCA2NDBweCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICB9XG5cbiAgJjpob3ZlciAqIHtcbiAgICBAaW5jbHVkZSBtcShtaW4sIDY0MHB4KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY2FyZC1zaW5nbGUtaG92ZXItYmc7XG4gICAgICBjb2xvcjogJGNhcmQtc2luZ2xlLWhvdmVyLWNvbG9yO1xuICAgIH1cbiAgfVxufVxuXG5cbi5jYXJkLXNpbmdsZSA+IGRpdiB7XG4gIEBpbmNsdWRlIG1xKG1pbiwgNjQwcHgpIHtcbiAgICBmbGV4OiAxMDAlO1xuICB9XG59XG5cblxuLmZsZXhib3h0d2VlbmVyIC5jYXJkLXNpbmdsZSA+IGRpdiB7XG4gIEBpbmNsdWRlIG1xKG1pbiwgNjQwcHgpIHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgfVxufVxuXG5cbi5jYXJkLXNpbmdsZSA+ICogfiAqIHtcbiAgQGluY2x1ZGUgbXEobWluLCA2NDBweCkge1xuICAgIGJvcmRlci1sZWZ0OiA0cHggc29saWQgJGNvbnRlbnQtYmc7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogOC43NWVtOyAvLyAxNDBweFxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXNpbmdsZS1iZztcbiAgfVxufVxuXG4uY2FyZC1zaW5nbGU6aG92ZXIgLmNhcmQge1xuICAgIGJhY2tncm91bmQ6ICRjYXJkLXNpbmdsZS1ob3Zlci1iZztcbiAgICBjb2xvcjogJGNhcmQtc2luZ2xlLWhvdmVyLWNvbG9yO1xufVxuXG5cbi5jYXJkLS1yZXBseSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6IGJsYWNrO1xuICBiYWNrZ3JvdW5kOiAjRUJFQkVCO1xuICB6LWluZGV4OiAwO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDZweCBzb2xpZCAjZmUwMDc2O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIHotaW5kZXg6IDA7XG4gIH1cbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29sb3IgdmFyaWF0aW9uc1xuXG4uY2FyZC0tZ2FsbGVyeSB7XG4gIGJhY2tncm91bmQ6ICRjYXJkLWdhbGxlcnk7XG4gIGNvbG9yOiAkY2FyZC1nYWxsZXJ5LWZvbnRjb2xvcjtcbn1cblxuXG4uY2FyZC0tZ2FsbGVyeS5ob3Zlci1yb3NlOmhvdmVyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBAZXh0ZW5kIC5jYXJkLS1yb3NlO1xufVxuXG5cbi5jYXJkLS1wbHVtYiB7XG4gIGJhY2tncm91bmQ6ICRjYXJkLXBsdW1iO1xuICBjb2xvcjogJGNhcmQtcGx1bWItZm9udGNvbG9yO1xufVxuXG5cbi5jYXJkLS1nb2xkIHtcbiAgYmFja2dyb3VuZDogJGNhcmQtZ29sZDtcbn1cblxuXG4uY2FyZC0tcm9zZSB7XG4gIGJhY2tncm91bmQ6ICRjYXJkLXJvc2U7XG4gIGNvbG9yOiAkY2FyZC1yb3NlLWZvbnRjb2xvcjtcbn1cblxuLy8gLmNhcmQtLXJvc2UgYSB7XG4vLyAgIGNvbG9yOiAjMzMzMzQ2O1xuLy8gfVxuXG5cbi5jYXJkLS1jYXJ1bGVhbiB7XG4gIGJhY2tncm91bmQ6ICRjYXJkLWNlcnVsZWFuO1xuICBjb2xvcjogJGNhcmQtY2VydWxlYW4tZm9udGNvbG9yO1xufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyBtaXhpbnMvbWVkaWEtcXVlcnkuc2Nzc1xuLy8gZnVuY3Rpb25zL3JlbXMuc2Nzc1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNvbXBvbmVudFxuXG4uY29tbWVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY29sb3I6ICMzRjBDNTQ7XG59XG5cblxuLmNvbW1lbnRzIC5jYXJkIHtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGxheW91dCA6IGNvbW1lbnQgYm9keSBjaGlsZHJlblxuXG4uY29tbWVudCAubWVkaWEtb2JqX19ib2R5ID4gKjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG5cblxuLmNvbW1lbnQgLm1lZGlhLW9ial9fYm9keSBhIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjMzkwMDUwO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJHJvc2U7XG4gIH1cbn1cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGxheW91dCA6IGNvbW1lbnQgZmlndXJlXG5cbi5jb21tZW50ICsgLmNvbW1lbnQge1xuICBtYXJnaW4tdG9wOiAxcmVtO1xufVxuXG5cbi5jb21tZW50cyAuY29tbWVudCAuY2FyZCAubWVkaWEtb2JqX19maWcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBwYWRkaW5nLXJpZ2h0OiByZW1zKDIwKTtcbn1cblxuXG4uY29tbWVudHMgLmNvbW1lbnQgLmNhcmQgLm1lZGlhLW9ial9fZmlnIGltZyB7XG4gIG1hcmdpbi1ib3R0b206IHJlbXMoMTUpO1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjaGlsZCBjb21tZW50c1xuXG4uY29tbWVudC1sZXZlbDEgLmNhcmQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBtcShtaW4sICRjb21tZW50cy1sZykge1xuICAgIHBhZGRpbmctbGVmdDogcmVtcygoMjggKiA0KSk7XG4gICAgYmFja2dyb3VuZDogJGNvbW1lbnQtbGV2ZWwxLWNhcmRiZztcbiAgfVxufVxuXG5cbi5jb21tZW50LWxldmVsMiAuY2FyZCB7XG4gIGJhY2tncm91bmQ6ICRjb21tZW50LWxldmVsMi1jYXJkYmc7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJGNvbW1lbnRzLWxnKSB7XG4gICAgcGFkZGluZy1sZWZ0OiByZW1zKCgyOCAqIDYuNzUpKTtcbiAgfVxufVxuXG5cbi5jb21tZW50LWxldmVsMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZzogcmVtcygxMCk7XG4gIHBhZGRpbmctYm90dG9tOiByZW1zKDUpO1xuXG4gIEBpbmNsdWRlIG1xKG1pbiwgJGNvbW1lbnRzLWxnKSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgfVxuXG4gICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBAaW5jbHVkZSBtcShtaW4sICRjb21tZW50cy1sZykge1xuICAgICAgcGFkZGluZy1ib3R0b206IGluaXRpYWw7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgbXEobWluLCAkY29tbWVudHMtbGcpIHtcbiAgICBwYWRkaW5nOiBpbml0aWFsO1xuICB9XG59XG5cblxuLmNvbW1lbnRzLWxldmVsMSxcbi5jb21tZW50cy1sZXZlbDIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBtcShtaW4sICRjb21tZW50cy1sZykge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAycHg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiAjOUU4NkE3O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAtMTVweDtcbiAgICAgIGJvdHRvbTogMjBweDtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICB9XG59XG5cblxuLmNvbW1lbnRzLWxldmVsMSB7XG4gIGJvcmRlcjogcmVtcygyMCkgc29saWQgJGNvbW1lbnQtbGV2ZWwxLWJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGNvbW1lbnQtbGV2ZWwxLWJnO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtcyg1KTtcbiAgQGluY2x1ZGUgbXEobWluLCAkY29tbWVudHMtbGcpIHtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgcGFkZGluZy1ib3R0b206IGluaGVyaXQ7XG4gIH1cblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1xKG1pbiwgJGNvbW1lbnRzLWxnKSB7XG4gICAgICBsZWZ0OiByZW1zKDYwKTtcbiAgICB9XG4gIH1cbn1cblxuXG4uY29tbWVudHMtbGV2ZWwyIHtcbiAgYm9yZGVyOiBub25lO1xuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIG1xKG1pbiwgJGNvbW1lbnRzLWxnKSB7XG4gICAgICBsZWZ0OiByZW1zKCgyOCAqIDUpKTtcbiAgICB9XG4gIH1cbn1cblxuXG4uY29tbWVudC1jaGlsZDIuY29tbWVudC1sZXZlbDI6YmVmb3JlIHtcbiAgQGluY2x1ZGUgbXEobWluLCAkY29tbWVudHMtbGcpIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMTZweDtcbiAgICBsZWZ0OiByZW1zKCgzMiAqIDYuNzUpKTtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAwO1xuICAgIGJhY2tncm91bmQ6ICM5ZTg2YTc7XG4gIH1cbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbGF5b3V0IDogdXNlcnMgY29tbWVudHNcblxuLnVzZXItY29tbWVudHNfX3Jlc3BvbnNlIC5jYXJkIHtcbiAgcGFkZGluZzogMS41cmVtIDJyZW07XG59XG5cblxuLnVzZXItY29tbWVudHNfX3Jlc3BvbnNlIC5jYXJkIC5tZWRpYS1vYmpfX2ZpZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctcmlnaHQ6IHJlbXMoMTUpO1xufVxuXG5cbi51c2VyLWNvbW1lbnRzX19yZXNwb25zZSAuY2FyZCAubWVkaWEtb2JqX19maWcgaW1nIHtcbiAgbWFyZ2luLWJvdHRvbTogcmVtcygyMCk7XG59XG5cblxuLnVzZXItY29tbWVudHNfX3Jlc3BvbnNlIC5jYXJkIC5tZWRpYS1vYmpfX2JvZHkgPjpmaXJzdC1jaGlsZCB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4iLCIuY291bnRlciB7XG4gIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gIHBhZGRpbmc6IDAuMTI1ZW0gMC4zNzVlbTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG4iLCIuY3VycmljdWx1bS12aXRhZSB7XG4gIGZvbnQtc2l6ZTogMWVtOyAvLyAxNnB4XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWVfX2hlYWRlciB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDIwNCwgMjA0LCAyMDQsIDAuNjQpO1xuXHRib3gtc2hhZG93OiBpbnNldCAwIDFweCAxcHggcmdiYSgyNTUsIDI1MSwgMjUxLCAwLjc2KTtcbiAgcGFkZGluZzogMmVtO1xuICBiYWNrZ3JvdW5kOiAkY3VycmljdWx1bS12aXRhZS1oZWFkZXItYmc7XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWVfX3RpdGxlIHtcbiAgZm9udC1zaXplOiBjb250ZXh0LWNhbGMoMzIsIDE2LCBlbSk7XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWVfX2hlYWRlciBpbWdbY2xhc3MqPVwiYXZhdGFyXCJdIHtcbiAgbWFyZ2luLXJpZ2h0OiAxZW07XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWVfX2JvZHkge1xuICBwYWRkaW5nOiAyZW07XG4gIGJhY2tncm91bmQ6ICRjdXJyaWN1bHVtLXZpdGFlLWJvZHktYmc7XG59XG5cblxuLmN1cnJpY3VsdW0tdml0YWVfX3F1b3RlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMS4yNWVtO1xuICBtYXJnaW4tdG9wOiAwO1xuICBwYWRkaW5nOiAxMHB4IDMwcHg7XG4gIGJhY2tncm91bmQ6IHJnYmEoJHJpcGUtcGx1bWIsIDAuMyk7XG4gIGNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogMXB4O1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCLigJxcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1cHg7XG4gICAgbGVmdDogNXB4O1xuICAgIGZvbnQtc2l6ZTogM2VtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG4gICY6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDVweDtcbiAgICByaWdodDogNXB4O1xuICAgIGNvbnRlbnQ6IFwi4oCdXCI7XG4gICAgZm9udC1zaXplOiAzZW07XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxufVxuXG5cbi5jdXJyaWN1bHVtLXZpdGFlX19ib2R5IGltZyB7XG4gIEBleHRlbmQgLm1hdGVyaWFsLXNoYWRvdztcbiAgYm9yZGVyOiBjb250ZXh0LWNhbGMoNSwgMTYsIGVtKSBzb2xpZCByZ2JhKHdoaXRlLCAwLjUpO1xufVxuXG5cbi5jdXJyaWN1bHVtLXZpdGFlIGxpIHtcbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgfVxufVxuXG5cbi5jdXJyaWN1bHVtLXZpdGFlX19kYXRhID4gbGkge1xuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi10b3A6IDJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyZW07XG4gIH1cbn1cblxuLmN1cnJpY3VsdW0tdml0YWVfX2RhdGEgbGkge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgLnNwZWVjaC1idWJibGUge1xuICAgICAgICB3aWR0aDogNDcuNSU7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDUlO1xuICAgICAgICBAaW5jbHVkZSBtcShtYXgsIDUwMHB4KSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgICBoNSB7IGZvbnQtc2l6ZTogMS4yNWVtOyB9XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3VycmljdWx1bS12aXRhZSAuaGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICY6dGFyZ2V0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5cbi5jdXJyaWN1bHVtLXZpdGFlIC5yZWFkLW1vcmUge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogYmxhY2s7XG4gIH1cbn1cblxuXG4uY3VycmljdWx1bS12aXRhZSAuc2hvcnRsaW5rcyB7XG4gIHBhZGRpbmctdG9wOiAxZW07XG59XG5cblxuLmN2IC5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMWVtO1xuICBiYWNrZ3JvdW5kOiAkY3VycmljdWx1bS12aXRhZS1pbmZvLWJnO1xufVxuXG5cbi5jdiAuY2FyZCBsaSB7XG4gIG1hcmdpbi10b3A6IDFlbTtcbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxZW07XG4gIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbW9kdWxlXG5cbmZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0ge1xuICBwYWRkaW5nOiByZW1zKCRndXR0ZXIpIDFlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBAaW5jbHVkZSBtcShtaW4sICRtZWRpdW0pIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB9XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGxlZnQgc2lkZVxuXG5mb290ZXJbcm9sZT1cImNvbnRlbnRpbmZvXCJdIC5ncmlkLnRocmVlLXF1YXJ0ZXJzIHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWVkaXVtKSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC03MHB4KTtcbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBuYXZpZ2F0aW9uXG5cbi8vID09IGNvbXBvbmVudFxuZm9vdGVyW3JvbGU9XCJjb250ZW50aW5mb1wiXSBuYXYge1xuICBwYWRkaW5nLXRvcDogcmVtcygkZ3V0dGVyKTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cblxuLy8gPT0gbGlua3NcbmZvb3Rlcltyb2xlPVwiY29udGVudGluZm9cIl0gbmF2IGEge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IC41ZW07XG4gIGNvbG9yOiAjNDAyOTUxO1xuXG4gICY6bm90KDpsYXN0LW9mLXR5cGUpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiByZW1zKCRndXR0ZXIpO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgY29sb3I6ICM0MDI5NTE7XG4gIH1cbn1cbiIsIi8vIEByZXF1aXJlc1xuLy8gdmFycy9nbG9iYWxzLnNjc3Ncbi8vIG1peGlucy9tZWRpYS1xdWVyeS5zY3NzXG4vLyBmdW5jdGlvbnMvcmVtcy5zY3NzXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbGF5b3V0XG5cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIHtcbiAgQGluY2x1ZGUgbXEobWF4LCAkbWF4LW1xKSB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBhZGRpbmc6IDFlbSAwLjVlbSAwLjI1ZW07XG4gIH1cbiAgQGluY2x1ZGUgbXEobWF4LCA2MDBweCkge1xuICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgfVxufVxuXG5cbi8vIFByaW1hcnkgQ29udGFpbmVyXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSA+IC5jb250YWluZXIge1xuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBiYWNrZ3JvdW5kOiAkaGVhZGVyLWJnO1xuICB9XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC1tcSkge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG59XG5cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmNvbnRhaW5lci5mbGV4IHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG59XG5cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmNvbnRhaW5lciA+IC5mbGV4ZW5kIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB9XG59XG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjb21wb25lbnRzXG5cbi8vIE5hdiBJdGVtc1xuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gW2NsYXNzKj1cImljb24tYXNrXCJdLFxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gW2NsYXNzKj1cImljb24tY2hhdFwiXSxcbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIFtjbGFzcyo9XCJpY29uLXZvdGVcIl0ge1xuICBtYXJnaW46IDA7XG59XG5cblxuLy8gTWVudSBCdXR0b25cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5idG4tbWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgd2lkdGg6IDUwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBAaW5jbHVkZSBtcShtaW4sIDQ0NHB4KSB7XG4gICAgbWFyZ2luLXRvcDogaW5pdGlhbDtcbiAgfVxuICAuaWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaSB7XG4gICAgICAgIHRvcDogMXB4O1xuICAgICAgICBmb250LXNpemU6IDEuMmVtO1xuICAgIH1cbiAgfVxufVxuXG4uanMgaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLmJ0bi1tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC1tcSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuLy8gTG9nb1xuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW1nW2FsdCo9XCJ6b25lXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcblxuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVgoLTQwcHgpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cblxuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtdy1sZykge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOCkgdHJhbnNsYXRlWCgtNzBweCkgdHJhbnNsYXRlWSgtMTAwcHgpO1xuICB9XG5cbn1cblxuXG4vLyBTZWFyY2ggRm9ybVxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gZm9ybVtyb2xlPVwic2VhcmNoXCJdIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgZGlzcGxheTogaW5oZXJpdDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwcHgpO1xuICB9XG59XG5cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gZm9ybVtyb2xlPVwic2VhcmNoXCJdIC5pY29uIHtcbiAgQGluY2x1ZGUgc2l6ZSgzMHB4LCAzMHB4KTtcbiAgcGFkZGluZzogNXB4O1xufVxuXG5cbi8vIFNlYXJjaCBJbnB1dFxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIHBhZGRpbmctdG9wOiByZW1zKDUpO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtcyg1KTtcbiAgYmFja2dyb3VuZDogd2hpdGU7XG59XG5cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSArIFtjbGFzcyo9XCJidG5cIl0ge1xuICBib3JkZXI6IDJweCBzb2xpZCB3aGl0ZTtcbn1cblxuXG4vLyBEYXRhIFJlcG9ydCBDYXJkXG5oZWFkZXJbcm9sZT1cImJhbm5lclwiXSAucmVwb3J0LWNhcmQge1xuICBAaW5jbHVkZSBtcShtYXgsICRwcmUtbWF4LXctbGcpIHtcbiAgICBtYXJnaW46YXV0bztcbiAgICBwYWRkaW5nOiAwLjI1ZW07XG4gIH1cblxuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtdy1sZykge1xuICAgIGZsZXg6IDMgMSAxMDAlO1xuICB9XG59XG5cblxuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gLnJlcG9ydF9fdGl0bGUge1xuICBAaW5jbHVkZSBtcShtYXgsICRtYXgtbXEpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIEBpbmNsdWRlIG1xKG1heCwgJHByZS1tYXgtdy1sZykge1xuICAgIGZsb2F0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG59XG5cblxuLy8gTG9nb1xuaGVhZGVyW3JvbGU9XCJiYW5uZXJcIl0gYVtocmVmPVwiL1wiXSB7XG4gIEBpbmNsdWRlIG1xKG1heCwgJG1heC1tcSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuXG4vLyBMb2dpbiBCdXR0b25cbmhlYWRlcltyb2xlPVwiYmFubmVyXCJdIC5idG4tLXNlY29uZGFyeSB7XG4gIGJhY2tncm91bmQ6ICRyaXBlLXBsdW1iO1xuICBAaW5jbHVkZSBtcShtYXgsICRwcmUtbWF4LXctbGcpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICBwYWRkaW5nOiA1cHggMTBweDtcbiAgfVxuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtdy1sZykge1xuICAgIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICAgIG1heC13aWR0aDogMTIuNWVtOy8vIDIwMHB4XG4gICAgcGFkZGluZzogcmVtcygkZ3V0dGVyIC8gMy41KTtcbiAgfVxufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyB2YXJzL19nbG9iYWwuc2Nzc1xuLy8gZnVuY3Rpb25zL19pbWctdXJsLnNjc3Ncbi8vIG1peGlucy9fc2l6ZS5zY3NzXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtb2R1bGVcblxuW2NsYXNzKj1cImljb24tYXNrXCJdLFxuW2NsYXNzKj1cImljb24tY2hhdFwiXSxcbltjbGFzcyo9XCJpY29uLXZvdGVcIl0ge1xuICBAaW5jbHVkZSBzaXplKDE0NXB4LCA1NHB4KTtcbiAgbWFyZ2luOiByZW1zKDEwLCAkZm9udC1iYXNlKTtcbiAgdHJhbnNpdGlvbjogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogaW1nLXVybChcInNwcml0ZS1yYXN0ZXIucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBpbWcgcGxhY2VtZW50XG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkc3R1ZGVudC1jYXJkLWljb25zIHtcbiAgLmljb24tI3ska2V5fS0je250aCgkdmFsdWUsIDEpfSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogI3tudGgoJHZhbHVlLCAyKX07XG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246ICN7bnRoKCR2YWx1ZSwgMyl9O1xuICAgIH1cbiAgfVxufVxuXG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkbmF2Ymcge1xuICAuaWNvbi0jeyRrZXl9LSN7bnRoKCR2YWx1ZSwgMSl9IHtcbiAgICBAaW5jbHVkZSBzaXplKDEyNnB4LCA0N3B4KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAje250aCgkdmFsdWUsIDIpfTtcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogI3tudGgoJHZhbHVlLCAzKX07XG4gICAgfVxuICB9XG59XG4iLCIvLyBAcmV0dXJuc1xuLy8gdXJsKCcuL2ltZy8nKVxuLy9cbi8vIEByZXF1aXJlc1xuLy8gdmFycy9fZ2xvYmFsLnNjc3Ncbi8vXG4vLyBAZXhhbXBsZVxuLy8gYmFja2dyb3VuZDogaW1nLXVybCgncGljdHVyZS5qcGcnKSB0b3AgbGVmdCBuby1yZXBlYXQ7XG5AZnVuY3Rpb24gaW1nLXVybCgkdXJsKSB7XG4gIEByZXR1cm4gdXJsKFwiI3skaW1nLWRpcn0jeyR1cmx9XCIpO1xufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyBtaXhpbnMvc2l6ZS5zY3NzXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gc2l0ZSBpY29uc1xuXG4uaWNvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgQGluY2x1ZGUgc2l6ZSgzNnB4LCAzNnB4KTtcbiAgYm9yZGVyLXJhZGl1czogODAlO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBzdWI7XG4gIC8vIGZpbGw6ICRpY29uLWZpbGw7XG4gIGJhY2tncm91bmQ6ICRpY29uLWJnO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5pY29uIGkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBsaW5lLWhlaWdodDogMzZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgICYuZmEtY29tbWVudCB7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBjYXJldCBpY29uXG5cbi5kcm9wZG93bi1pY29uIHtcbiAgQGluY2x1ZGUgc2l6ZSgyMHB4LCAyMHB4KTtcbiAgdmVydGljYWwtYWxpZ246IHN1Yjtcbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gaGVhcnQgaWNvblxuXG4uaWNvbiArIC5pY29uLWhlYXJ0IHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uaWNvbi1oZWFydCB7XG4gIEBpbmNsdWRlIHNpemUoMzBweCwgMzBweCk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgc2NhbGUoMC43NSk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gIGZvbnQtc2l6ZTogY29udGV4dC1jYWxjKDIwLCAxNiwgZW0pO1xuICBsaW5lLWhlaWdodDogMS4xMjU7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIHNpemUoMzBweCwgMzBweCk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICB9XG5cbiAgJjo6YmVmb3JlIHtcbiAgICB0b3A6IC0xNXB4O1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgbGVmdDogMTVweDtcbiAgICB0b3A6IDA7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gIH1cbn1cblxuXG4vLyBoZWFydGVkIGNvdW50IHZhbHVlXG4uaWNvbi1oZWFydCBzcGFuIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGNvbG9yOiAjMzkwMDUwO1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBzdGF0ZVxuXG4uaWNvbi1oZWFydC5qcy1oZWFydGVkLFxuLmljb24taGVhcnQuanMtaGVhcnRlZDo6YmVmb3JlLFxuLmljb24taGVhcnQuanMtaGVhcnRlZDo6YWZ0ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY3ZTdlO1xufVxuXG5cbi5pY29uLWhlYXJ0LmpzLWhlYXJ0ZWQge1xuICBmaWx0ZXI6IGRyb3Atc2hhZG93KC0xcHggMXB4IDJweCByZ2JhKDIwMCwgMCwgMCwgMC45KSk7XG59XG5cblxuLmljb24taGVhcnQuanMtaGVhcnRlZCBzcGFuIHtcbiAgZm9udC13ZWlnaHQ6IDgwMDtcbiAgY29sb3I6ICM0ODI4Mjg7XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNvbG9yIHZhcmlhdGlvbnNcblxuLmljb24taGVhcnQtLXJvc2Uge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcm9zZTtcbiAgfVxufVxuXG5cbi5pY29uLWhlYXJ0LS1wbHVtYiB7XG4gIGJhY2tncm91bmQ6ICRyaXBlLXBsdW1iO1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkcmlwZS1wbHVtYjtcbiAgfVxufVxuXG5cbi5pY29uLWhlYXJ0LS1wbHVtYiBzcGFuIHtcbiAgY29sb3I6IHdoaXRlO1xufVxuIiwiaW5wdXRbdHlwZT1cInNlYXJjaFwiXSArIFtjbGFzcyo9XCJidG5cIl0ge1xuICBib3JkZXI6IDJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZDogJHNlYXJjaC1idG4tYmc7XG4gIGNvbG9yOiB3aGl0ZTtcbn1cbiIsImlucHV0Om5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICRpbnB1dC1iZztcbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogY2hlY2tib3ggIWltcG9ydGFudDtcbiAgLW1vei1hcHBlYXJhbmNlOiBjaGVja2JveCAhaW1wb3J0YW50O1xuICBhcHBlYXJhbmNlOiBjaGVja2JveCAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbn1cblxuXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHJhZGlvICFpbXBvcnRhbnQ7XG4gIC1tb3otYXBwZWFyYW5jZTogcmFkaW8gIWltcG9ydGFudDtcbiAgYXBwZWFyYW5jZTogcmFkaW8gIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG59XG5cblxuaW5wdXRbdHlwZT1cInRleHRcIl06cmVxdWlyZWQge1xuICBib3JkZXI6IDJweCBzb2xpZCAjREQ1RTAwO1xufVxuXG5cbiRzZWxlY3QtYXJyb3c6ICdkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBEOTRiV3dnZG1WeWMybHZiajBpTVM0d0lpQS9Qanh6ZG1jZ2FHVnBaMmgwUFNJME9DSWdkbWxsZDBKdmVEMGlNQ0F3SURRNElEUTRJaUIzYVdSMGFEMGlORGdpSUhodGJHNXpQU0pvZEhSd09pOHZkM2QzTG5jekxtOXlaeTh5TURBd0wzTjJaeUkrUEhCaGRHZ2daRDBpVFRFMExqZ3pJREUyTGpReWJEa3VNVGNnT1M0eE55QTVMakUzTFRrdU1UY2dNaTQ0TXlBeUxqZ3pMVEV5SURFeUxURXlMVEV5ZWlJdlBqeHdZWFJvSUdROUlrMHdMUzQzTldnME9IWTBPR2d0TkRoNklpQm1hV3hzUFNKdWIyNWxJaTgrUEM5emRtYysnO1xuJHNlbGVjdC1zaXplOiA0MCU7XG5cbnNlbGVjdCB7XG4gICRzcGFjaW5nOiAxMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGNvbG9yOiAjQUFBQUFBO1xuXG4gIC8vIEFsbG93cyB1cyB0byB1c2UgYSBjdXN0b20gYXJyb3cgYW5kIGF2b2lkXG4gIC8vIHRoZSBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgaXQuXG4gIEBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDApIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoI3skc2VsZWN0LWFycm93fSk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4yJSB0b3AgNTAlOyAvLyBiZXR0ZXIgd2F5IHRvIGJhY2tncm91bmQtcG9zaXRpb25cbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgfVxufVxuXG5cbi5sb2dpbiBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLFxuLmxvZ2luIHRleHRhcmVhLFxuLmxvZ2luIHNlbGVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG59XG4iLCIubG9naW4gaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIHBhZGRpbmc6IHJlbXMoJGd1dHRlci8xLjUpO1xufVxuXG5cbi5sb2dpbiAuaWNvbiB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG4iLCIubmF2LWRyb3Bkb3duLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKCRuYXYtZHJvcGRvd24tYmcsIDAuOSk7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC1tcSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogJG5hdi1kcm9wZG93bi1iZztcbiAgfVxufVxuXG4uanMgLm5hdi1kcm9wZG93biwgLmpzIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAvLyB0cmFuc2l0aW9uOiAyMzVtcyBhbGwgY3ViaWMtYmV6aWVyKDAuNDcsIDAuMDIsIDAuNDYsIDEpO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgZm9udC1zaXplOiAxLjI1ZW07XG4gIHotaW5kZXg6IDE7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC1tcSkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYmFja2dyb3VuZDogJG5hdi1kcm9wZG93bi1iZztcbiAgfVxufVxuXG4ubm8tanMgLm5hdi1kcm9wZG93biwgLm5vLWpzIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB7XG4gICAgZm9udC1zaXplOiAwLjhlbTtcbiAgICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgfVxufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0LCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IGxpLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCA+IGxpLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgPiB1bCA+IGxpIHtcbiAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW4tbGVmdDogY29udGV4dC1jYWxjKC01LCAxNiwgZW0pO1xuICB9XG59XG5cbi5uby1qcyAubmF2LWRyb3Bkb3duX19saXN0ID4gbGk6bm90KDpmaXJzdC1vZi10eXBlKSwgLm5vLWpzIC5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciA+IHVsID4gbGk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuYnV0dG9uLWRyb3Bkb3duLCAubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgdWwgbGkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuYnV0dG9uLWRyb3Bkb3duOmhvdmVyID4gdWwsXG4ubmF2LWRyb3Bkb3duX19saXN0IC5idXR0b24tZHJvcGRvd246Zm9jdXMgPiB1bCxcbi5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaTpob3ZlciB1bCxcbi5tZW51LWhlYWRlci1tZW51LWNvbnRhaW5lciB1bCBsaTpmb2N1cyB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgYSwgLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIHVsIGEge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogY29udGV4dC1jYWxjKDEwLCAxNiwgZW0pIGNvbnRleHQtY2FsYygxNSwgMTYsIGVtKTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICRuYXYtZHJvcGRvd24tY29sb3I7XG4gIEBpbmNsdWRlIG1xKG1pbiwgJG1heC1tcSkge1xuICAgIHBhZGRpbmc6IGNvbnRleHQtY2FsYygxMCwgMTYsIGVtKSBjb250ZXh0LWNhbGMoMTUsIDE2LCBlbSk7XG4gIH1cbn1cbi5tZW51LWl0ZW0taGFzLWNoaWxkcmVuIHVsIGEge1xuICAgIGJhY2tncm91bmQ6ICRuYXYtZHJvcGRvd24tYmc7XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCBhOmhvdmVyLFxuLm5hdi1kcm9wZG93bl9fbGlzdCBhOmZvY3VzLFxuLm1lbnUtaGVhZGVyLW1lbnUtY29udGFpbmVyIGE6aG92ZXIsXG4ubWVudS1oZWFkZXItbWVudS1jb250YWluZXIgYTpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXYtZHJvcGRvd24taG92ZXItYmc7XG4gIGNvbG9yOiAkbmF2LWRyb3Bkb3duLWNvbG9yO1xufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmRyb3Bkb3duLWljb24ge1xuICBtYXJnaW4tbGVmdDogMnB4O1xuICAvLyB0cmFuc2l0aW9uOiAwLjI3NXMgYWxsIGVhc2UtaW4tb3V0O1xuICBmaWxsOiAkbmF2LWRyb3Bkb3duLWNhcmV0LWNvbG9yO1xufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgYS5kcm9wZG93bi10b2dnbGUuYWN0aXZlIC5kcm9wZG93bi1pY29uIHtcbiAgZmlsbDogJG5hdi1kcm9wZG93bi1jYXJldC1jb2xvcjtcbn1cblxuXG4ubmF2LWRyb3Bkb3duX19saXN0IC5kcm9wZG93bi1tZW51LCAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgYmFja2dyb3VuZDogcmdiYSgkbmF2LWRyb3Bkb3duLWJnLCAwLjYpO1xuICBjb2xvcjogJG5hdi1kcm9wZG93bi1jb2xvcjtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LW1xKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTUwJTtcbiAgICB6LWluZGV4OiA1MDAwMDA7IC8vIG1ha2UgdGhpcyBiZXR0ZXJcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICRuYXYtZHJvcGRvd24tYmc7XG4gIH1cbn1cblxuLm5vLWpzIC5uYXYtZHJvcGRvd25fX2xpc3QgLmRyb3Bkb3duLW1lbnUsIC5uby1qcyAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBsaSBhIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICBAaW5jbHVkZSBtcShtaW4sICRtYXgtbXEpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSBsaSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgbGkge1xuICBtaW4td2lkdGg6IDEwMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cblxuLm5hdi1kcm9wZG93bl9fbGlzdCAuZHJvcGRvd24tbWVudSBhLCAubWVudS1pdGVtLWhhcy1jaGlsZHJlbiB1bCBsaSBhIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgY29sb3I6ICRuYXYtZHJvcGRvd24tY29sb3I7XG59XG4iLCIubmF2LWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG4iLCJuYXZbcm9sZT1cIm5hdmlnYXRpb25cIl0ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBAaW5jbHVkZSBtcShtaW4sIDQwMHB4KSB7XG4gICAgZmxleDogaW5pdGlhbDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG59XG4iLCIvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZHVsZVxuXG4ubmV3cy1yZXBvcnQge1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBtcShtaW4sIDY0MHB4KSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcm9zZTtcbiAgICB9XG4gIH1cblxuICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gIH1cblxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBkaXJlY3QgY2hpbGRyZW5cblxuLm5ld3MtcmVwb3J0ID4gKiB7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIG1xKG1pbiwgNjQwcHgpIHtcbiAgICAgIGJhY2tncm91bmQ6ICRyb3NlO1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBkaXJlY3QgY2hpbGQgc2libGluZ1xuXG4ubmV3cy1yZXBvcnQgPiAqOmhvdmVyIH4gKiB7XG4gIEBpbmNsdWRlIG1xKG1pbiwgNjQwcHgpIHtcbiAgICBiYWNrZ3JvdW5kOiAkcm9zZTtcbiAgICBjb2xvcjogd2hpdGU7XG4gIH1cbn1cbiIsIi5wcm9maWxlcyB7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG5cbi5wcm9maWxlcyAuY2FyZCB7XG4gIHBhZGRpbmctbGVmdDogMmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAyZW07XG59XG5cblxuLnByb2ZpbGVzIGxpIHtcbiAgbWFyZ2luLXRvcDogMC41ZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNWVtO1xufVxuXG5cbi5wcm9maWxlcyAubWVkaWEtb2JqX19ib2R5IHtcbiAgbWFyZ2luLXRvcDogMWVtO1xufVxuXG5cbi5wcm9maWxlcyAud2lubmVyIHtcbiAgJjo6YmVmb3JlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC41cmVtO1xuICB9XG59XG5cblxuLnByb2ZpbGVzIC5hdmF0YXIge1xuICBib3JkZXI6IDRweCBzb2xpZCAjZmUwMDc2O1xufVxuIiwiLy8gQHJlcXVpcmVzXG4vLyBmdW5jdGlvbnMvcmVtc1xuLy8gZnVuY3Rpb25zL2NvbnRleHQtY2FsY1xuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIG1vZHVsZVxuXG4ucmVwb3J0IHtcbiAgQGV4dGVuZCAubWF0ZXJpYWwtc2hhZG93O1xuICAvLyBAaW5jbHVkZSBtcShtYXgsICRwcmUtbWF4LXctbGcpIHtcbiAgICBwYWRkaW5nOiAxMHB4IDVweCA1cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjY1KTtcbiAgLy8gfVxuICAvLyBAaW5jbHVkZSBtcShtaW4sICRtYXgtdy1sZykge1xuICAvLyAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgLy8gfVxufVxuXG5cbi5yZXBvcnQtY2FyZCB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1pbi1oZWlnaHQ6IDkwcHg7XG59XG5cblxuLnJlcG9ydF9fZGF0YSBhIHtcbiAgJjpob3ZlciB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgLmF2YXRhciB7XG4gICAgICBib3JkZXItY29sb3I6ICRyb3NlO1xuICAgIH1cblxuICAgIC5tZWRpYS1vYmpfX2JvZHkge1xuICAgICAgY29sb3I6ICRyb3NlO1xuICAgIH1cbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBkYXRhXG5cbi5yZXBvcnRfX3RpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1ib3R0b206IGNvbnRleHQtY2FsYygxMCwgMTYsIGVtKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDE1MCUpO1xuICBmb250LXNpemU6IGNvbnRleHQtY2FsYygyMCwgMTYsIGVtKTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cblxuLnJlcG9ydF9fZGF0YSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGFsaWduLWNvbnRlbnQ6IHN0cmV0Y2g7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgbXEobWF4LCA1MjBweCkge1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtZWRpYSAmIGNhcHRpb25cblxuLnJlcG9ydF9fZGF0YSAubWVkaWEtb2JqIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xufVxuXG5cbi8vIC5yZXBvcnRfX2RhdGEgLm1lZGlhLW9iai0tY2FwdGlvbiB7XG4ucmVwb3J0X19kYXRhID4gYSB7XG4gIGZsZXg6IDMzLjMzMzMzMyU7XG4gIHBhZGRpbmc6IDAgMC4yNWVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBmbGV4OiA3MHB4O1xuICAgIHBhZGRpbmc6IGluaXRpYWw7XG4gIH1cbn1cblxuXG4ucmVwb3J0X19kYXRhIC5tZWRpYS1vYmpfX2JvZHkge1xuICBmb250LXdlaWdodDogODAwO1xufVxuIiwiLnNlYXJjaC1yZXN1bHRzIC5pY29uIHtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG59XG5cblxuLnNlYXJjaC1yZXN1bHRzX19pdGVtIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgJjpub3QoOmxhc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIH1cbn1cblxuXG4uc2VhcmNoLXJlc3VsdHNfX2NpdGUge1xuICBtYXJnaW4tbGVmdDogNXB4O1xufVxuIiwiLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBtb2R1bGVcblxuLnNwZWVjaC1idWJibGUge1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi1ib3R0b206ICgkZ3V0dGVyICogMik7XG4gIHBhZGRpbmc6IHJlbXMoMjQpIHJlbXMoMzIpO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGZvbnQtc2l6ZTogMWVtO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDNyZW07XG4gICAgYm90dG9tOiAtJGNhcmV0LXVuaXQ7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKVxuICAgICAgICAgICAgICAgc2tldygtKHN0cmlwLXVuaXQoJGNhcmV0LXVuaXQpKStkZWcpXG4gICAgICAgICAgICAgICB0cmFuc2xhdGVZKCRjYXJldC11bml0LzEuNSk7XG4gIH1cbn1cblxuXG4vLyBhdm9pZCBhbGwgY2hpbGRyZW4ncyBjb250ZW50IGZyb21cbi8vIG92ZXJmbG93aW5nIGJ1YmJsZSAoaS5lLiBwYXJlbnQpLlxuLnNwZWVjaC1idWJibGUgcCB7XG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gbGF5b3V0XG5cbi5zcGVlY2gtYnViYmxlIC5tZWRpYS1vYmpfX2ZpZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmctcmlnaHQ6IHJlbXMoMjApO1xufVxuXG5cbi5zcGVlY2gtYnViYmxlIC5tZWRpYS1vYmpfX2ZpZyBzdmcge1xuICAmOmZpcnN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbXMoMTUpO1xuICB9XG59XG5cblxuLnNwZWVjaC1idWJibGUgLm1lZGlhLW9ial9fYm9keSA+OmZpcnN0LWNoaWxkIHtcbiAgbWFyZ2luLXRvcDogMDtcbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gcXVvdGVkIHNvdXJjZVxuXG4uc3BlZWNoLWJ1YmJsZSBjaXRlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IC0xLjg3NXJlbTtcbiAgbGVmdDogNHJlbTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IGNvbnRleHQtY2FsYygxNCwgMTYsIGVtKTtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1O1xuICB3b3JkLXdyYXA6IGJyZWFrLWFsbDtcbiAgY29sb3I6IGJsYWNrO1xufVxuXG5cbi5zcGVlY2gtYnViYmxlIGNpdGUgYSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmMmY4ZjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgfVxufVxuXG5cbi5zcGVlY2gtYnViYmxlLS1yb3NlIGEge1xuICBjb2xvcjogd2hpdGU7XG59XG5cblxuXG4vLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIGNvbG9yIHZhcmlhdGlvbiA6IGdhbGxlcnlcblxuLnNwZWVjaC1idWJibGUtLWdhbGxlcnkge1xuICBiYWNrZ3JvdW5kOiAkZ2FsbGVyeTtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNhcmV0KFxuICAgICAgYm90dG9tLFxuICAgICAgKCRjYXJldC11bml0IC8gMiksXG4gICAgICAkZ2FsbGVyeVxuICAgICk7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogJGNhcmV0LXVuaXQ7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgQGV4dGVuZCAuc3BlZWNoLWJ1YmJsZS0tcm9zZTtcbiAgfVxuXG4gICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogJHJvc2U7XG4gIH1cbn1cblxuXG5cbi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gY29sb3IgdmFyaWF0aW9uIDogcm9zZVxuXG4uc3BlZWNoLWJ1YmJsZS0tcm9zZSB7XG4gIGJhY2tncm91bmQ6ICRyb3NlO1xuICBjb2xvcjogd2hpdGU7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjYXJldChcbiAgICAgIGJvdHRvbSxcbiAgICAgICgkY2FyZXQtdW5pdCAvIDIpLFxuICAgICAgJHJvc2VcbiAgICApO1xuICAgIGJvcmRlci10b3Atd2lkdGg6ICRjYXJldC11bml0O1xuICB9XG59XG4iLCIvLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENhcmV0IChpLmUuIHRyaWFuZ2xlKVxuLy8gQHJlcXVpcmVzIG9wcG9zaXRlLWRpcmVjdGlvbiBmdW5jdGlvblxuLy8gQGluY2x1ZGUgY2FyZXQodG9wLCA1MHB4LCBtYXJvb24pO1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbkBtaXhpbiBjYXJldCgkcG9pbnQsICRib3JkZXItd2lkdGgsICRjb2xvcikge1xuICAkb3Bwb3NpdGU6IG9wcG9zaXRlLWRpcmVjdGlvbigkcG9pbnQpO1xuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci0jeyRvcHBvc2l0ZX06ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBib3JkZXItI3skcG9pbnR9OiAwO1xuICBoZWlnaHQ6IDA7XG4gIHdpZHRoOiAwO1xufSIsIi50ZWFjaGVyLXN0YXR1cyB7XG4gIGZvbnQtc2l6ZTogMS41ZW07XG59XG5cblxuLnRlYWNoZXItc3RhdHVzIC5hdmF0YXIge1xuICBib3JkZXI6IGNvbnRleHQtY2FsYyg1LCAxNiAqIDEuNSwgZW0pIHNvbGlkICNmZTAwNzY7XG59XG5cblxuLnRlYWNoZXItc3RhdHVzIC5tZWRpYS1vYmpfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAwLjVlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG5cbi50ZWFjaGVyLXN0YXR1cyAuc3RhdHVzIHtcbiAgQGV4dGVuZCAubWF0ZXJpYWwtc2hhZG93O1xuICBtYXJnaW4tYm90dG9tOiAwLjVlbTtcbiAgcGFkZGluZzogMC41ZW07XG4gIGJhY2tncm91bmQ6ICRzdGF0dXMtYmc7XG59XG5cblxuLnRlYWNoZXItc3RhdHVzIC53aW5uZXIge1xuICAmOjpiZWZvcmUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gIH1cbn1cbiIsIi8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gdGl0bGUgbW9kdWxlXG5cbi50aXRsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1sZWZ0OiBjb250ZXh0LWNhbGMoNDQsIDI0LCBlbSk7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG5cblxuLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSBhZGphY2VudCBpY29uc1xuXG4udGl0bGUgLmljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgYm90dG9tOiAwO1xufVxuXG5cbi50aXRsZSBhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG59XG4iLCIvLyAyLzMgR3JpZCBDb250ZXh0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gY2hpbGQgcm93cyBhbmQgc2libGluZ1xuLmdyaWQudHdvLXRoaXJkcyA+IC5yb3cgKyAucm93IHtcbiAgQGluY2x1ZGUgbXEobWluLCAkbWF4LXctbGcpIHtcbiAgICBtYXJnaW4tdG9wOiByZW1zKCRndXR0ZXIpO1xuICB9XG59XG5cblxuXG4vLyAxLzMgR3JpZCBDb250ZXh0c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gc2VwYXJhdG9yIHJ1bGVcbi5ncmlkLm9uZS10aGlyZCBociB7XG4gIGJvcmRlci10b3A6IDJweCBzb2xpZCAjOEU2RjlDO1xuICBtYXJnaW4tdG9wOiByZW1zKCRndXR0ZXIgKiAyKTtcbiAgbWFyZ2luLWJvdHRvbTogcmVtcygkZ3V0dGVyICogMik7XG59XG5cblxuLy8gY2hpbGQgcm93cyBhbmQgc2libGluZ1xuLmdyaWQub25lLXRoaXJkID4gLnJvdyArIC5yb3cge1xuICBtYXJnaW4tdG9wOiByZW1zKCRndXR0ZXIpO1xufVxuXG5cbi8vIE1lZGlhIE9iamVjdCBDYXJkc1xuLmdyaWQub25lLXRoaXJkIC5jYXJkLm1lZGlhLW9iaiB7XG4gIEBpbmNsdWRlIG1xKG1pbm1heCwgNzQwcHgsIDk2OHB4KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRtYXgtdy1zbSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIH1cbn1cblxuXG4vLyBTcGVlY2ggQnViYmxlc1xuLmdyaWQub25lLXRoaXJkIC5zcGVlY2gtYnViYmxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24tY29udGVudDogc3RyZXRjaDtcbiAgcGFkZGluZzogMC4xMjVlbSAxLjI1ZW07XG4gIEBpbmNsdWRlIG1xKG1pbiwgJHNjcmVlbi1tZWQpIHtcbiAgICBtaW4taGVpZ2h0OiAxMi41ZW07IC8vIDIwMHB4XG4gICAgbWF4LWhlaWdodDogMTIuNWVtOyAvLyAyMDBweFxuICB9XG59XG5cblxuLy8gSUUxMCBMYXRlc3QgOiBXaW5kb3dzIDhcbi5mbGV4Ym94dHdlZW5lciAuZ3JpZC5vbmUtdGhpcmQgLnNwZWVjaC1idWJibGUge1xuICBkaXNwbGF5OiBibG9jaztcbn1cbiIsIi8vIENvbnRlbnQgQm9keVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLnRlbXBsYXRlLXByaW1hcnkgbWFpbiA+IC5jb250YWluZXIge1xuICBwYWRkaW5nOiByZW1zKCRndXR0ZXIvMS41KSByZW1zKCRndXR0ZXIvMS41KSByZW1zKCRndXR0ZXIqMikgcmVtcygkZ3V0dGVyLzEuNSk7XG4gIGJhY2tncm91bmQ6ICRjb250ZW50LWJnO1xuICBAaW5jbHVkZSBtcShtaW4sICRtYXgtdy1sZykge1xuICAgIC8vIHBhZGRpbmc6IHJlbXMoJGd1dHRlciAqIDEuNSkgcmVtcygkZ3V0dGVyKSByZW1zKCRndXR0ZXIgKiA2KTtcbiAgfVxufVxuXG5cblxuLy8gTW9kdWxlc1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbiIsIi8vIERvbnQgbGV0IGNvbnRlbnQgYmVoaW5kIG1lbnUgc2Nyb2xsXG4vLyB3aGVuIG1lbnUgaXMgb3BlbiBhbmQgc2Nyb2xsZWRcbmh0bWwuaXMtdW5zY3JvbGxhYmxlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuXG4ubmF2LWRyb3Bkb3duLmlzLW9wZW4ge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvdmVyZmxvdzogc2Nyb2xsO1xufVxuXG5cbi5uYXYtZHJvcGRvd25fX2xpc3QgLmRyb3Bkb3duLW1lbnUuYWN0aXZlLCAubWVudS1pdGVtLWhhcy1jaGlsZHJlbjpob3ZlciB1bCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4ubmF2LWRyb3Bkb3duX19saXN0IGEuZHJvcGRvd24tdG9nZ2xlLmFjdGl2ZSwgLm1lbnUtaXRlbS1oYXMtY2hpbGRyZW4gdWwgYTpob3ZlciB7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRuYXYtZHJvcGRvd24taG92ZXItYmc7XG4gIGNvbG9yOiAkbmF2LWRyb3Bkb3duLWNvbG9yO1xufVxuIiwiLy8gbGFyZ2Vcbi50aW55bmF2IHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuXG4vLyBzbWFsbFxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgLnRpbnluYXYge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgLnNlbGVjdC1uYXYge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgLm5vLWpzIC5zZWxlY3QtbmF2IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIExpc3RzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubGlzdC1yZXNldCB7XG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi5saXN0LWlubGluZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5saXN0LWlubGluZSBsaSB7XG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbXMoNSk7XG4gIH1cblxuICAmOm5vdCg6bGFzdC1vZi10eXBlKSAqOjphZnRlciB7XG4gICAgY29udGVudDogJywnO1xuICB9XG59XG5cblxuLy8gRGlzcGxheSBIZWxwZXJzXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyBncmVhdCBmb3IgZWxlbWVudHMgc3VjaCBhcyBsaW5rc1xuLy8gd3JhcHBpbmcgYSBibG9jayBsZXZlbCBlbGVtZW50LlxuLmZpdC1zcGFjZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG59XG5cblxuLy8gTWVkaWEgQWxpZ25tZW50c1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLmFsaWdubm9uZSB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4uYWxpZ25jZW50ZXIsXG5kaXYuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiA1cHggYXV0byA1cHggYXV0bztcbn1cblxuLmFsaWducmlnaHQge1xuICBmbG9hdDpyaWdodDtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbi5hbGlnbmxlZnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi5hbGlnbmNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDVweCBhdXRvIDVweCBhdXRvO1xufVxuXG5hIGltZy5hbGlnbnJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW46IDVweCAwIDIwcHggMjBweDtcbn1cblxuYSBpbWcuYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbmEgaW1nLmFsaWdubGVmdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDVweCAyMHB4IDIwcHggMDtcbn1cblxuYSBpbWcuYWxpZ25jZW50ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0b1xufVxuXG4ud3AtY2FwdGlvbiB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMGYwZjAgO1xuICBtYXgtd2lkdGg6IDk2JTsgLyogSW1hZ2UgZG9lcyBub3Qgb3ZlcmZsb3cgdGhlIGNvbnRlbnQgYXJlYSAqL1xuICBwYWRkaW5nOiA1cHggM3B4IDEwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLndwLWNhcHRpb24uYWxpZ25ub25lIHtcbiAgbWFyZ2luOiA1cHggMjBweCAyMHB4IDA7XG59XG5cbi53cC1jYXB0aW9uLmFsaWdubGVmdCB7XG4gIG1hcmdpbjogNXB4IDIwcHggMjBweCAwO1xufVxuXG4ud3AtY2FwdGlvbi5hbGlnbnJpZ2h0IHtcbiAgbWFyZ2luOiA1cHggMCAyMHB4IDIwcHg7XG59XG5cbi53cC1jYXB0aW9uIGltZyB7XG4gIGJvcmRlcjogMCBub25lO1xuICBoZWlnaHQ6IGF1dG87XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiA5OC41JTtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uIHAud3AtY2FwdGlvbi10ZXh0IHtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDRweCA1cHg7XG59XG5cbmltZ1tjbGFzcyo9XCJhbGlnblwiXSxcbmltZ1tjbGFzcyo9XCJ3cC1pbWFnZS1cIl0ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi53cC1jYXB0aW9uLFxuLndwLWNhcHRpb24gaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG5pbWcuc2l6ZS1mdWxsIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB3aWR0aDogYXV0bzsgLy8gUHJldmVudCBzdHJldGNoaW5nIG9mIGZ1bGwtc2l6ZSBpbWFnZXMgd2l0aCBoZWlnaHQgYW5kIHdpZHRoIGF0dHJpYnV0ZXMgaW4gSUU4XG59XG5cblxuLy8gUGFkZGluZyBSZW1vdmVyXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubm8tcGFkbHIge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cblxuLy8gTWF0ZXJpYWwgU2hhZG93XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4ubWF0ZXJpYWwtc2hhZG93IHtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4IHJnYmEoMCwwLDAsMC4xMiksXG4gICAgICAgICAgICAgIDAgMXB4IDJweCByZ2JhKDAsMCwwLDAuMjQpO1xufVxuXG5cbi8vIEhpZGluZ1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gSGlkZSBvbmx5IHZpc3VhbGx5LCBidXQgaGF2ZSBpdCBhdmFpbGFibGUgZm9yIHNjcmVlbnJlYWRlcnM6IGg1YnAuY29tL3Zcbi52aXN1YWxseWhpZGRlbiB7XG5cdGJvcmRlcjogMDtcblx0Y2xpcDogcmVjdCgwIDAgMCAwKTtcblx0aGVpZ2h0OiAxcHg7XG5cdG1hcmdpbjogLTFweDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0cGFkZGluZzogMDtcblx0cG9zaXRpb246IGFic29sdXRlO1xuXHR3aWR0aDogMXB4O1xufVxuXG4vLyBFeHRlbmRzIHRoZSAudmlzdWFsbHloaWRkZW4gY2xhc3MgdG8gYWxsb3cgdGhlIGVsZW1lbnQgdG8gYmUgZm9jdXNhYmxlXG4vLyB3aGVuIG5hdmlnYXRlZCB0byB2aWEgdGhlIGtleWJvYXJkOiBoNWJwLmNvbS9wXG4udmlzdWFsbHloaWRkZW4uZm9jdXNhYmxlOmFjdGl2ZSxcbi52aXN1YWxseWhpZGRlbi5mb2N1c2FibGU6Zm9jdXMge1xuXHRjbGlwOiBhdXRvO1xuXHRoZWlnaHQ6IGF1dG87XG5cdG1hcmdpbjogMDtcblx0b3ZlcmZsb3c6IHZpc2libGU7XG5cdHBvc2l0aW9uOiBzdGF0aWM7XG5cdHdpZHRoOiBhdXRvO1xufVxuXG5cbi8vIExheW91dFxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLy8gQ2xlYXJmaXg6IGNvbnRhaW4gZmxvYXRzXG4vLyBodHRwOi8vY3NzbW9qby5jb20vdGhlLXZlcnktbGF0ZXN0LWNsZWFyZml4LXJlbG9hZGVkXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogXCIgXCI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBjbGVhcjogYm90aDtcbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gICAgYm9keSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgfVxuXHQqIHtcblx0XHRiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuXHRcdGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3Ncblx0XHRib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG5cdFx0dGV4dC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblx0fVxuXG5cdGEsXG5cdGE6dmlzaXRlZCB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdH1cblxuXHRhW2hyZWZdOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjtcblx0fVxuXG5cdGFiYnJbdGl0bGVdOmFmdGVyIHtcblx0XHRjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7XG5cdH1cblxuXG5cdC8vICogRG9uJ3Qgc2hvdyBsaW5rcyBmb3IgaW1hZ2VzLCBvciBqYXZhc2NyaXB0L2ludGVybmFsIGxpbmtzXG5cblxuXHQuaXIgYTphZnRlcixcblx0YVtocmVmXj1cImphdmFzY3JpcHQ6XCJdOmFmdGVyLFxuXHRhW2hyZWZePVwiI1wiXTphZnRlciB7XG5cdFx0Y29udGVudDogXCJcIjtcblx0fVxuXG5cdHByZSxcblx0YmxvY2txdW90ZSB7XG5cdFx0Ym9yZGVyOiAxcHggc29saWQgIzk5OTtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdH1cblxuXHR0aGVhZCB7XG5cdFx0ZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyAvLyBoNWJwLmNvbS90XG5cdH1cblxuXHR0cixcblx0aW1nIHtcblx0XHRwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG5cdH1cblxuXHRpbWcge1xuXHRcdG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuXHR9XG5cblx0QHBhZ2Uge1xuXHRcdG1hcmdpbjogMC41Y207XG5cdH1cblxuXHRwLFxuXHRoMixcblx0aDMge1xuXHRcdG9ycGhhbnM6IDM7XG5cdFx0d2lkb3dzOiAzO1xuXHR9XG5cblx0aDIsXG5cdGgzIHtcblx0XHRwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDtcblx0fVxuICAgIC5zcGVlY2gtYnViYmxlLS1yb3NlOjpiZWZvcmUsIC5zcGVlY2gtYnViYmxlLS1nYWxsZXJ5OmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAucmVhZC1tb3JlIHsgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgLmhpZGUgeyBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICAgLmNhcmQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cbiJdLCJzb3VyY2VSb290IjoiL3NvdXJjZS8ifQ== */