@import url(https://use.typekit.net/qep2rja.css);
@charset "UTF-8";
/**
 * ----------------------
 * Un.titled
 * Main - Global
 * ----------------------
 */
/**
 * Adobe fonts
 */
/**
 * Dependencies
 */
/*!
 * baguetteBox.js
 * @author  feimosi
 * @version %%INJECT_VERSION%%
 * @url https://github.com/feimosi/baguetteBox.js
 */
#baguetteBox-overlay {
  display: none;
  opacity: 0;
  position: fixed;
  overflow: hidden;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000000;
  background-color: #222;
  background-color: rgba(0, 0, 0, 0.8);
  transition: opacity 0.5s ease;
}
#baguetteBox-overlay.visible {
  opacity: 1;
}
#baguetteBox-overlay .full-image {
  display: inline-block;
  position: relative;
  width: 100%;
  height: 100%;
  text-align: center;
}
#baguetteBox-overlay .full-image figure {
  display: inline;
  margin: 0;
  height: 100%;
}
#baguetteBox-overlay .full-image img {
  display: inline-block;
  width: auto;
  height: auto;
  max-height: 100%;
  max-width: 100%;
  vertical-align: middle;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
}
#baguetteBox-overlay .full-image figcaption {
  display: block;
  position: absolute;
  bottom: 0;
  width: 100%;
  text-align: center;
  line-height: 1.8;
  white-space: normal;
  color: #ccc;
  background-color: #000;
  background-color: rgba(0, 0, 0, 0.6);
  font-family: sans-serif;
}
#baguetteBox-overlay .full-image:before {
  content: "";
  display: inline-block;
  height: 50%;
  width: 1px;
  margin-right: -1px;
}

#baguetteBox-slider {
  position: absolute;
  left: 0;
  top: 0;
  height: 100%;
  width: 100%;
  white-space: nowrap;
  transition: left 0.4s ease, transform 0.4s ease;
}
#baguetteBox-slider.bounce-from-right {
  animation: bounceFromRight 0.4s ease-out;
}
#baguetteBox-slider.bounce-from-left {
  animation: bounceFromLeft 0.4s ease-out;
}

@keyframes bounceFromRight {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: -30px;
  }
  100% {
    margin-left: 0;
  }
}
@keyframes bounceFromLeft {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: 30px;
  }
  100% {
    margin-left: 0;
  }
}
.baguetteBox-button#previous-button, .baguetteBox-button#next-button {
  top: 50%;
  top: calc(50% - 30px);
  width: 44px;
  height: 60px;
}

.baguetteBox-button {
  position: absolute;
  cursor: pointer;
  outline: none;
  padding: 0;
  margin: 0;
  border: 0;
  border-radius: 15%;
  background-color: #323232;
  background-color: rgba(50, 50, 50, 0.5);
  color: #ddd;
  font: 1.6em sans-serif;
  transition: background-color 0.4s ease;
}
.baguetteBox-button:focus, .baguetteBox-button:hover {
  background-color: rgba(50, 50, 50, 0.9);
}
.baguetteBox-button#next-button {
  right: 2%;
}
.baguetteBox-button#previous-button {
  left: 2%;
}
.baguetteBox-button#close-button {
  top: 20px;
  right: 2%;
  right: calc(2% + 6px);
  width: 30px;
  height: 30px;
}
.baguetteBox-button svg {
  position: absolute;
  left: 0;
  top: 0;
}

/*
    Preloader
    Borrowed from http://tobiasahlin.com/spinkit/
*/
.baguetteBox-spinner {
  width: 40px;
  height: 40px;
  display: inline-block;
  position: absolute;
  top: 50%;
  left: 50%;
  margin-top: -20px;
  margin-left: -20px;
}

.baguetteBox-double-bounce1,
.baguetteBox-double-bounce2 {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background-color: #fff;
  opacity: 0.6;
  position: absolute;
  top: 0;
  left: 0;
  animation: bounce 2s infinite ease-in-out;
}

.baguetteBox-double-bounce2 {
  animation-delay: -1s;
}

@keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}
/*! normalize.scss v0.1.0 | MIT License | based on git.io/normalize */
/**
 * 1. Set default font family to sans-serif.
 * 2. Prevent iOS text size adjust after orientation change, without disabling
 *    user zoom.
 */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
}

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

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

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

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

/**
 * Address `[hidden]` styling not present in IE 8/9/10.
 * Hide the `template` element in IE 8/9/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 when focused and also mouse hovered in all browsers.
 */
a:active,
a:hover {
  outline: 0;
}

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

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

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

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

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

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

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

sup {
  top: -0.5em;
}

sub {
  bottom: -0.25em;
}

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

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

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

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

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

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

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

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

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

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

/**
 * Re-set default cursor for disabled elements.
 */
button[disabled],
html input[disabled] {
  cursor: 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;
}

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

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

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

/**
 * 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.
 */
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;
}

:root {
  --reflex-columns: 12;
  --reflex-grid-spacing: 15px;
  --reflex-xs: 576px;
  --reflex-sm: 768px;
  --reflex-md: 992px;
  --reflex-lg: 1200px;
  --reflex-xlg: 1600px;
  --reflex-xxs-max: 575px;
  --reflex-xs-max: 767px;
  --reflex-sm-max: 991px;
  --reflex-md-max: 1199px;
  --reflex-lg-max: 1599px;
}

.container,
.container-full {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  width: 100%;
  margin-right: auto;
  margin-left: auto;
  padding-right: 30px;
  padding-left: 30px;
}
.container .grid,
.container-full .grid {
  margin-right: -15px;
  margin-left: -15px;
}

@media (min-width: 576px) {
  .container {
    max-width: 576px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 768px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 992px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1200px;
  }
}
@media (min-width: 1600px) {
  .container {
    max-width: 1600px;
  }
}

.grid {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  display: block;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 0;
  margin: 0 auto;
  position: relative;
  letter-spacing: -0.31em;
  *letter-spacing: normal;
  word-spacing: -0.43em;
  list-style-type: none;
}
.grid::before, .grid::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}

[class*=col-] {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
  position: relative;
  width: 100%;
  vertical-align: top;
  padding: 15px;
  display: inline-block;
  *display: inline;
  zoom: 1;
}
[class*=col-]::before, [class*=col-]::after {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  letter-spacing: normal;
  word-spacing: normal;
  white-space: normal;
}
[class*=col-] .grid {
  -ms-flex: 1 1 auto;
  -webkit-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: -15px;
}

.col-12 {
  width: 100%;
  *width: 99.9%;
}

.col-11 {
  width: 91.6666666667%;
  *width: 91.5666666667%;
}

.col-10 {
  width: 83.3333333333%;
  *width: 83.2333333333%;
}

.col-9 {
  width: 75%;
  *width: 74.9%;
}

.col-8 {
  width: 66.6666666667%;
  *width: 66.5666666667%;
}

.col-7 {
  width: 58.3333333333%;
  *width: 58.2333333333%;
}

.col-6 {
  width: 50%;
  *width: 49.9%;
}

.col-5 {
  width: 41.6666666667%;
  *width: 41.5666666667%;
}

.col-4 {
  width: 33.3333333333%;
  *width: 33.2333333333%;
}

.col-3 {
  width: 25%;
  *width: 24.9%;
}

.col-2 {
  width: 16.6666666667%;
  *width: 16.5666666667%;
}

.col-1 {
  width: 8.3333333333%;
  *width: 8.2333333333%;
}

@media (min-width: 576px) {
  .col-xs-12 {
    width: 100%;
    *width: 99.9%;
  }

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

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

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

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

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

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

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

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

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

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

  .col-xs-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 768px) {
  .col-sm-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-sm-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-sm-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-sm-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-sm-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-sm-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-sm-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-sm-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-sm-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-sm-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-sm-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-sm-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 992px) {
  .col-md-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-md-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-md-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-md-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-md-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-md-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-md-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-md-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-md-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-md-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-md-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-md-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1200px) {
  .col-lg-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-lg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-lg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-lg-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-lg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-lg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-lg-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-lg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-lg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-lg-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-lg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-lg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
@media (min-width: 1600px) {
  .col-xlg-12 {
    width: 100%;
    *width: 99.9%;
  }

  .col-xlg-11 {
    width: 91.6666666667%;
    *width: 91.5666666667%;
  }

  .col-xlg-10 {
    width: 83.3333333333%;
    *width: 83.2333333333%;
  }

  .col-xlg-9 {
    width: 75%;
    *width: 74.9%;
  }

  .col-xlg-8 {
    width: 66.6666666667%;
    *width: 66.5666666667%;
  }

  .col-xlg-7 {
    width: 58.3333333333%;
    *width: 58.2333333333%;
  }

  .col-xlg-6 {
    width: 50%;
    *width: 49.9%;
  }

  .col-xlg-5 {
    width: 41.6666666667%;
    *width: 41.5666666667%;
  }

  .col-xlg-4 {
    width: 33.3333333333%;
    *width: 33.2333333333%;
  }

  .col-xlg-3 {
    width: 25%;
    *width: 24.9%;
  }

  .col-xlg-2 {
    width: 16.6666666667%;
    *width: 16.5666666667%;
  }

  .col-xlg-1 {
    width: 8.3333333333%;
    *width: 8.2333333333%;
  }
}
.col-auto {
  -ms-flex: 1 0 0px;
  -webkit-flex: 1 0 0px;
  flex: 1 0 0px;
  width: auto;
}

@media (min-width: 576px) {
  .col-xs-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 768px) {
  .col-sm-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 992px) {
  .col-md-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1200px) {
  .col-lg-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
@media (min-width: 1600px) {
  .col-xlg-auto {
    -ms-flex: 1 0 0px;
    -webkit-flex: 1 0 0px;
    flex: 1 0 0px;
    width: auto;
  }
}
.order-12 {
  -ms-flex-order: 12;
  -webkit-order: 12;
  order: 12;
}

.order-11 {
  -ms-flex-order: 11;
  -webkit-order: 11;
  order: 11;
}

.order-10 {
  -ms-flex-order: 10;
  -webkit-order: 10;
  order: 10;
}

.order-9 {
  -ms-flex-order: 9;
  -webkit-order: 9;
  order: 9;
}

.order-8 {
  -ms-flex-order: 8;
  -webkit-order: 8;
  order: 8;
}

.order-7 {
  -ms-flex-order: 7;
  -webkit-order: 7;
  order: 7;
}

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

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

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

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

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

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

.order-0 {
  -ms-flex-order: 0;
  -webkit-order: 0;
  order: 0;
}

@media (min-width: 576px) {
  .order-xs-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-xs-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-xs-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-xs-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-xs-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-xs-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-xs-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-xs-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-xs-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-xs-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-xs-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-xs-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-xs-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 768px) {
  .order-sm-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-sm-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-sm-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-sm-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-sm-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-sm-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-sm-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-sm-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-sm-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-sm-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-sm-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-sm-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-sm-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 992px) {
  .order-md-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-md-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-md-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-md-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-md-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-md-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-md-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-md-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-md-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-md-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-md-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-md-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-md-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 1200px) {
  .order-lg-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-lg-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-lg-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-lg-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-lg-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-lg-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-lg-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-lg-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-lg-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-lg-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-lg-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-lg-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-lg-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
@media (min-width: 1600px) {
  .order-xlg-12 {
    -ms-flex-order: 12;
    -webkit-order: 12;
    order: 12;
  }

  .order-xlg-11 {
    -ms-flex-order: 11;
    -webkit-order: 11;
    order: 11;
  }

  .order-xlg-10 {
    -ms-flex-order: 10;
    -webkit-order: 10;
    order: 10;
  }

  .order-xlg-9 {
    -ms-flex-order: 9;
    -webkit-order: 9;
    order: 9;
  }

  .order-xlg-8 {
    -ms-flex-order: 8;
    -webkit-order: 8;
    order: 8;
  }

  .order-xlg-7 {
    -ms-flex-order: 7;
    -webkit-order: 7;
    order: 7;
  }

  .order-xlg-6 {
    -ms-flex-order: 6;
    -webkit-order: 6;
    order: 6;
  }

  .order-xlg-5 {
    -ms-flex-order: 5;
    -webkit-order: 5;
    order: 5;
  }

  .order-xlg-4 {
    -ms-flex-order: 4;
    -webkit-order: 4;
    order: 4;
  }

  .order-xlg-3 {
    -ms-flex-order: 3;
    -webkit-order: 3;
    order: 3;
  }

  .order-xlg-2 {
    -ms-flex-order: 2;
    -webkit-order: 2;
    order: 2;
  }

  .order-xlg-1 {
    -ms-flex-order: 1;
    -webkit-order: 1;
    order: 1;
  }

  .order-xlg-0 {
    -ms-flex-order: 0;
    -webkit-order: 0;
    order: 0;
  }
}
.offset-11 {
  margin-left: 91.6666666667%;
  *margin-left: 91.5666666667%;
}

.offset-10 {
  margin-left: 83.3333333333%;
  *margin-left: 83.2333333333%;
}

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

.offset-8 {
  margin-left: 66.6666666667%;
  *margin-left: 66.5666666667%;
}

.offset-7 {
  margin-left: 58.3333333333%;
  *margin-left: 58.2333333333%;
}

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

.offset-5 {
  margin-left: 41.6666666667%;
  *margin-left: 41.5666666667%;
}

.offset-4 {
  margin-left: 33.3333333333%;
  *margin-left: 33.2333333333%;
}

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

.offset-2 {
  margin-left: 16.6666666667%;
  *margin-left: 16.5666666667%;
}

.offset-1 {
  margin-left: 8.3333333333%;
  *margin-left: 8.2333333333%;
}

@media (min-width: 576px) {
  .offset-xs-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

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

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

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

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

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

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

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

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

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

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

  .offset-xs-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 768px) {
  .offset-sm-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-sm-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-sm-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-sm-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-sm-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-sm-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-sm-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-sm-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-sm-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-sm-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-sm-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-sm-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 992px) {
  .offset-md-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-md-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-md-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-md-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-md-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-md-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-md-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-md-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-md-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-md-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-md-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-md-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 1200px) {
  .offset-lg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-lg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-lg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-lg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-lg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-lg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-lg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-lg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-lg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-lg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-lg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-lg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
@media (min-width: 1600px) {
  .offset-xlg-11 {
    margin-left: 91.6666666667%;
    *margin-left: 91.5666666667%;
  }

  .offset-xlg-10 {
    margin-left: 83.3333333333%;
    *margin-left: 83.2333333333%;
  }

  .offset-xlg-9 {
    margin-left: 75%;
    *margin-left: 74.9%;
  }

  .offset-xlg-8 {
    margin-left: 66.6666666667%;
    *margin-left: 66.5666666667%;
  }

  .offset-xlg-7 {
    margin-left: 58.3333333333%;
    *margin-left: 58.2333333333%;
  }

  .offset-xlg-6 {
    margin-left: 50%;
    *margin-left: 49.9%;
  }

  .offset-xlg-5 {
    margin-left: 41.6666666667%;
    *margin-left: 41.5666666667%;
  }

  .offset-xlg-4 {
    margin-left: 33.3333333333%;
    *margin-left: 33.2333333333%;
  }

  .offset-xlg-3 {
    margin-left: 25%;
    *margin-left: 24.9%;
  }

  .offset-xlg-2 {
    margin-left: 16.6666666667%;
    *margin-left: 16.5666666667%;
  }

  .offset-xlg-1 {
    margin-left: 8.3333333333%;
    *margin-left: 8.2333333333%;
  }

  .offset-xlg-0 {
    margin-left: 0;
    *margin-left: -0.1%;
  }
}
.wrap {
  -ms-flex-wrap: wrap;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
}

.no-wrap {
  -ms-flex-wrap: nowrap;
  -webkit-flex-wrap: nowrap;
  flex-wrap: nowrap;
}
.no-wrap [class*=col-] {
  -ms-flex-negative: 1;
  -webkit-flex-shrink: 1;
  flex-shrink: 1;
}

.wrap-reverse {
  -ms-flex-wrap: wrap-reverse;
  -webkit-flex-wrap: wrap-reverse;
  flex-wrap: wrap-reverse;
}

.direction-row {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.direction-row-reverse {
  -ms-flex-direction: row-reverse;
  -webkit-flex-direction: row-reverse;
  flex-direction: row-reverse;
}

.direction-column {
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}

.direction-column-reverse {
  -ms-flex-direction: column-reverse;
  -webkit-flex-direction: column-reverse;
  flex-direction: column-reverse;
}

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

.align-end {
  -ms-flex-align: end;
  -webkit-align-items: flex-end;
  align-items: flex-end;
}
.align-end [class*=col-] {
  vertical-align: bottom;
}

.align-center {
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}
.align-center [class*=col-] {
  vertical-align: middle;
}

.align-baseline {
  -ms-flex-align: baseline;
  -webkit-align-items: baseline;
  align-items: baseline;
}

.align-content-start {
  -ms-flex-line-pack: start;
  -webkit-align-content: flex-start;
  align-content: flex-start;
}

.align-content-end {
  -ms-flex-line-pack: end;
  -webkit-align-content: flex-end;
  align-content: flex-end;
}
.align-content-end [class*=col-] {
  vertical-align: bottom;
}

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

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

.align-content-space-around {
  -ms-flex-line-pack: distribute;
  -webkit-align-content: space-around;
  align-content: space-around;
}

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

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

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

.align-self-center {
  -ms-flex-item-align: center;
  -webkit-align-self: center;
  align-self: center;
  vertical-align: middle;
}

.align-self-baseline {
  -ms-flex-item-align: baseline;
  -webkit-align-self: baseline;
  align-self: baseline;
  vertical-align: baseline;
}

.justify-start {
  -ms-flex-pack: start;
  -webkit-justify-content: flex-start;
  justify-content: flex-start;
}
.justify-start.grid {
  text-align: left;
}

.justify-end {
  -ms-flex-pack: end;
  -webkit-justify-content: flex-end;
  justify-content: flex-end;
}
.justify-end.grid {
  text-align: right;
  -moz-text-align-last: right;
  text-align-last: right;
}
.justify-end.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-center {
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
}
.justify-center.grid {
  text-align: center;
  -moz-text-align-last: center;
  text-align-last: center;
}
.justify-center.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-between {
  -ms-flex-pack: justify;
  -webkit-justify-content: space-between;
  justify-content: space-between;
}
.justify-space-between.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}
.justify-space-between.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.justify-space-around {
  -ms-flex-pack: distribute;
  -webkit-justify-content: space-around;
  justify-content: space-around;
}
.justify-space-around.grid {
  text-align: justify;
  -moz-text-align-last: justify;
  text-align-last: justify;
}
.justify-space-around.grid [class*=col-] {
  text-align: left;
  text-align: start;
  -moz-text-align-last: left;
  -moz-text-align-last: start;
  text-align-last: left;
  text-align-last: start;
}

.grid-bleed [class*=col-] {
  padding: 0;
}

.col-grid {
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -ms-flex-direction: column;
  -webkit-flex-direction: column;
  flex-direction: column;
}
.col-grid.direction-row {
  -ms-flex-direction: row;
  -webkit-flex-direction: row;
  flex-direction: row;
}

.col-bleed {
  padding: 0;
}

.col-bleed-x {
  padding: 15px 0;
}

.col-bleed-y {
  padding: 0 15px;
}

.flex-img {
  display: block;
  -ms-flex: 0 0 auto;
  -webkit-flex: 0 0 auto;
  flex: 0 0 auto;
  max-width: 100%;
  height: auto;
  width: 100%;
  *width: auto;
}

.flex-footer {
  width: 100%;
  margin-top: auto;
  margin-bottom: 0;
}
.flex-footer > :last-child {
  margin-bottom: 0;
}

@media (min-width: 0px) and (max-width: 575px) {
  .hidden-xxs {
    display: none;
  }
}

@media (min-width: 576px) {
  .hidden-xs-up {
    display: none;
  }
}

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

@media (min-width: 576px) and (max-width: 767px) {
  .hidden-xs {
    display: none;
  }
}

@media (min-width: 768px) {
  .hidden-sm-up {
    display: none;
  }
}

@media (max-width: 991px) {
  .hidden-sm-down {
    display: none;
  }
}

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

@media (min-width: 992px) {
  .hidden-md-up {
    display: none;
  }
}

@media (max-width: 1199px) {
  .hidden-md-down {
    display: none;
  }
}

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

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

@media (max-width: 1599px) {
  .hidden-lg-down {
    display: none;
  }
}

@media (min-width: 1200px) and (max-width: 1599px) {
  .hidden-lg {
    display: none;
  }
}

@media (min-width: 1600px) {
  .hidden-xlg {
    display: none;
  }
}

/*===============================
=            Choices            =
===============================*/
.choices {
  position: relative;
  margin-bottom: 24px;
  font-size: 16px;
}
.choices:focus {
  outline: none;
}
.choices:last-child {
  margin-bottom: 0;
}
.choices.is-disabled .choices__inner,
.choices.is-disabled .choices__input {
  background-color: #eaeaea;
  cursor: not-allowed;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
.choices.is-disabled .choices__item {
  cursor: not-allowed;
}
.choices [hidden] {
  display: none !important;
}

.choices[data-type*=select-one] {
  cursor: pointer;
}
.choices[data-type*=select-one] .choices__inner {
  padding-bottom: 7.5px;
}
.choices[data-type*=select-one] .choices__input {
  display: block;
  width: 100%;
  padding: 10px;
  border-bottom: 1px solid #dddddd;
  background-color: #ffffff;
  margin: 0;
}
.choices[data-type*=select-one] .choices__button {
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
  padding: 0;
  background-size: 8px;
  position: absolute;
  top: 50%;
  right: 0;
  margin-top: -10px;
  margin-right: 25px;
  height: 20px;
  width: 20px;
  border-radius: 10em;
  opacity: 0.5;
}
.choices[data-type*=select-one] .choices__button:hover, .choices[data-type*=select-one] .choices__button:focus {
  opacity: 1;
}
.choices[data-type*=select-one] .choices__button:focus {
  box-shadow: 0px 0px 0px 2px #00bcd4;
}
.choices[data-type*=select-one] .choices__item[data-value=""] .choices__button {
  display: none;
}
.choices[data-type*=select-one]:after {
  content: "";
  height: 0;
  width: 0;
  border-style: solid;
  border-color: #333333 transparent transparent transparent;
  border-width: 5px;
  position: absolute;
  right: 11.5px;
  top: 50%;
  margin-top: -2.5px;
  pointer-events: none;
}
.choices[data-type*=select-one].is-open:after {
  border-color: transparent transparent #333333 transparent;
  margin-top: -7.5px;
}
.choices[data-type*=select-one][dir=rtl]:after {
  left: 11.5px;
  right: auto;
}
.choices[data-type*=select-one][dir=rtl] .choices__button {
  right: auto;
  left: 0;
  margin-left: 25px;
  margin-right: 0;
}

.choices[data-type*=select-multiple] .choices__inner,
.choices[data-type*=text] .choices__inner {
  cursor: text;
}
.choices[data-type*=select-multiple] .choices__button,
.choices[data-type*=text] .choices__button {
  position: relative;
  display: inline-block;
  margin-top: 0;
  margin-right: -4px;
  margin-bottom: 0;
  margin-left: 8px;
  padding-left: 16px;
  border-left: 1px solid #008fa1;
  background-image: url(data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iMjEiIGhlaWdodD0iMjEiIHZpZXdCb3g9IjAgMCAyMSAyMSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj48ZyBmaWxsPSIjRkZGIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiPjxwYXRoIGQ9Ik0yLjU5Mi4wNDRsMTguMzY0IDE4LjM2NC0yLjU0OCAyLjU0OEwuMDQ0IDIuNTkyeiIvPjxwYXRoIGQ9Ik0wIDE4LjM2NEwxOC4zNjQgMGwyLjU0OCAyLjU0OEwyLjU0OCAyMC45MTJ6Ii8+PC9nPjwvc3ZnPg==);
  background-size: 8px;
  width: 8px;
  line-height: 1;
  opacity: 0.75;
  border-radius: 0;
}
.choices[data-type*=select-multiple] .choices__button:hover, .choices[data-type*=select-multiple] .choices__button:focus,
.choices[data-type*=text] .choices__button:hover,
.choices[data-type*=text] .choices__button:focus {
  opacity: 1;
}

.choices__inner {
  display: inline-block;
  vertical-align: top;
  width: 100%;
  background-color: #f9f9f9;
  padding: 7.5px 7.5px 3.75px;
  border: 1px solid #dddddd;
  border-radius: 2.5px;
  font-size: 14px;
  min-height: 44px;
  overflow: hidden;
}
.is-focused .choices__inner, .is-open .choices__inner {
  border-color: #b7b7b7;
}
.is-open .choices__inner {
  border-radius: 2.5px 2.5px 0 0;
}
.is-flipped.is-open .choices__inner {
  border-radius: 0 0 2.5px 2.5px;
}

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

.choices__list--single {
  display: inline-block;
  padding: 4px 16px 4px 4px;
  width: 100%;
}
[dir=rtl] .choices__list--single {
  padding-right: 4px;
  padding-left: 16px;
}
.choices__list--single .choices__item {
  width: 100%;
}

.choices__list--multiple {
  display: inline;
}
.choices__list--multiple .choices__item {
  display: inline-block;
  vertical-align: middle;
  border-radius: 20px;
  padding: 4px 10px;
  font-size: 12px;
  font-weight: 500;
  margin-right: 3.75px;
  margin-bottom: 3.75px;
  background-color: #00bcd4;
  border: 1px solid #00a5bb;
  color: #ffffff;
  word-break: break-all;
  box-sizing: border-box;
}
.choices__list--multiple .choices__item[data-deletable] {
  padding-right: 5px;
}
[dir=rtl] .choices__list--multiple .choices__item {
  margin-right: 0;
  margin-left: 3.75px;
}
.choices__list--multiple .choices__item.is-highlighted {
  background-color: #00a5bb;
  border: 1px solid #008fa1;
}
.is-disabled .choices__list--multiple .choices__item {
  background-color: #aaaaaa;
  border: 1px solid #919191;
}

.choices__list--dropdown {
  visibility: hidden;
  z-index: 1;
  position: absolute;
  width: 100%;
  background-color: #ffffff;
  border: 1px solid #dddddd;
  top: 100%;
  margin-top: -1px;
  border-bottom-left-radius: 2.5px;
  border-bottom-right-radius: 2.5px;
  overflow: hidden;
  word-break: break-all;
  will-change: visibility;
}
.choices__list--dropdown.is-active {
  visibility: visible;
}
.is-open .choices__list--dropdown {
  border-color: #b7b7b7;
}
.is-flipped .choices__list--dropdown {
  top: auto;
  bottom: 100%;
  margin-top: 0;
  margin-bottom: -1px;
  border-radius: 0.25rem 0.25rem 0 0;
}
.choices__list--dropdown .choices__list {
  position: relative;
  max-height: 300px;
  overflow: auto;
  -webkit-overflow-scrolling: touch;
  will-change: scroll-position;
}
.choices__list--dropdown .choices__item {
  position: relative;
  padding: 10px;
  font-size: 14px;
}
[dir=rtl] .choices__list--dropdown .choices__item {
  text-align: right;
}
@media (min-width: 640px) {
  .choices__list--dropdown .choices__item--selectable {
    padding-right: 100px;
  }
  .choices__list--dropdown .choices__item--selectable:after {
    content: attr(data-select-text);
    font-size: 12px;
    opacity: 0;
    position: absolute;
    right: 10px;
    top: 50%;
    transform: translateY(-50%);
  }
  [dir=rtl] .choices__list--dropdown .choices__item--selectable {
    text-align: right;
    padding-left: 100px;
    padding-right: 10px;
  }
  [dir=rtl] .choices__list--dropdown .choices__item--selectable:after {
    right: auto;
    left: 10px;
  }
}
.choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: #f2f2f2;
}
.choices__list--dropdown .choices__item--selectable.is-highlighted:after {
  opacity: 0.5;
}

.choices__item {
  cursor: default;
}

.choices__item--selectable {
  cursor: pointer;
}

.choices__item--disabled {
  cursor: not-allowed;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  opacity: 0.5;
}

.choices__heading {
  font-weight: 600;
  font-size: 12px;
  padding: 10px;
  border-bottom: 1px solid #f7f7f7;
  color: gray;
}

.choices__button {
  text-indent: -9999px;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  border: 0;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  cursor: pointer;
}
.choices__button:focus {
  outline: none;
}

.choices__input {
  display: inline-block;
  vertical-align: baseline;
  background-color: #f9f9f9;
  font-size: 14px;
  margin-bottom: 5px;
  border: 0;
  border-radius: 0;
  max-width: 100%;
  padding: 4px 0 4px 2px;
}
.choices__input:focus {
  outline: 0;
}
[dir=rtl] .choices__input {
  padding-right: 2px;
  padding-left: 0;
}

.choices__placeholder {
  opacity: 0.5;
}

/*=====  End of Choices  ======*/
/**
 * Config
 */
/**
 * ----------------------
 * Un.titled
 * Config - Layout
 * ----------------------
 */
/**
 * Page
 */
/**
 * Breakpoints
 */
/**
 * ----------------------
 * Un.titled
 * Config - Typography
 * ----------------------
 */
/**
 * Font family
 */
@font-face {
  font-family: "calibri_regular";
  src: url("../font/calibri.woff") format("woff"), url("../font/calibri-regular.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "calibri_bold";
  src: url("../font/Calibri-Bold.woff") format("woff"), url("../font/Calibri-Bold.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "lato_regular";
  src: url("../font/lato-regular.woff") format("woff"), url("../font/lato-regular-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "lato_black";
  src: url("../font/Lato-Black.woff") format("woff"), url("../font/Lato-Black.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "lato_bold";
  src: url("../font/lato-bold.woff") format("woff"), url("../font/Lato-Bold.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}
/**
 * Font Scale
 * Set a ratio from mobile up to container width.
 * All units must be of the same type.
 * https://www.modularscale.com/
 */
/**
 * Font Size
 */
/**
 * Line height
 */
/**
 * Custom fonts
 */
/**
 * ----------------------
 * Un.titled
 * Config - Vars
 * ----------------------
 */
/**
 * Helpers
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Animation
 * ----------------------
 */
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
/**
 * ----------------------
 * Un.titled
 * Helpers - Focus Visible
 * ----------------------
 */
/**
 * Focus Visible
 * https://github.com/WICG/focus-visible
 * Override base focus styles for mouse and touch interactions
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Font Smoothing
 * ----------------------
 */
/** 
 * Font Smoothing
 * Enables font smoothing for capable browsers.
 * Optionally force font-smoothing on non-retina devices.
 * @param {boolean} $force [false]
 * @return {string}
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Global mixins
 * ----------------------
 */
/*
 * ----------------------
 * Un.titled
 * Helpers - Size
 * ----------------------
 */
/**
 * Size
 * Easily convert fixed size values to relative ones.
 * Enables units to scale with root font size.
 * @param {string} $size
 * @param {string} $unit [rem]
 * @param {number} $base-font-size [100%]
 * @return {number}
 */
/**
 * ----------------------
 * Un.titled
 * Helpers - Table
 * ----------------------
 */
/**
 * Responsive Table
 * Creates a responsive table
 * Accepts a list of headers to replace main 
 * table headers on mobile.
 * @param {map} $headers
 * @return {string}
 */
/**
 * Base
 */
/**
 * ----------------------
 * Un.titled
 * Base - Defaults
 * ----------------------
 */
.grid {
  max-width: 1480px;
}

.container-full > .grid {
  max-width: none;
}

ul.menu,
ul.plain {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.menu li,
ul.plain li {
  list-style: none;
  margin: 0;
  padding: 0;
}
ul.menu li.submenu-active,
ul.plain li.submenu-active {
  display: block;
}
ul.menu li.submenu-active .level-2,
ul.plain li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}

img {
  backface-visibility: hidden;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
img.lazy {
  opacity: 0;
}
img.loaded {
  opacity: 1;
}

.svg,
svg {
  transition: all 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}

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

.screen-readers {
  text-align: left;
  text-indent: -9999px;
  display: block;
  height: 0;
}

.video-container,
.media-vimeo-video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 25px;
  height: 0;
}
.video-container iframe,
.media-vimeo-video iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.media-soundcloud-audio iframe {
  width: 100%;
  max-height: 150px;
}

/**
 * ----------------------
 * Un.titled
 * Base - Typography
 * ----------------------
 */
/**
 * Config
 */
/**
 * Heading
 */
h1,
.h1 {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  line-height: 84px;
  font-size: 72px;
}
h1::after,
.h1::after {
  content: ".";
  display: inline-block;
  color: #e8607c;
  position: absolute;
}
@media (max-width: 991px) {
  h1,
.h1 {
    font-size: 29px;
    line-height: 39px;
  }
}
h1.featured-dot::after,
.h1.featured-dot::after {
  display: none;
}

h2,
.h2 {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: clamp(18px, 5vw, 47px);
  line-height: clamp(28px, 5vw, 57px);
}
h2::after,
.h2::after {
  content: ".";
  display: inline-block;
  color: #e8607c;
  position: absolute;
}
h2.featured-dot::after,
.h2.featured-dot::after {
  display: none !important;
}
@media (max-width: 991px) {
  h2.featured-title,
.h2.featured-title {
    font-size: 29px;
    line-height: 29px;
  }
}

h3 {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: clamp(18px, 5vw, 29px);
  line-height: clamp(28px, 5vw, 39px);
}

.h3 {
  font-family: "calibri_regular";
  font-style: normal;
  font-weight: 100;
  font-size: clamp(18px, 5vw, 29px);
  line-height: clamp(28px, 5vw, 39px);
}
.h3 a {
  font-family: "calibri_regular";
  font-style: normal;
  font-weight: 100;
  font-size: clamp(18px, 5vw, 29px);
  line-height: clamp(28px, 5vw, 39px);
}

h4,
.h4 {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 18px;
  line-height: 28px;
}

h5,
.h5,
h6,
.h6 {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 1em;
  line-height: 1.5;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  h5,
.h5,
h6,
.h6 {
    font-size: calc( 1em + 0 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  h5,
.h5,
h6,
.h6 {
    font-size: 1em;
  }
}

.h7 {
  font-size: 14px;
  font-family: "calibri_regular";
  font-style: normal;
  font-weight: 100;
  line-height: 28px;
}

/**
 * Paragraphs
 */
p {
  margin: 1.5em 0;
  letter-spacing: 0px;
  line-height: 28px;
  font-size: 18px;
}
@media (max-width: 767px) {
  p {
    letter-spacing: 0;
  }
}
p:first-of-type {
  margin-top: 0;
}
p:last-child {
  margin-bottom: 0;
}

/**
 * Lists
 */
ul,
ol {
  margin: 1.5rem 0;
  list-style-position: inside;
  padding-left: 0;
}

/**
 * Links
 */
a {
  color: inherit;
  font-weight: inherit;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
a:hover, a:focus, a:active {
  text-decoration: none;
}
a:focus {
  outline: 3px dashed currentColor;
}
.js-focus-visible a:focus:not(.focus-visible) {
  outline: 0;
}

.no-click {
  pointer-events: none;
  cursor: default;
}

::-moz-selection {
  background-color: #e8607c;
  color: #ffffff;
}

::selection {
  background-color: #e8607c;
  color: #ffffff;
}

/**
 * Buttons
 */
button:focus {
  outline: 3px dashed currentColor;
}
.js-focus-visible button:focus:not(.focus-visible) {
  outline: 0;
}

/**
 * Inline
 */
strong {
  font-weight: bold;
}

em {
  font-style: italic;
}

span {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: inherit;
}

address {
  font-family: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  font-size: inherit;
  font-style: normal;
}

small {
  font-size: 90%;
  display: block;
}

hr {
  border: solid #000000;
  border-width: 0 0 3px 0;
  margin: 1.5rem 0;
}

/**
 * ----------------------
 * Un.titled
 * Base - Drupal 8 specific
 * ----------------------
 */
.pager {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
  flex-wrap: wrap;
}
.pager li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.pager li.submenu-active {
  display: block;
}
.pager li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}
@media (max-width: 767px) {
  .pager {
    margin-top: 20px;
  }
}
.pager li {
  display: inline-block;
}
.pager li a {
  display: block;
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  padding: 0 10px 0 5px;
  border-right: 2px solid #000000;
  line-height: 1;
  color: #002440;
}
.pager li a:hover {
  color: #e8607c;
  text-decoration: none;
}
.pager li:last-child a {
  border-right: 0;
  padding-right: 5px;
}
.pager li.is-active a {
  color: #e8607c;
  text-decoration: none;
}

.admin-functions {
  position: sticky;
  top: 0;
  width: 100%;
  background-color: #000000;
  max-width: 100%;
  z-index: 31;
}
.user-logged-in .admin-functions {
  top: 39px;
}
.toolbar-tray-open .admin-functions {
  top: 79px;
}
.admin-functions [class*=col-] {
  padding: 0 20px;
}
.admin-functions ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  margin: 0;
  padding: 0;
}
.admin-functions ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-functions ul li.submenu-active {
  display: block;
}
.admin-functions ul li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}
.admin-functions ul li {
  margin-right: 40px;
  display: inline-block;
}
.admin-functions ul li a {
  color: #ffffff;
}
.admin-functions ul li a:hover {
  color: #e8607c;
  text-decoration: none;
}

.visually-hidden {
  position: absolute !important;
  clip: rect(1px, 1px, 1px, 1px);
  overflow: hidden;
  height: 1px;
  width: 1px;
  word-wrap: normal;
}

a.skip-main {
  left: -999px;
  position: absolute;
  top: auto;
  width: 1px;
  height: 1px;
  overflow: hidden;
  z-index: -999;
}

a.skip-main:focus,
a.skip-main:active {
  font-weight: 600;
  color: #ffffff;
  background-color: #000000;
  left: auto;
  top: auto;
  width: 30%;
  height: auto;
  overflow: auto;
  margin: 10px 35%;
  padding: 5px;
  text-align: center;
  font-size: 1.2em;
  z-index: 999;
}

.ajax-progress-throbber {
  display: none;
}

/**
 * ----------------------
 * Un.titled
 * Base - Icon
 * ----------------------
 */
/**
 * Config
 */
/**
 * Styling
 */
.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
}
.icon svg {
  display: block;
  width: inherit;
  height: inherit;
}
.icon path,
.icon g {
  fill: inherit;
}
.icon--stroke path,
.icon--stroke g {
  fill: none;
  stroke: inherit;
}

/**
 * ----------------------
 * Un.titled
 * Base - Main
 * ----------------------
 */
/**
 * Styles
 */
html {
  font-size: 18px;
  box-sizing: border-box;
}

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

body {
  -moz-font-smoothing: grayscale;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  font-family: "calibri_regular";
  line-height: 1.5;
  letter-spacing: normal;
  display: flex;
  flex-direction: column;
  font-size: 1em;
  letter-spacing: 1px;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  body {
    font-size: calc( 1em + 0 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  body {
    font-size: 1em;
  }
}

[class*=col-]:not(.col-bleed) {
  padding: 20px;
}
@media (max-width: 767px) {
  [class*=col-]:not(.col-bleed) {
    padding: 20px 8px;
  }
}
[class*=col-]:not(.col-bleed) .grid {
  margin: -20px;
}
@media (max-width: 767px) {
  [class*=col-]:not(.col-bleed) .grid {
    margin: -8px;
  }
}

/**
 * Atoms
 */
/**
 * ----------------------
 * Un.titled
 * Atoms - Nav Toggle
 * ----------------------
 */
/**
 * Config
 */
/**
 * Styles
 */
.a-nav-toggle {
  border: 0;
  padding: 0;
  background-color: transparent;
  width: 40px;
  height: 14px;
  position: relative;
  display: none;
  outline: none;
  margin-right: 20px;
  top: -3px;
}
[data-nav=open] .a-nav-toggle {
  top: 4px;
}
@media (max-width: 991px) {
  .a-nav-toggle {
    display: block;
  }
}
.a-nav-toggle:hover, .a-nav-toggle:focus {
  outline: none;
}
.a-nav-toggle__line {
  display: block;
  background: #33A2B3;
  width: 34px;
  height: 2px;
  position: absolute;
  left: 0;
  border-radius: 2px;
  transition: 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
.a-nav-toggle__line-1 {
  top: 0;
}
:hover > .a-nav-toggle__line-1 {
  transform: translateY(-2px);
}
[data-nav=open] .a-nav-toggle__line-1 {
  transform: translateY(3px) translateX(0) rotate(45deg);
}
.a-nav-toggle__line-2 {
  top: 50%;
}
[data-nav=open] .a-nav-toggle__line-2 {
  opacity: 0;
}
.a-nav-toggle__line-3 {
  top: 100%;
}
:hover > .a-nav-toggle__line-3 {
  transform: translateY(2px);
}
[data-nav=open] .a-nav-toggle__line-3 {
  transform: translateY(-11.5px) translateX(0) rotate(-45deg);
}

.a-nav-toggle__wrapper {
  min-height: 30px;
  background-color: transparent;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Buttons
 * ----------------------
 */
/**
 * Config
 **/
/**
 * Styles
 **/
.a-btn {
  padding: 5px 9px;
  font-family: "lato_bold";
  font-weight: bold;
  letter-spacing: 0;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #000000;
  color: #002440;
  transition: 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  position: relative;
  overflow: hidden;
  height: auto;
  white-space: nowrap;
}
.a-btn::before, .a-btn::after {
  content: attr(data-hover);
  display: block;
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  padding: inherit;
}
.a-btn::after {
  background-color: #ffffff;
  color: #002440;
  transform: translateY(100%);
}
.a-btn::before {
  background-color: #002440;
  color: #ffffff;
  transform: translateY(0);
}
.a-btn:hover {
  background-color: #ffffff;
  color: #002440;
  text-decoration: none;
}
.a-btn:hover::before {
  transform: translateY(-100%);
}
.a-btn:hover::after {
  transform: translateY(0);
}
.a-btn--more::before {
  background-image: url("../icon/icon-book--white.svg");
}
.a-btn--more::after {
  background-image: url("../icon/icon-book.svg");
}
.a-btn--book {
  background-color: #ffffff;
}
.a-btn--book::before {
  background-image: url("../icon/icon-calendar.svg");
  background-color: #ffffff;
  color: #002440;
}
.a-btn--book::after {
  background-image: url("../icon/icon-calendar--white.svg");
  background-color: #002440;
  color: #ffffff;
}
.a-btn--icon {
  padding-right: 40px;
}
.a-btn--icon::before, .a-btn--icon::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: calc(100% - 10px) center;
  padding-right: inherit;
}
.a-btn--nomarg {
  margin-bottom: 0;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Image credits
 * ----------------------
 */
.a-image-credit {
  font-family: "calibri_bold";
  font-style: normal;
  font-weight: bold;
  position: absolute;
  bottom: 0;
  left: 40px;
  z-index: 4;
  background-color: #ffffff;
  padding: 2px 7px;
  font-size: 0.8em;
  max-width: calc(100% - 80px);
  letter-spacing: 0;
}
@media (max-width: 767px) {
  .a-image-credit {
    left: 20px;
    max-width: calc(100% - 40px);
  }
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Wrapper
 * ----------------------
 */
/**
 * Styling
 */
.wrapper--main {
  flex: 1 0 auto;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Container
 * ----------------------
 */
/**
 * Styling
 */
.a-container--wide {
  margin: 0 40px;
  background-color: #37ACBE;
}
.ct__page .a-container--wide, .ct__event .a-container--wide, .ct__news-article .a-container--wide, .ct__project .a-container--wide {
  background-color: #fdeec2;
}
@media (max-width: 1849px) {
  .a-container--wide {
    margin: 0 20px;
  }
}
@media (max-width: 1849px) {
  .a-container--wide {
    margin: 0;
  }
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Breadcrumbs
 * ----------------------
 */
/**
 * Styling
 */
.a-breadcrumb {
  margin-bottom: 12px;
}
.a-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
}
.a-breadcrumb ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.a-breadcrumb ol li.submenu-active {
  display: block;
}
.a-breadcrumb ol li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}
.a-breadcrumb ol li {
  margin-right: 10px;
  padding-right: 10px;
  font-size: 14px;
  font-family: "lato_regular";
  position: relative;
  display: flex;
  align-items: center;
}
.a-breadcrumb ol li::after {
  content: " ";
  height: 14px;
  background-color: #000000;
  position: absolute;
  width: 1px;
  justify-content: center;
  right: 0;
}
.a-breadcrumb ol li:last-child {
  border: 0;
  padding-right: 0;
  margin-right: 0;
}
.a-breadcrumb ol li:last-child::after {
  display: none;
}
.a-breadcrumb ol a {
  font-size: 14px;
  font-family: "lato_regular";
  text-decoration: none;
}
.a-breadcrumb ol a:hover, .a-breadcrumb ol a:focus, .a-breadcrumb ol a:active {
  text-decoration: underline;
}

.a-news-meta {
  font-family: "calibri_bold";
  font-size: 14px;
  line-height: 14px;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Title
 * ----------------------
 */
/**
 * Styling
 */
.a-title {
  display: inline-block;
}
.a-title--nomarg {
  margin: 0;
}
h1,
h2, h3 {
  color: #002440;
}
/**
 * ----------------------
 * Un.titled
 * Atoms - Social links
 * ----------------------
 */
/**
 * Styling
 */
.a-social-links {
  display: flex;
  align-items: center;
  margin-top: 13.3333333333px;
}
@media (max-width: 991px) {
  .a-social-links {
    justify-content: center;
    gap: 4px;
  }
}
.a-social-links__link {
  margin-right: 20px;
  height: 50px;
  width: 50px;
  border-radius: 50%;
  display: block;
}
.a-social-links__link:last-child {
  margin-right: 0;
}
.a-social-links__link rect {
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  fill: #37ACBE;
}
.a-social-links__link:hover rect {
  fill: #ffffff;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Grid
 * ----------------------
 */
/**
 * Styling
 */
.a-grid {
  display: grid;
  gap: 13.3333333333px;
}
.a-grid--1 {
  grid-template-columns: 1fr;
}
.a-grid--2 {
  grid-template-columns: 1fr 1fr;
  gap: 26.6666666667px;
}
@media (max-width: 767px) {
  .a-grid--2 {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.a-grid--3 {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 26.6666666667px;
}
@media (max-width: 767px) {
  .a-grid--3 {
    grid-template-columns: 1fr;
  }
}
.a-grid--4 {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 10px;
}
@media (max-width: 575px) {
  .a-grid--4 {
    grid-template-columns: 1fr 1fr;
  }
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Illustrations
 * ----------------------
 */
.a-illustration img {
  max-width: 100%;
  height: auto;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Search suggestions
 * ----------------------
 */
.a-search-suggestions {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-wrap: wrap;
}
.a-search-suggestions a {
  margin: 0 5px 20px;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Person filters
 * ----------------------
 */
/**
 * Styling
 */
.a-person-filters {
  margin-right: 20px;
  align-items: stretch;
  margin-bottom: 13.3333333333px;
  height: 40px;
  display: flex;
  overflow: hidden;
}
.a-person-filters a.a-btn {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  height: 40px;
  width: 36px;
  margin-right: 5px;
  font-family: "lato_black";
}
.a-person-filters a.a-btn:last-child {
  margin-right: 0;
}
.a-person-filters a.a-btn::before, .a-person-filters a.a-btn::after {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Video play/pause
 * ----------------------
 */
.a-video-control {
  position: relative;
  z-index: 5;
  font-family: "lato_bold";
  font-weight: bold;
  letter-spacing: 0;
  color: #ffffff;
  display: inline-block;
  background-color: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 15px;
  background-position: right center;
  padding: 5px 26.6666666667px;
  margin-bottom: 22px;
}
.a-video-control::before {
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
.a-video-control--play {
  background-image: url("../icon/icon-triangle.svg");
}
.a-video-control--play:hover {
  background-image: url("../icon/icon-triangle--red.svg");
  color: #e8607c;
}
.a-video-control--play::before {
  content: "Play";
}
.a-video-control--pause {
  background-image: url("../icon/icon-pause.svg");
}
.a-video-control--pause:hover {
  background-image: url("../icon/icon-pause--red.svg");
  color: #e8607c;
}
.a-video-control--pause::before {
  content: "Pause";
}

.slider {
  padding: 0;
  list-style: none;
  position: relative;
  max-width: 100%;
  margin: 0 auto;
  display: grid;
  overflow: hidden;
  grid-template-columns: 45px 1fr 45px;
}
@media (max-width: 767px) {
  .slider {
    margin-top: 3px;
  }
}
.slider .draggable {
  position: initial;
  width: 100%;
  overflow: hidden;
  height: 58px;
}
@media (max-width: 767px) {
  .slider .draggable {
    height: unset;
  }
}
.slider .draggable .slick-track {
  display: flex;
  width: unset !important;
  position: absolute;
  overflow: hidden;
}
.slider .draggable .slick-track a {
  width: 36px !important;
  height: 37px;
}
.slider .draggable .slick-track .slick-slide {
  width: 40px !important;
}
.slider button {
  background-color: transparent;
}
.slider button.slick-prev {
  text-indent: -99999px;
  background: url(/themes/pippip/assets/icon/Left-arrow.svg), #cdeaee;
  z-index: 3;
  background-repeat: no-repeat;
  background-position: center center;
  position: initial;
}
@media (max-width: 767px) {
  .slider button.slick-prev {
    background: url(/themes/pippip/assets/icon/Left-arrow.svg), #37ACBE;
    background-repeat: no-repeat;
    background-position: center center;
  }
}
.slider button.slick-next {
  background: url(/themes/pippip/assets/icon/icon-triangle-navy-icon-triangle.svg), #cdeaee;
  background-repeat: no-repeat;
  z-index: 3;
  background-position: center center;
  text-indent: -99999px;
  position: initial;
}
@media (max-width: 767px) {
  .slider button.slick-next {
    background: url(/themes/pippip/assets/icon/icon-triangle-navy-icon-triangle.svg), #37ACBE;
    background-repeat: no-repeat;
    background-position: center center;
  }
}

/**
 * Molecules
 */
/**
 * ----------------------
 * Un.titled
 * Molecules - Emergency Message
 * ----------------------
 */
/**
 * Config
 **/
@keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  80% {
    transform: scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
/**
 * Styling
 **/
.m-emmsg {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  background-color: #000000;
  z-index: 100;
  color: #ffffff;
  padding: 20px 0;
  max-height: 30vh;
  border-top: 1px solid #ffffff;
}
.m-emmsg[data-state=visible] {
  opacity: 0;
  transform: translateY(100%);
  animation: slideInUp 0.2s 0.3s cubic-bezier(0.77, 0.29, 0.35, 0.72) 1 forwards;
}
.m-emmsg[data-state=hidden] {
  opacity: 0;
  display: none;
}
@media (max-width: 767px) {
  .m-emmsg {
    overflow: scroll;
  }
}
@media (max-width: 575px) {
  .m-emmsg {
    padding: 0;
  }
}
.m-emmsg h2 {
  margin-bottom: 0;
  width: 90%;
}
.m-emmsg__close {
  position: absolute;
  top: 20px;
  right: 20px;
  height: 40px;
  width: 40px;
}
.m-emmsg__close path {
  fill: #ffffff;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
.m-emmsg__close:hover path {
  fill: #e8607c;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Entities
 * ----------------------
 */
.m-entity {
  margin: 60px auto;
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Entity views
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Quotes
   * ----------------------
   */
  /**
   * Config
   */
  /**
   * Styles
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Accordions
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Gallery
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Linked logos
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Downloads
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image & Text
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Resolurces
   * ----------------------
   */
}
.m-entity__project-tags > a {
  margin-right: 8px;
  margin-bottom: 8px;
}
@media (max-width: 767px) {
  .m-entity {
    margin: 0 auto;
  }
}
.m-entity h3 {
  color: #002440;
}
@media (max-width: 767px) {
  .m-entity {
    margin: 40px auto;
  }
}
@media (max-width: 575px) {
  .m-entity {
    margin: 20px auto;
  }
}
.m-entity--nob {
  margin-bottom: 0;
}
.m-entity__content {
  margin-top: 120px;
}
@media (max-width: 767px) {
  .m-entity__content {
    margin-top: 0;
  }
}
.m-entity ul {
  margin-left: 15px;
}
.m-entity ul li {
  position: relative;
}
.m-entity ul li::marker {
  content: "";
  display: none;
}
@media (max-width: 991px) {
  .m-entity ul li::marker {
    content: "";
    display: none;
  }
}
.m-entity ul li.pager__item--last {
  display: none;
}
.m-entity ul li.pager__item--first {
  display: none;
}
.m-entity ul li.pager__item--next a {
  border-right: 0;
}
.m-entity ul li::before {
  content: "";
  border-radius: 50%;
  height: 7px;
  width: 7px;
  display: block;
  position: absolute;
  left: -15px;
  top: 10px;
  background-color: black;
}
.m-entity .pager ul {
  margin-left: 15px;
}
.m-entity .pager ul li.pager__item--next a {
  display: unset;
}
.m-entity .pager ul li.pager__item--next a span:after {
  content: "";
  background-image: url("/themes/pippip/assets/icon/icon-triangle-navy-icon-triangle.svg");
  height: 20px;
  width: 20px;
  display: inline-flex;
  background-repeat: no-repeat;
  position: relative;
  left: 8px;
  top: 6px;
}
.m-entity .pager ul li.pager__item--previous a {
  display: unset;
}
.m-entity .pager ul li.pager__item--previous a span:before {
  content: "";
  background-image: url("/themes/pippip/assets/icon/Left-arrow.svg");
  height: 20px;
  width: 20px;
  display: inline-flex;
  background-repeat: no-repeat;
  position: relative;
  top: 6px;
}
.m-entity .pager ul li::marker {
  content: "";
  display: none;
}
@media (max-width: 991px) {
  .m-entity .pager ul li::marker {
    content: "";
    display: none;
  }
}
.m-entity .pager ul li::before {
  content: "";
  display: none;
}
.m-entity ol {
  margin-left: 15px;
}
.m-entity ol li {
  list-style: decimal;
}
.m-entity ol li::before {
  display: none;
}
.m-entity img {
  width: 100%;
  height: auto;
  display: block;
}
.m-entity__video h3, .m-entity__text h3 {
  color: #002440;
}
.m-entity__embed h3 {
  color: #002440;
}
.m-entity__embed iframe {
  width: 100%;
}
.m-entity__image-wrapper {
  position: relative;
}
.m-entity__image h3 {
  color: #002440;
}
.m-entity__audio h3 {
  color: #002440;
}
.m-entity__view:first-child {
  margin-top: 0;
}
.m-entity__view:last-child {
  margin-bottom: 0;
}
.m-entity__quote blockquote {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  margin: 0;
  padding: 0 0 20px;
  font-size: 1.25em;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-entity__quote blockquote {
    font-size: calc( 1.25em + 0.368 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-entity__quote blockquote {
    font-size: 1.618em;
  }
}
@media (max-width: 767px) {
  .m-entity__quote blockquote {
    font-size: 25px;
    line-height: 35px;
  }
}
.m-entity__quote blockquote footer {
  display: flex;
  align-items: center;
}
.m-entity__quote blockquote p {
  margin-bottom: 0;
  font-size: 29px;
  line-height: 39px;
  font-family: "lato_bold";
}
@media (max-width: 767px) {
  .m-entity__quote blockquote p {
    font-size: 18px;
    line-height: 28px;
  }
}
.m-entity__quote blockquote p:first-child::before {
  content: "“";
  color: #e8607c;
}
.m-entity__quote blockquote p:last-child::after {
  content: ".”";
  color: #e8607c;
}
.m-entity__quote-info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.m-entity__quote cite {
  font-family: "lato_black";
  font-style: normal;
}
.m-entity__quote cite .name {
  font-weight: 600;
}
.m-entity__quote .rating {
  display: inline-flex;
  margin-right: 20px;
}
.m-entity__quote .rating__star {
  width: 24px;
  height: 24px;
  margin-right: 5px;
  stroke: #e8607c;
}
.m-entity__quote .rating__star:last-child {
  margin-right: 0;
}
.m-entity__quote .rating--1 .rating__star:nth-child(-n+1) path {
  fill: #e8607c;
  stroke: #e8607c;
}
.m-entity__quote .rating--2 .rating__star:nth-child(-n+2) path {
  fill: #e8607c;
  stroke: #e8607c;
}
.m-entity__quote .rating--3 .rating__star:nth-child(-n+3) path {
  fill: #e8607c;
  stroke: #e8607c;
}
.m-entity__quote .rating--4 .rating__star:nth-child(-n+4) path {
  fill: #e8607c;
  stroke: #e8607c;
}
.m-entity__quote .rating--5 .rating__star:nth-child(-n+5) path {
  fill: #e8607c;
  stroke: #e8607c;
}
.m-entity__accordion {
  /* title opened */
  /* title closed */
}
.m-entity__accordion h3 {
  color: #002440;
}
.m-entity__accordion .accordion {
  border: 1px solid #000000;
  border-top: 0;
}
.m-entity__accordion .accordion__header {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 1.25em;
  display: flex;
  width: 100%;
  border: 0;
  background-color: transparent;
  -moz-text-align-last: left;
       text-align-last: left;
  text-align: left;
  justify-content: space-between;
  align-items: center;
  padding: 25px 23.9520958084px;
  border-top: 1px solid #000000;
  margin: 0;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-entity__accordion .accordion__header {
    font-size: calc( 1.25em + 0.368 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-entity__accordion .accordion__header {
    font-size: 1.618em;
  }
}
.m-entity__accordion .accordion__header::after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: 20px;
  width: 20px;
}
.m-entity__accordion .accordion__header:focus, .m-entity__accordion .accordion__header[aria-expanded=true] {
  font-weight: 600;
  outline: none;
}
.m-entity__accordion .accordion__header:focus {
  outline: 3px dashed currentColor;
}
.m-entity__accordion .accordion__title {
  margin: 0;
  color: #002440;
}
.m-entity__accordion .js-accordion__panel {
  display: none;
}
.m-entity__accordion .accordion__panel {
  display: block;
  overflow: hidden;
  opacity: 1;
  transition: visibility 0s ease, max-height 0.2s ease, opacity 0.2s ease;
  max-height: 100em;
  visibility: visible;
  transition-delay: 0s;
  padding: 0 20px;
}
.m-entity__accordion .accordion__panel[aria-hidden=true] {
  display: block;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition-delay: 0.2s, 0s, 0s;
}
.m-entity__accordion .accordion__panel p:last-child {
  margin-bottom: 20px;
}
.m-entity__accordion [aria-expanded=true]:after {
  background-image: url("/themes/pippip/dist/img/icon-arrow-down navy-icon-arrow-down.svg");
  transform: rotate(0deg);
}
.m-entity__accordion [aria-expanded=false]:after {
  background-image: url("/themes/pippip/dist/img/icon-arrow-down navy-icon-arrow-down.svg");
  transform: rotate(90deg);
}
.m-entity__gallery h3 {
  color: #002440;
}
.m-entity__gallery a:hover {
  opacity: 0.7;
}
.m-entity__gallery img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-entity__linked-logos h3 {
  color: #002440;
}
.m-entity__linked-logos .logos {
  display: flex;
  flex-wrap: wrap;
}
.m-entity__linked-logos a {
  display: block;
  margin-right: 20px;
}
.m-entity__linked-logos a:hover {
  opacity: 0.7;
}
.m-entity__linked-logos img {
  width: auto;
  height: 80px;
  vertical-align: top;
}
.m-entity__downloads h3 {
  color: #002440;
}
.m-entity__downloads .file {
  background-image: none;
  padding-left: 0;
}
.m-entity__downloads a {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px;
  background-image: url("../icon/icon-download.svg");
  background-position: right center;
  padding-right: 26.6666666667px;
  text-decoration: none;
}
.m-entity__downloads a:hover, .m-entity__downloads a:focus, .m-entity__downloads a:active {
  text-decoration: underline;
}
.m-entity__image-text {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: 26.6666666667px;
  align-items: center;
}
.m-entity__image-text h3 {
  color: #002440;
}
@media (max-width: 991px) {
  .m-entity__image-text {
    grid-template-columns: 1fr;
    gap: 20px;
  }
}
.m-entity__resources {
  list-style: none;
  margin: 0;
  padding: 0;
  margin-top: -40px;
}
.m-entity__resources li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.m-entity__resources li.submenu-active {
  display: block;
}
.m-entity__resources li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}
@media (max-width: 767px) {
  .m-entity__resources {
    margin-top: -20px;
  }
}
.m-entity__resources li {
  margin-bottom: 5px;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Forms
 * ----------------------
 */
input,
input[type=text],
input[type=password],
input[type=email],
input[type=submit],
textarea,
select {
  font-family: "calibri_regular";
  font-style: normal;
  font-weight: 100;
  color: #000000;
  resize: none;
  padding: 20px 40px;
  -webkit-border-radius: 0px;
  border-radius: 0;
  outline: 0;
  border: 1px solid #000000;
  transition: all 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  background-color: #ffffff;
}

input[type=search],
input[type=text],
input[type=submit] {
  -webkit-appearance: none;
}

.form-actions input,
input[type=submit] {
  cursor: pointer;
}

button {
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 0;
}

[type=checkbox]:checked,
[type=checkbox]:not(:checked) {
  position: absolute;
  left: -9999px;
}

[type=checkbox]:checked + label,
[type=checkbox]:not(:checked) + label {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
}

[type=checkbox]:checked + label:before,
[type=checkbox]:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border-radius: 3px;
  background-color: #ffffff;
  border: 2px solid #000000;
}

[type=checkbox]:checked + label:after,
[type=checkbox]:not(:checked) + label:after {
  content: "✔ ";
  color: #000000;
  position: absolute;
  top: 1px;
  left: 3.5px;
  transition: all 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}

[type=checkbox]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}

[type=checkbox]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}

[type=radio]:checked,
[type=radio]:not(:checked) {
  position: absolute;
  left: -9999px;
}

[type=radio]:checked + label,
[type=radio]:not(:checked) + label {
  position: relative;
  padding-left: 28px;
  cursor: pointer;
  line-height: 20px;
  display: inline-block;
  color: #000000;
}

[type=radio]:checked + label:before,
[type=radio]:not(:checked) + label:before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 20px;
  height: 20px;
  border: 2px solid #000000;
  border-radius: 100%;
  background-color: #ffffff;
}

[type=radio]:checked + label:after,
[type=radio]:not(:checked) + label:after {
  content: "";
  width: 12px;
  height: 12px;
  background: #000000;
  position: absolute;
  top: 4px;
  left: 4px;
  border-radius: 100%;
  transition: all 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}

[type=radio]:not(:checked) + label:after {
  opacity: 0;
  transform: scale(0);
}

[type=radio]:checked + label:after {
  opacity: 1;
  transform: scale(1);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Main nav
 * ----------------------
 */
/**
 * Config
 */
@keyframes slideIn {
  0% {
    transform: translateX(-10%) rotateY(90deg);
    filter: blur(1px);
  }
  100% {
    transform: translateX(0) rotateY(0);
    filter: blur(0);
  }
}
@keyframes slideOut {
  0% {
    transform: translateX(0) rotateY(0);
    filter: blur(0);
  }
  100% {
    transform: translateX(-10%) rotateY(90deg);
    filter: blur(1px);
  }
}
/**
 * Styles
 */
.m-main-nav ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.m-main-nav ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.m-main-nav ul li.submenu-active {
  display: block;
}
.m-main-nav ul li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}
@media (max-width: 991px) {
  .m-main-nav ul {
    transform: rotateY(90deg);
    filter: blur(1px);
    transform-origin: 0 50%;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    top: 69px;
    left: 0;
    z-index: 20;
    width: 100%;
    background-color: transparent;
  }
}
@media (max-width: 767px) {
  .m-main-nav ul {
    transform: rotateY(90deg);
    filter: blur(1px);
    transform-origin: 0 50%;
    flex-direction: column;
    align-items: flex-start;
    position: absolute;
    top: 47px;
    left: 0;
    z-index: 20;
    width: 100%;
    background-color: transparent;
  }
}
[data-nav=open] .m-main-nav ul {
  animation: slideIn 0.15s cubic-bezier(0.3, 0.65, 0.72, 0.63) forwards;
}
[data-nav=closed] .m-main-nav ul {
  animation: slideOut 0.15s cubic-bezier(0.3, 0.65, 0.72, 0.63) forwards;
}
@media (max-width: 991px) {
  .m-main-nav ul li {
    display: block;
    overflow: hidden;
    width: 100%;
  }
  .touch .m-main-nav ul li li:hover .level {
    max-height: 1000px;
  }
}
.m-main-nav ul li.expanded .open-icon {
  display: none;
}
.m-main-nav ul li.expanded .close-icon {
  display: block;
  content: "";
  background-image: url("../img/icon-triangle-down.svg");
  height: 20px;
  width: 20px;
  background-repeat: no-repeat;
  background-position: 50%;
  background-size: 7px;
}
.m-main-nav ul.level .level {
  left: -10000px;
  opacity: 0;
  transition: opacity 0.2s;
  visibility: hidden;
}
@media (max-width: 991px) {
  .m-main-nav ul.level .level {
    position: static;
    transition: height 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
    height: 0;
    opacity: 1;
    visibility: visible;
  }
}
.nav-no-touch .m-main-nav ul.level > li:hover > .level, .m-main-nav ul.level > li:focus > .level {
  left: 0;
  opacity: 1;
  visibility: visible;
}
.nav-no-touch .m-main-nav ul.level > li:hover > a, .m-main-nav ul.level > li:focus > a {
  text-decoration: none;
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(1).menu-item--active-trail > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(4).menu-item--active-trail > a {
  background-color: #002440;
  color: #ffffff;
  background-image: url("../img/Arrow-white.svg");
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(1).menu-item--active-trail > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(4).menu-item--active-trail > a {
    background-image: none;
  }
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(1):hover > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(4):hover > a {
  background-color: #002440;
  color: #ffffff;
  background-image: url("../img/Arrow-white.svg");
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(1):hover > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(4):hover > a {
    background-image: none;
  }
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(2).menu-item--active-trail > a {
  background-image: url("../img/Arrow-black.svg");
  background-color: #dc4166;
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(2).menu-item--active-trail > a {
    background-color: none;
    background-image: none;
  }
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(2):hover > a {
  background-image: url("../img/Arrow-black.svg");
  background-color: #dc4166;
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(2):hover > a {
    background-color: none;
    background-image: none;
  }
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(3).menu-item--active-trail > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(6).menu-item--active-trail > a {
  background-image: url("../img/Arrow-black.svg");
  background-color: #37acbe;
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(3).menu-item--active-trail > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(6).menu-item--active-trail > a {
    background-color: none;
    background-image: none;
  }
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(3):hover > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(6):hover > a {
  background-image: url("../img/Arrow-black.svg");
  background-color: #37acbe;
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(3):hover > a, .nav-no-touch .m-main-nav ul.level > li:nth-child(6):hover > a {
    background-color: none;
    background-image: none;
  }
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(5).menu-item--active-trail > a {
  background-image: url("../img/Arrow-black.svg");
  background-color: #dc4166;
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(5).menu-item--active-trail > a {
    background-color: none;
    background-image: none;
  }
}
.nav-no-touch .m-main-nav ul.level > li:nth-child(5):hover > a {
  background-image: url("../img/Arrow-black.svg");
  background-color: #dc4166;
}
@media (max-width: 991px) {
  .nav-no-touch .m-main-nav ul.level > li:nth-child(5):hover > a {
    background-color: none;
    background-image: none;
  }
}
.touch .m-main-nav ul.level li:hover .level {
  max-height: 1000px;
}
@media (min-width: 992px) {
  .m-main-nav ul.level-1 > li > a {
    content: "";
    background-image: url("../img/icon-triangle-down.svg");
    height: 10px;
    width: 10px;
    background-repeat: no-repeat;
    border-bottom: 25px solid #ffffff;
    background-position: 95%;
    background-size: 7px;
  }
  .m-main-nav ul.level-1 > li > a:hover {
    background-image: url("../img/Arrow-white.svg");
    color: #ffffff;
  }
}
@media (min-width: 992px) {
  .m-main-nav ul.level-1.level-1 > li:nth-child(2) > a + .level {
    background-color: #dc4166;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(2) > a + .level .menu--overlay {
    width: 100%;
    height: 100%;
    background-color: #dc4166;
    opacity: 0.5;
    position: absolute;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(2) > a + .level a {
    color: #000000;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(2) > a:hover {
    background-color: #dc4166;
    color: #000000;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(3) > a + .level, .m-main-nav ul.level-1.level-1 > li:nth-child(6) > a + .level {
    background-color: #37acbe;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(3) > a + .level .menu--overlay, .m-main-nav ul.level-1.level-1 > li:nth-child(6) > a + .level .menu--overlay {
    width: 100%;
    height: 100%;
    background-color: #37acbe;
    opacity: 0.5;
    position: absolute;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(3) > a + .level a, .m-main-nav ul.level-1.level-1 > li:nth-child(6) > a + .level a {
    color: #000000;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(3) > a:hover, .m-main-nav ul.level-1.level-1 > li:nth-child(6) > a:hover {
    background-color: #37acbe;
    color: #000000;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(5) > a + .level {
    background-color: #dc4166;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(5) > a + .level .menu--overlay {
    width: 100%;
    height: 100%;
    background-color: #dc4166;
    opacity: 0.5;
    position: absolute;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(5) > a + .level a {
    color: #000000;
  }
  .m-main-nav ul.level-1.level-1 > li:nth-child(5) > a:hover {
    background-color: #dc4166;
    color: #000000;
  }
}
@media (max-width: 991px) {
  .m-main-nav ul.level-1 {
    background-size: 228vw;
    background-image: url("../img/Medium-Lines.svg");
    background-position: -14% 9%;
    background-color: #002440;
    padding: 13.3333333333px 0;
    background-repeat: no-repeat;
  }
}
.m-main-nav ul .level-2 {
  background-image: url("../img/Medium-Lines.svg");
  background-position: -17% 20%;
  background-size: 79vw;
  position: absolute;
  background-repeat: no-repeat;
  width: 100%;
  left: 0;
  top: 69px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  z-index: 200;
  background-color: #002440;
}
.m-main-nav ul .level-2 .menu--overlay {
  width: 100%;
  height: 100%;
  background-color: #002440;
  opacity: 0.5;
  position: absolute;
}
@media (max-width: 991px) {
  .m-main-nav ul .level-2 .menu--overlay {
    background-color: transparent;
    display: none;
  }
}
@media (max-width: 991px) {
  .m-main-nav ul .level-2 {
    width: 100%;
    background-image: none;
    background-color: transparent;
  }
}
.user-logged-in .m-main-nav ul .level-2 {
  top: 106px;
}
.toolbar-tray-open .m-main-nav ul .level-2 {
  top: 147px;
}
.m-main-nav ul .level-2 ul {
  width: 100%;
  max-width: 1480px;
  margin: 40px 0 0;
  padding: 20px;
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 20px;
  align-items: start;
}
@media (max-width: 991px) {
  .m-main-nav ul .level-2 ul {
    padding: 0;
    top: 0;
    margin: 0 0;
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.m-main-nav ul .level-2 ul a {
  padding: 0;
  color: #ffffff;
  font-size: 1.25em;
  margin-bottom: 40px;
  display: inline-block;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-main-nav ul .level-2 ul a {
    font-size: calc( 1.25em + 0.368 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-main-nav ul .level-2 ul a {
    font-size: 1.618em;
  }
}
@media (max-width: 991px) {
  .m-main-nav ul .level-2 ul a {
    margin-bottom: 0;
    font-size: 19px;
    display: flex;
    padding: 2px 18px 2px 8px;
  }
}
.m-main-nav ul .level-2 ul a.is-active, .m-main-nav ul .level-2 ul a:hover {
  background-color: #ffffff;
  color: #002440;
}
.m-main-nav ul .level-2 ul .menu-item--active-trail a {
  background-color: #ffffff;
  color: #002440;
}
.m-main-nav ul .level-3 {
  display: none;
  visibility: hidden;
}
.m-main-nav ul .sub-menu-toggler {
  display: none;
  height: 40px;
  width: 40px;
  padding: 0;
  border: none;
  background: transparent;
  font-weight: bold;
  color: #ffffff;
  font-size: 40px;
}
@media (max-width: 991px) {
  .m-main-nav ul .sub-menu-toggler {
    display: inline-grid;
    justify-content: center;
    align-items: center;
    margin-left: auto;
  }
  .m-main-nav ul .sub-menu-toggler .open-icon {
    display: inline-block;
    content: "";
    background-image: url("../img/icon-triangle-down.svg");
    height: 20px;
    width: 20px;
    background-repeat: no-repeat;
    background-position: 50%;
    background-size: 7px;
    transform: rotate(-90deg);
  }
}
.m-main-nav ul .sub-menu-toggler span {
  line-height: 33px;
  height: 40px;
  width: 40px;
}
.m-main-nav ul .sub-menu-toggler:focus, .m-main-nav ul .sub-menu-toggler:active {
  outline: none;
}
.m-main-nav ul .sub-menu-toggler .close-icon {
  display: none;
}
.m-main-nav .enu-item--active-trail > a {
  background-color: #002440;
  color: #ffffff;
  text-decoration: none;
}
@media (max-width: 991px) {
  .m-main-nav .enu-item--active-trail > a {
    background-color: rgba(255, 255, 255, 0.8);
    color: #000000;
  }
  .m-main-nav .enu-item--active-trail > a .sub-menu-toggler {
    color: #000000;
  }
}
.m-main-nav a {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 1em;
  padding: 2px 18px 2px 4px;
  text-decoration: none;
  margin-right: 13.3333333333px;
  margin-bottom: 0;
  white-space: nowrap;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-main-nav a {
    font-size: calc( 1em + 0 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-main-nav a {
    font-size: 1em;
  }
}
@media (max-width: 991px) {
  .m-main-nav a {
    margin-right: 0;
    font-size: 29px;
    font-weight: 900;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 13.3333333333px 8px;
    color: #ffffff;
  }
}
/**
 * ----------------------
 * Un.titled
 * Molecules - Banner
 * ----------------------
 */
.m-no-banner {
  padding-top: 40px;
  position: relative;
}
.m-no-banner h1.featured-text {
  font-size: 47px;
  line-height: 57px;
}
@media (max-width: 767px) {
  .m-no-banner h1.featured-text {
    font-size: 29px;
    line-height: 39px;
  }
}
@media (max-width: 767px) {
  .m-no-banner {
    padding-top: 20px;
  }
}
.m-no-banner p {
  font-size: 1.25em;
  line-height: 1.4;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-no-banner p {
    font-size: calc( 1.25em + 0.368 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-no-banner p {
    font-size: 1.618em;
  }
}
@media (max-width: 1199px) {
  .m-no-banner p {
    font-size: 1em;
  }
}
@media (max-width: 1199px) and (min-width: 20em) and (max-width: 115.5em) {
  .m-no-banner p {
    font-size: calc( 1em + 0 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (max-width: 1199px) and (min-width: 115.5em) {
  .m-no-banner p {
    font-size: 1em;
  }
}
.m-no-banner p:last-child {
  margin-bottom: 0;
}

.m-banner {
  position: relative;
  display: grid;
  grid-template-columns: 50% 50%;
  grid-template-rows: 1fr;
}
.m-banner a {
  text-decoration: none;
}
.m-banner a:hover, .m-banner a:focus, .m-banner a:active {
  text-decoration: underline;
}
.m-banner h1 {
  color: #002440;
}
.m-banner h1.featured-text {
  font-size: 47px;
  line-height: 57px;
}
@media (max-width: 767px) {
  .m-banner h1.featured-text {
    font-size: 29px;
    line-height: 39px;
  }
}
.m-banner .search-results {
  font-family: "lato_regular";
  margin-top: 2px;
}
.m-banner .search-results span {
  font-family: "lato_bold";
}
@media (max-width: 767px) {
  .m-banner {
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
}
.m-banner figure {
  overflow: hidden;
}
.m-banner img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-banner .grid {
  width: 100%;
}
.m-banner--listing {
  display: block;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 78vw;
  background-position: 163% -22vh;
  background-image: url("../img/Medium-Lines.svg");
  padding: 40px 0;
}
@media (max-width: 767px) {
  .m-banner--listing {
    padding: 20px 10px;
  }
  .m-banner--listing .col-sm-5:last-child {
    padding-top: 0;
    padding-bottom: 0;
  }
}
.m-banner--listing p {
  margin: 40px 0 0;
  font-size: 29px;
  line-height: 39px;
}
@media (max-width: 767px) {
  .m-banner--listing p {
    margin-top: 0;
    font-size: 18px;
    line-height: 28px;
  }
}
.m-banner--banner {
  z-index: 1;
}
.m-banner--home {
  display: block;
  position: relative;
  background-repeat: no-repeat;
  background-size: 100vw;
  background-image: url("../img/Medium-Lines.svg"), url("../img/Medium-Lines.svg");
  background-position: -993px -124px, 605px 544px;
}
@media (max-width: 767px) {
  .m-banner--home {
    background-position: -107px 254px, 605px 544px;
    background-size: 250%;
  }
}
.m-banner--home::after {
  content: "";
  position: absolute;
  width: -webkit-fill-available;
  width: -moz-available;
  height: 70%;
  bottom: 0;
  left: 0;
  background-repeat: no-repeat;
  background-size: 78vw;
  background-color: #37ACBE;
  z-index: -1;
  background-position: -171% 30%;
  margin: 0 40px;
}
@media (max-width: 1199px) {
  .m-banner--home::after {
    margin: 0;
    height: 75%;
  }
}
.m-banner--home img {
  margin: 0 20px;
  display: block;
  width: calc(100% - 40px);
  max-height: 760px;
}
@media (max-width: 767px) {
  .m-banner--home img {
    margin: 0 8px;
    display: block;
    width: calc(100% - 16px);
    height: 304px;
  }
}
.m-banner--home .m-banner__video {
  position: absolute;
  top: 0;
  left: 20px;
  height: 100%;
  width: calc(100% - 40px);
  -o-object-fit: cover;
     object-fit: cover;
  display: block;
}
@media (max-width: 767px) {
  .m-banner--home .m-banner__video {
    left: 8px;
    width: calc(100% - 16px);
  }
}
.m-banner--home .m-banner__control {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  text-align: center;
}
.m-banner--home .m-banner__inner {
  position: absolute;
  top: 0;
  left: 20px;
  width: calc(100% - 40px);
  height: 100%;
  display: flex;
  align-items: center;
  padding: 0 80px;
  background-color: rgba(0, 0, 0, 0.4);
  z-index: 3;
}
@media (max-width: 767px) {
  .m-banner--home .m-banner__inner {
    left: 8px;
    width: calc(100% - 16px);
    padding: 0 20px;
  }
}
.m-banner--home .m-banner__inner h1 {
  color: #ffffff;
  transform: translateY(-10vh);
  max-width: 65%;
}
@media (max-width: 1199px) {
  .m-banner--home .m-banner__inner h1 {
    transform: translateY(1vh);
  }
}
@media (max-width: 991px) {
  .m-banner--home .m-banner__inner h1 {
    max-width: 75%;
    transform: translateY(-10vh);
  }
}
@media (max-width: 767px) {
  .m-banner--home .m-banner__inner h1 {
    max-width: none;
    transform: translateY(0);
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
    width: 100%;
  }
}
.m-banner__copy {
  grid-column: 1/3;
  grid-row: 1;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: flex-start;
  padding: 40px 0;
}
@media (max-width: 1199px) {
  .m-banner__copy {
    padding: 20px 0;
  }
}
@media (max-width: 767px) {
  .m-banner__copy {
    grid-column: 1;
    padding: 0;
    justify-content: flex-start;
  }
}
.m-banner__copy p {
  font-size: 29px;
  line-height: 39px;
  margin-top: 0;
  margin-bottom: 0;
}
.m-banner__copy p:last-child {
  margin-bottom: 0;
}
.m-banner__image {
  position: relative;
  grid-column: 2;
  grid-row: 1;
  margin: 0;
  padding: 0;
  max-height: 549px;
}
@media (max-width: 767px) {
  .m-banner__image {
    grid-column: 1;
    grid-row: 2;
  }
}
.m-banner__image__person {
  height: 100%;
  margin: 0;
}

.m-landing-signpost {
  display: grid;
}

@media (max-width: 767px) {
  .m-landing__highlighted-content {
    padding-bottom: 0 !important;
  }
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Header links
 * ----------------------
 */
.m-header-links {
  margin-left: auto;
}
.m-header-links__link {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  margin-right: 26.6666666667px;
  display: inline-flex;
  align-items: center;
  border: 0;
  text-decoration: none;
  background-color: transparent;
  padding: 0;
  margin-bottom: 0;
}
@media (max-width: 1199px) {
  .m-header-links__link {
    text-align: left;
    text-indent: -9999px;
  }
}
@media (max-width: 575px) {
  .m-header-links__link {
    margin-right: 13.3333333333px;
  }
}
.m-header-links__link:last-child {
  margin-right: 0;
}
.m-header-links__link svg {
  margin-left: 8px;
}
.m-header-links__link path {
  fill: #33A2B3;
  transition: 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
.m-header-links__link:hover {
  text-decoration: none;
}
.m-header-links__link:hover path {
  fill: #002440;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Footer newsletter
 * ----------------------
 */
.m-footer-newsletter {
  background-color: #f9dde4;
  padding: 26.6666666667px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #000000;
}
@media (max-width: 767px) {
  .m-footer-newsletter {
    flex-direction: column;
  }
}
.m-footer-newsletter h2,
.m-footer-newsletter h3,
.m-footer-newsletter h4,
.m-footer-newsletter p {
  margin: 0;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.m-footer-newsletter a {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 1.25em;
  line-height: 1.3;
  font-family: "lato_bold";
  font-weight: bold;
  letter-spacing: 0;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #000000;
  color: #002440;
  transition: 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  position: relative;
  overflow: hidden;
  height: auto;
  background-color: #e8607c;
  color: #000000;
  padding: 10px 70px 10px 26.6666666667px;
  margin: 0 0 0 40px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 40px;
  background-position: calc(100% - 15px) center;
  background-image: url("../icon/icon-envelope.svg");
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-footer-newsletter a {
    font-size: calc( 1.25em + 0.368 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-footer-newsletter a {
    font-size: 1.618em;
  }
}
.m-footer-newsletter a::before, .m-footer-newsletter a::after {
  content: attr(data-hover);
  display: block;
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  padding: inherit;
}
.m-footer-newsletter a::after {
  background-color: #ffffff;
  color: #002440;
  transform: translateY(100%);
}
.m-footer-newsletter a::before {
  background-color: #002440;
  color: #ffffff;
  transform: translateY(0);
}
.m-footer-newsletter a::before {
  background-color: #e8607c;
}
.m-footer-newsletter a::before, .m-footer-newsletter a::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 40px;
  background-image: inherit;
  background-position: inherit;
  color: inherit;
}
@media (max-width: 767px) {
  .m-footer-newsletter a {
    margin: 20px 0 0;
  }
}
.m-footer-newsletter a:hover {
  background-color: #ffffff;
  color: #002440;
  text-decoration: none;
}
.m-footer-newsletter a:hover::before {
  transform: translateY(-100%);
}
.m-footer-newsletter a:hover::after {
  transform: translateY(0);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Footer info
 * ----------------------
 */
.m-footer-info {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}
@media (max-width: 991px) {
  .m-footer-info {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
@media (max-width: 767px) {
  .m-footer-info {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: center;
    gap: 20px;
  }
}
.m-footer-info--menu a {
  font-family: "lato_bold";
  font-weight: bold;
  letter-spacing: 0;
  display: inline-block;
  margin-bottom: 13.3333333333px;
}
.m-footer-info--col {
  flex-basis: 15%;
}
@media (max-width: 767px) {
  .m-footer-info--col {
    flex-basis: 100%;
    width: 100%;
  }
}
.m-footer-info__credits {
  display: flex;
  flex-direction: column;
}
.m-footer-info__credits svg {
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .m-footer-info__credits svg {
    margin-bottom: 20px;
  }
}
@media (max-width: 575px) {
  .m-footer-info__credits svg {
    margin-bottom: 0;
  }
}
@media (max-width: 575px) {
  .m-footer-info__credits a[href*="un.titled"] {
    display: block;
    height: 48px;
    line-height: 48px;
  }
}
.m-footer-info__credits a:hover svg g {
  fill: #e8607c;
}
.m-footer-info__menu {
  min-width: 25vw;
  -moz-columns: 2;
       columns: 2;
  -moz-column-gap: 140px;
       column-gap: 140px;
}
@media (max-width: 767px) {
  .m-footer-info__menu {
    -moz-columns: 1;
         columns: 1;
  }
  .m-footer-info__menu a {
    display: block;
  }
}
.m-footer-info__social {
  display: flex;
  flex-direction: column;
  gap: 62px;
}
@media (max-width: 767px) {
  .m-footer-info__social h4 {
    display: none;
  }
}
.m-footer-info h4 {
  font-size: 1em;
  border-bottom: 1px solid #ffffff;
  padding-bottom: 4px;
  margin-bottom: 8px;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-footer-info h4 {
    font-size: calc( 1em + 0 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-footer-info h4 {
    font-size: 1em;
  }
}
@media (max-width: 767px) {
  .m-footer-info h4 {
    width: 194px;
    margin-left: auto;
    margin-right: auto;
  }
}

.m-footer-partners {
  display: grid;
  grid-auto-flow: column;
  justify-content: center;
}
.m-footer-partners a:first-child img {
  border-right: 1px solid white;
  padding-right: 10px;
}
.m-footer-partners a:last-child img {
  padding-left: 11px;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Learn more
 * ----------------------
 */
.m-learn-more {
  background-color: #002440;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 1200px;
  background-position: calc(100% + 300px) center;
  background-image: url("../img/Medium-Lines.svg");
  padding: 60px 0;
}
.m-learn-more h2 {
  color: #ffffff;
}
.m-learn-more__inner {
  -moz-columns: 3;
       columns: 3;
  -moz-column-gap: 26.6666666667px;
       column-gap: 26.6666666667px;
  position: relative;
}
@media (max-width: 767px) {
  .m-learn-more__inner {
    -moz-columns: unset;
         columns: unset;
  }
}
.m-learn-more__inner .o-teaser {
  margin-bottom: 26.6666666667px;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Homepage section
 * ----------------------
 */
.m-homepage-section {
  display: grid;
  grid-template-columns: 37% 58%;
  gap: 60px;
  align-items: center;
}
@media (max-width: 1199px) {
  .m-homepage-section {
    margin: 60px 0;
  }
}
@media (max-width: 991px) {
  .m-homepage-section {
    margin: 40px 0;
    grid-template-columns: 1fr 50%;
  }
}
@media (max-width: 767px) {
  .m-homepage-section {
    grid-template-columns: 1fr;
    gap: 20px;
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-homepage-section__copy {
  margin-bottom: 20px;
}
@media (max-width: 767px) {
  .m-homepage-section__copy {
    display: none;
  }
}
.m-homepage-section img {
  width: 100%;
  display: block;
}
.m-homepage-section .m-entity {
  margin: 0;
}
.m-homepage-section__content .m-entity__cta {
  margin-bottom: 16px;
}

.m-right-copy .a-social-links {
  margin-top: -50px;
}
@media (max-width: 767px) {
  .m-right-copy .a-social-links {
    margin-top: unset;
  }
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Search bar
 * ----------------------
 */
.m-search-bar {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 100;
  width: 100%;
  padding: 20px;
  background-color: #37ACBE;
  transform: translateY(-100%);
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 78vw;
  background-position: 163% -22vh;
  background-image: url("../img/Medium-Lines.svg");
}
@media (max-width: 767px) {
  .m-search-bar {
    padding: 0;
  }
}
[data-search=open] .m-search-bar {
  transform: translateY(0);
}
.user-logged-in .m-search-bar {
  top: 39px;
}
.m-search-bar .search-form {
  display: grid;
  grid-template-columns: 1fr 100px;
  align-items: center;
  gap: 20px;
  width: 100%;
}
.m-search-bar .search-form ::-moz-placeholder {
  opacity: 1 !important;
  color: #002440;
}
.m-search-bar .search-form ::placeholder {
  opacity: 1 !important;
  color: #002440;
}
@media (max-width: 767px) {
  .m-search-bar .search-form {
    grid-template-columns: 1fr 40px;
  }
}
.m-search-bar .o-filters__inner {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.m-search-bar .o-filters__inner__search {
  font-size: 14px;
  font-family: "lato_bold";
  color: #002440;
}
.m-search-bar .o-filters__inner__home {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.m-search-bar .o-filters .js-form-item {
  margin-bottom: 0;
}
.m-search-bar .o-filters .js-form-item input[type=text] {
  max-width: none;
  background-color: transparent;
  background-image: none;
  padding: 20px 0;
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: 1.953125em;
  margin-bottom: 0;
  color: #002440;
}
@media (min-width: 20em) and (max-width: 115.5em) {
  .m-search-bar .o-filters .js-form-item input[type=text] {
    font-size: calc( 1.953125em + 2.282676032 * ( ( 100vw - 20em) / 95.5 ) );
  }
}
@media (min-width: 115.5em) {
  .m-search-bar .o-filters .js-form-item input[type=text] {
    font-size: 4.235801032em;
  }
}
.m-search-bar .o-filters .js-form-item input[type=text]:focus {
  background-image: none;
}
.m-search-bar .o-filters .form-actions .a-btn {
  padding-right: 40px;
  margin-bottom: 0;
}
.m-search-bar .o-filters .form-actions .a-btn::before, .m-search-bar .o-filters .form-actions .a-btn::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: calc(100% - 10px) center;
  padding-right: inherit;
}
@media (max-width: 767px) {
  .m-search-bar .o-filters .form-actions .a-btn {
    text-align: left;
    text-indent: -9999px;
    padding-left: 0;
    width: 40px;
  }
}
.m-search-bar .o-filters .form-actions .a-btn::before {
  background-image: url("../icon/icon-search--white.svg");
}
.m-search-bar .o-filters .form-actions .a-btn::after {
  background-image: url("../icon/icon-search--black.svg");
}
.m-search-bar .close-button {
  align-self: flex-end;
}
.m-search-bar h3 {
  display: none;
  visibility: hidden;
}
.m-search-bar p {
  margin-bottom: 0;
}
.m-search-bar__search-modal__searchsuggestions {
  display: flex;
  gap: 8px;
}
.m-search-bar h3.m-search-bar__search-modal__searchsuggestions__title {
  display: block;
  visibility: visible;
}

#sliding-popup.sliding-popup-bottom {
  background-color: #37ACBE;
  box-shadow: 0 -2px 28px 0 rgba(29, 29, 27, 0.06);
  width: 100%;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message {
  max-width: 65%;
}
@media (max-width: 1199px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message {
    max-width: 60%;
  }
}
@media (max-width: 991px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message {
    max-width: 50%;
  }
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message {
    max-width: 100%;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message p {
  display: inline;
  font-size: 18px;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message a {
  text-decoration: underline;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-more-button {
  cursor: pointer;
  display: inline;
  height: auto;
  margin: 0;
  padding: 0;
  border: none;
  text-decoration: underline;
  background: none;
  color: #002440;
  font-size: 18px;
  line-height: 16.8px;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-content {
  margin: 15px auto;
  padding: 15px;
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: row;
  max-width: 1440px;
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-content {
    flex-direction: column;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button {
  background: transparent;
  border: none;
  color: #002440;
  box-shadow: none;
  text-shadow: none;
  background-image: none !important;
  font-family: "lato_bold";
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button {
  font-family: "lato_bold";
  font-weight: bold;
  letter-spacing: 0;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #000000;
  color: #002440;
  transition: 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  position: relative;
  overflow: hidden;
  height: auto;
  padding: 4px 8px;
  color: #ffffff;
  font-family: "lato_bold" !important;
  border-radius: 0;
  background: #002440;
  border: none;
  background-image: none !important;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button::before, #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button::after {
  content: attr(data-hover);
  display: block;
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  padding: inherit;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button::after {
  background-color: #ffffff;
  color: #002440;
  transform: translateY(100%);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button::before {
  background-color: #002440;
  color: #ffffff;
  transform: translateY(0);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:after {
  background-image: none !important;
  height: 100%;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button::before {
  background-color: #002440;
  color: #ffffff;
  transform: translateY(100%);
  height: 100%;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:hover {
  background-color: #ffffff;
  color: #002440;
  text-decoration: none;
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:hover::before {
  transform: translateY(-100%);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:hover::after {
  transform: translateY(0);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:hover:after {
  transform: translateY(100%);
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button {
    max-width: 100%;
  }
}

/**
 * Organisims
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Header
 * ----------------------
 */
.o-header__inner {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.o-header__inner .m-header-links {
  display: grid;
  grid-auto-flow: column;
}
.o-header__logo {
  margin-right: 24px;
}
@media (max-width: 575px) {
  .o-header__logo {
    margin-right: 0;
  }
}
.o-header__logo svg {
  display: block;
}
@media (max-width: 575px) {
  .o-header__logo svg {
    width: 100px;
    height: auto;
  }
}
@media (max-width: 767px) {
  .o-header__logo svg {
    width: 132px;
    height: auto;
  }
}
.o-header .grid,
.o-header .col-sm-12 {
  position: static;
}
@media (max-width: 575px) {
  .o-header .grid,
.o-header .col-sm-12 {
    padding: 5px 5px;
  }
}

.o-person .a-container--wide, .o-research-project .a-container--wide, .o-resource .a-container--wide {
  background-color: rgba(254, 204, 39, 0.25);
}

.o-listing-page .a-container--wide {
  background-color: #E1F2F5;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Footer
 * ----------------------
 */
.o-footer {
  color: #ffffff;
}
.o-footer a {
  text-decoration: none;
}
.o-footer a:hover, .o-footer a:focus, .o-footer a:active {
  text-decoration: underline;
}
.o-footer__overlay {
  position: absolute;
  top: 0;
  background-color: #002440;
  width: 100%;
  height: 100%;
  opacity: 0.5;
  z-index: 0;
}
.o-footer__top {
  background-size: 96vw;
  background-image: url("../img/Medium-Lines.svg");
  background-position: 130% 100%;
  background-color: #002440;
  background-position: 1127% 74%;
  padding: 20px 0;
  background-repeat: no-repeat;
  position: relative;
}
.o-footer__top svg {
  fill: #ffffff;
}
@media (max-width: 767px) {
  .o-footer__top {
    background-position: 16% 63%;
    background-size: 227%;
  }
}
.o-footer__bottom {
  background-color: #000000;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  font-size: 0.9rem;
  line-height: 1.4rem;
}
.o-footer__bottom .menu {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 13.3333333333px;
}
@media (max-width: 767px) {
  .o-footer__bottom .menu {
    flex-direction: column;
  }
}
.o-footer__bottom .menu li {
  padding-right: 10px;
  margin-right: 10px;
  border-right: 1px solid #ffffff;
}
@media (max-width: 767px) {
  .o-footer__bottom .menu li {
    padding-right: 0;
    margin-right: 0;
    border: 0;
  }
}
.o-footer__bottom .menu li:last-child {
  margin-right: 0;
  padding-right: 0;
  border-right: none;
}
@media (max-width: 575px) {
  .o-footer__bottom .menu a {
    display: block;
    height: 48px;
    line-height: 48px;
    min-width: 48px;
  }
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Views
 * ----------------------
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Search results
 * ----------------------
 */
#search-form {
  display: none;
  visibility: hidden;
}

.o-search-results-wrapper h2 {
  display: none;
}
.o-search-results-wrapper .result__title {
  margin-bottom: 0;
}
.o-search-results-wrapper__list {
  margin-bottom: 80px;
}
.o-search-results-wrapper__list ol {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-search-results-wrapper__list ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-search-results-wrapper__list ol li.submenu-active {
  display: block;
}
.o-search-results-wrapper__list ol li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}
.o-search-results-wrapper__list ol li {
  margin-bottom: 40px;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - sidebar
 * ----------------------
 */
.o-sidebar {
  margin-top: 80px;
  margin-bottom: 0px;
  padding: 24px;
  background-color: #fdeec2;
}
.o-sidebar a {
  text-decoration: underline;
}
.o-sidebar a:hover, .o-sidebar a:focus, .o-sidebar a:active {
  text-decoration: none;
}
.o-sidebar a:focus {
  outline: 3px dashed currentColor !important;
}
.js-focus-visible .o-sidebar a:focus:not(.focus-visible) {
  outline: 0;
}
.o-sidebar__wrapper {
  padding: 15px 0 !important;
}
.o-sidebar h3 {
  color: #002440;
}
.o-sidebar__label {
  font-weight: bold;
}
.o-sidebar__news-article .news-article {
  border-bottom: 1px solid #000000;
  margin: 24px 0;
}
.o-sidebar__news-article .news-article a {
  text-decoration: underline;
}
.o-sidebar__news-article .news-article a:hover, .o-sidebar__news-article .news-article a:focus, .o-sidebar__news-article .news-article a:active {
  text-decoration: none;
}
.o-sidebar__news-article > div:last-of-type .news-article {
  border-bottom: none;
}
.o-sidebar__research-project a {
  margin-bottom: 8px;
}
.o-sidebar__research-project__content {
  border-bottom: 1px solid #000000;
  margin: 24px 0;
}
.o-sidebar__research-project__content .truncate {
  margin-bottom: 24px;
}
.o-sidebar__research-project__content:last-child, .o-sidebar__research-project__content:only-child {
  border-bottom: none;
}
@media (max-width: 767px) {
  .o-sidebar {
    margin-bottom: 0;
  }
}
.o-sidebar__menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-sidebar__menu ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.o-sidebar__menu ul li.submenu-active {
  display: block;
}
.o-sidebar__menu ul li.submenu-active .level-2 {
  left: 0;
  opacity: 1;
  visibility: visible;
}
.o-sidebar__menu ul li {
  margin-bottom: 25px;
}
.o-sidebar__menu ul li:last-child {
  margin-bottom: 0;
}
.o-sidebar__menu ul li::marker, .o-sidebar__menu ul li::before {
  content: none;
}
.o-sidebar__menu ul ul {
  margin-top: 13.3333333333px;
}
.o-sidebar__menu ul ul a {
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.o-sidebar__menu ul ul a::before {
  display: inline-block;
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  background-image: url("/themes/pippip/assets/icon/icon-triangle-black.svg");
  height: 13.3333333333px;
  width: 13.3333333333px;
  margin-right: 4px;
}
.o-sidebar__menu li.menu-item--active-trail > a,
.o-sidebar__menu a.is-active {
  font-family: "calibri_bold";
}
.o-sidebar__menu li.menu-item--active-trail ul {
  margin-top: 8px;
}
.o-sidebar__menu li.menu-item--active-trail ul li {
  margin-bottom: 16px;
}
.o-sidebar--info a {
  text-decoration: underline;
}
.o-sidebar--info a:hover, .o-sidebar--info a:focus, .o-sidebar--info a:active {
  text-decoration: none;
}
.o-sidebar--info .a-btn--book {
  background-color: #002440;
}
.o-sidebar--info .a-btn--book::before {
  background-image: url("../icon/icon-calendar--white.svg");
  background-color: #002440;
  color: #ffffff;
}
.o-sidebar--info .a-btn--book::after {
  background-image: url("../icon/icon-calendar.svg");
  color: #002440;
  background-color: #ffffff;
}
.o-sidebar--info strong {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  display: block;
  margin: 20px 0 0;
}
.o-sidebar--info strong:first-of-type {
  margin-top: 0;
}
.o-sidebar time:focus {
  outline: 3px dotted currentColor;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Teasers
 * ----------------------
 */
.o-teaser {
  /**
  * Specific display modes
  */
}
.o-teaser__thumb {
  display: block;
  width: 100%;
  position: relative;
  background-color: #000000;
}
.o-teaser__thumb .a-image-credit {
  left: 26.6666666667px;
}
@media (max-width: 767px) {
  .o-teaser__thumb .a-image-credit {
    left: 20px;
  }
}
.o-teaser__thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
.o-teaser__thumb:hover img {
  opacity: 0.6;
}
.o-teaser__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.o-teaser__content h3 {
  margin-bottom: 16px;
  color: #002440;
}
.o-teaser__content h3.quadruple {
  font-family: "lato_black";
  font-weight: normal;
  letter-spacing: 0;
  margin-top: 0;
  margin-bottom: 20px;
  font-size: clamp(18px, 5vw, 47px);
  line-height: clamp(28px, 5vw, 57px);
}
.o-teaser__content h3.quadruple a::after {
  content: ".";
  display: inline-block;
  color: #e8607c;
  position: absolute;
}
.o-teaser__content h3.quadruple a.featured-dot::after {
  display: none;
}
.o-teaser__content h3 .single-dot.featured-dot::after {
  display: none;
}
.o-teaser__content h3 .single-dot::after {
  content: ".";
  position: absolute;
}
.o-teaser__content h3.highlight a {
  font-size: 47px;
  line-height: 57px;
  color: #ffffff;
  text-decoration: none;
}
.o-teaser__content h3.highlight a:hover, .o-teaser__content h3.highlight a:focus, .o-teaser__content h3.highlight a:active {
  text-decoration: underline;
}
.o-teaser__content h3.highlight a:after {
  content: ".";
  display: inline-block;
  color: #ffffff;
  position: absolute;
}
.o-teaser__content h3 a {
  display: inline-block;
}
.o-teaser__content p {
  line-height: 21px;
}
@media (max-width: 767px) {
  .o-teaser__content p:last-of-type {
    margin-bottom: 20px;
  }
}
.o-teaser__buttons {
  margin-top: auto;
  padding: 0 26.6666666667px;
  display: flex;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
  align-self: flex-start;
  margin-bottom: 24px;
}
@media (max-width: 767px) {
  .o-teaser__buttons {
    padding: 0 20px;
    gap: 16px;
  }
}
.o-teaser__buttons-inline {
  padding: 0;
}
.o-teaser-teaser {
  background-color: #DDEFF1;
  page-break-inside: avoid;
  -moz-column-break-inside: avoid;
       break-inside: avoid;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}
.o-teaser-teaser a {
  text-decoration: none;
}
.o-teaser-teaser a:hover, .o-teaser-teaser a:focus, .o-teaser-teaser a:active {
  text-decoration: underline;
}
.o-teaser-teaser__content {
  padding: 24px;
}
.o-teaser-teaser__content__role {
  font-family: "calibri_bold" !important;
}
.o-teaser-teaser__content p {
  font-size: 14px;
  font-family: "calibri_regular";
  font-style: normal;
  font-weight: 100;
  line-height: 21px;
  word-break: break-all;
}
.o-teaser-teaser__content .a-title--single::after {
  display: none;
  margin-left: -5px;
}
@media (max-width: 767px) {
  .o-teaser-teaser__content {
    padding: 20px;
  }
}
.o-teaser-featured {
  background-color: #DDEFF1;
  display: grid;
  grid-template-columns: 1fr 32.3%;
  gap: 40px;
  position: relative;
}
@media (max-width: 767px) {
  .o-teaser-featured {
    display: block;
  }
}
.o-teaser-featured a {
  text-decoration: none;
}
.o-teaser-featured a:hover, .o-teaser-featured a:focus, .o-teaser-featured a:active {
  text-decoration: underline;
}
.o-teaser-featured__content {
  padding: 26.6666666667px 80px;
  order: -1;
  align-self: center;
}
@media (max-width: 767px) {
  .o-teaser-featured__content {
    padding: 26.6666666667px 20px;
  }
}
.o-teaser-featured .a-image-credit {
  position: absolute;
}
.o-teaser-highlighted {
  display: grid;
  grid-template-columns: 100%;
}
@media (max-width: 767px) {
  .o-teaser-highlighted {
    margin-bottom: 0;
  }
}
.o-teaser-highlighted__thumb {
  grid-column: 1;
  grid-row: 1;
}
.o-teaser-highlighted__thumb::after {
  content: "";
  background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, #000000 40%, #000000 50%, rgba(0, 0, 0, 0) 100%);
  height: 100%;
  width: 100%;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0.7;
}
.o-teaser-highlighted__thumb img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.o-teaser-highlighted__content {
  grid-column: 1;
  grid-row: 1;
  justify-content: center;
  color: #ffffff;
  padding: 80px 120px;
  position: relative;
}
.o-teaser-highlighted__content h2 {
  color: #ffffff;
}
@media (max-width: 1199px) {
  .o-teaser-highlighted__content {
    padding: 40px 60px;
  }
}
@media (max-width: 991px) {
  .o-teaser-highlighted__content {
    padding: 40px;
  }
}
@media (max-width: 1199px) {
  .o-teaser-highlighted__content h3 {
    margin-left: auto;
    margin-right: auto;
  }
}
@media (max-width: 1199px) {
  .o-teaser-highlighted__content p {
    text-align: center;
  }
}
.o-teaser-highlighted__buttons {
  margin-top: 0;
}
@media (max-width: 1199px) {
  .o-teaser-highlighted__buttons {
    margin-left: auto;
    margin-right: auto;
  }
}
.o-teaser-highlighted .a-btn {
  background-color: #ffffff;
  color: #002440;
  text-decoration: none;
  margin-bottom: 0;
}
.o-teaser-highlighted .a-btn::before {
  transform: translateY(-100%);
}
.o-teaser-highlighted .a-btn::after {
  transform: translateY(0);
}
.o-teaser-highlighted .a-btn:hover {
  font-family: "lato_bold";
  font-weight: bold;
  letter-spacing: 0;
  cursor: pointer;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  background-color: #000000;
  color: #002440;
  transition: 0.2s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  position: relative;
  overflow: hidden;
  height: auto;
  margin-bottom: 0;
}
.o-teaser-highlighted .a-btn:hover::before, .o-teaser-highlighted .a-btn:hover::after {
  content: attr(data-hover);
  display: block;
  display: block;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
  padding: inherit;
}
.o-teaser-highlighted .a-btn:hover::after {
  background-color: #ffffff;
  color: #002440;
  transform: translateY(100%);
}
.o-teaser-highlighted .a-btn:hover::before {
  background-color: #002440;
  color: #ffffff;
  transform: translateY(0);
}
.o-teaser-signpost {
  display: grid;
  grid-template-columns: 55% 1fr;
  grid-auto-flow: dense;
  gap: 24px;
  align-items: center;
  margin-bottom: 80px;
}
.o-teaser-signpost:nth-child(even) {
  grid-template-columns: 1fr 55%;
}
@media (max-width: 767px) {
  .o-teaser-signpost:nth-child(even) {
    grid-template-columns: auto;
  }
}
.o-teaser-signpost:nth-child(even) .o-teaser__thumb {
  order: 2;
}
@media (max-width: 767px) {
  .o-teaser-signpost:nth-child(even) .o-teaser__thumb {
    order: unset;
  }
}
.o-teaser-signpost:last-child {
  margin-bottom: 0;
}
@media (max-width: 1199px) {
  .o-teaser-signpost {
    gap: 20px;
  }
}
@media (max-width: 767px) {
  .o-teaser-signpost {
    grid-template-columns: 50% 1fr;
    margin-bottom: 25px;
  }
}
@media (max-width: 575px) {
  .o-teaser-signpost {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.o-teaser-signpost__content {
  background-color: #f9dde4;
  padding: 80px 60px;
  justify-content: center;
}
.o-teaser-signpost__content a {
  text-decoration: none;
}
.o-teaser-signpost__content a:hover, .o-teaser-signpost__content a:focus, .o-teaser-signpost__content a:active {
  text-decoration: underline;
}
.o-teaser-signpost__content .a-title--single::after {
  display: none;
  margin-left: -5px;
}
@media (max-width: 1199px) {
  .o-teaser-signpost__content {
    padding: 40px;
  }
}
@media (max-width: 767px) {
  .o-teaser-signpost__content {
    padding: 20px;
  }
}
.o-teaser-signpost__content .a-btn {
  margin-bottom: 0;
}
.o-teaser-signpost:nth-child(even) {
  grid-template-columns: 1fr 55%;
}
@media (max-width: 767px) {
  .o-teaser-signpost:nth-child(even) {
    grid-template-columns: none;
  }
}
.o-teaser-signpost:nth-child(even) .o-signpost__thumb {
  order: 2;
}
.o-teaser-listing {
  margin-bottom: 20px;
  border-bottom: 1px solid #000000;
  padding-bottom: 20px;
}
.o-teaser-listing:last-of-type {
  border-bottom: 0;
  margin-bottom: 0;
}
.o-teaser-listing h3 {
  margin-bottom: 13.3333333333px;
}
.o-teaser-listing p:last-of-type {
  margin-bottom: 0;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Filters
 * ----------------------
 */
.o-filters {
  background-color: #CDEAEE;
  padding: 26.6666666667px 0 13.3333333333px;
  margin-top: 40px;
}
@media (max-width: 767px) {
  .o-filters {
    background-color: initial;
  }
}
.o-filters--search {
  background-color: transparent;
  padding: 0;
  margin: 0;
}
@media (max-width: 767px) {
  .o-filters {
    padding: 0;
  }
}
.o-filters__inner {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  flex-flow: inherit;
}
.o-filters__inner input[type=text] {
  width: 298px;
}
@media (min-width: 769px) {
  .o-filters__inner .show-me-button {
    display: none;
  }
}
.o-filters__inner--form {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 16px;
  flex-flow: inherit;
}
@media (max-width: 767px) {
  .o-filters__inner--form {
    display: none;
  }
}
@media (max-width: 767px) {
  .o-filters__inner--form.listingfilter {
    display: block;
    position: fixed;
    width: 100%;
    height: 100%;
    background-color: #37ACBE;
    z-index: 5;
    top: 0;
    left: 0;
    display: flex;
    flex-flow: column;
    background-size: 228vw;
    background-image: url(../img/Medium-Lines.svg);
    background-position: 7% 182%;
    background-repeat: no-repeat;
    gap: 3px;
  }
  .o-filters__inner--form.listingfilter .js-form-item {
    padding: 0 8px;
  }
  .o-filters__inner--form.listingfilter .js-form-wrapper {
    padding: 0 8px;
    margin-top: auto;
    margin-bottom: 30.7692307692px;
    width: 100%;
  }
  .o-filters__inner--form.listingfilter h4 {
    font-size: 29px;
    background-color: white;
    display: flex;
    justify-content: center;
    line-height: 39px;
    padding: 9px;
    color: black;
    margin-bottom: 24.0963855422px;
    width: 100%;
  }
  .o-filters__inner--form.listingfilter .show-me-button {
    display: none;
  }
}
.o-filters__inner button {
  background-color: #002440;
  color: white;
  width: 100%;
}
@media (max-width: 767px) {
  .o-filters__inner button {
    display: block;
  }
}
@media (max-width: 767px) {
  .o-filters__inner {
    flex-flow: column;
  }
}
.o-filters h4 {
  white-space: nowrap;
  margin-right: 8px;
  padding-top: 7px;
  color: #002440;
}
.o-filters h3 {
  margin: 0 20px 13.3333333333px 0;
  line-height: 1;
}
@media (max-width: 767px) {
  .o-filters h3 {
    width: 100%;
  }
}
.o-filters .js-form-item {
  min-width: 205px;
  margin-bottom: 13.3333333333px;
}
@media (max-width: 767px) {
  .o-filters .js-form-item {
    max-width: none;
    margin-right: 0;
    width: 100%;
  }
}
.o-filters .js-form-item.js-form-type-textfield {
  order: 3;
  width: 100%;
}
.resources .o-filters .js-form-item.js-form-type-textfield {
  order: 1;
}
@media (max-width: 767px) {
  .o-filters .js-form-item.js-form-type-textfield {
    width: 100%;
  }
}
.o-filters .js-form-item > input,
.o-filters .js-form-item select {
  padding: 10px 35px 10px 20px;
  border: 0;
  border-radius: 8px;
}
@media (max-width: 767px) {
  .o-filters .js-form-item > input,
.o-filters .js-form-item select {
    max-width: none;
    padding: 10px 35px 12.1212121212px 20px;
  }
}
.o-filters .js-form-item input[type=text] {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 20px;
  background-position: calc(100% - 10px) center;
  background-image: url("../icon/icon-search--red.svg");
  width: 100%;
  font-size: 18px;
  line-height: 28px;
}
.o-filters .js-form-item input[type=text]::-moz-placeholder {
  opacity: 0.25;
}
.o-filters .js-form-item input[type=text]::placeholder {
  opacity: 0.25;
}
.o-filters .js-form-item input[type=text]::-moz-placeholder:focus {
  background-image: url("../icon/icon-search--black.svg");
}
.o-filters .js-form-item input[type=text]::placeholder:focus {
  background-image: url("../icon/icon-search--black.svg");
}
.o-filters .views-element-container {
  order: 10;
  width: 735px;
  margin-bottom: 13.3333333333px;
}
@media (max-width: 767px) {
  .o-filters .views-element-container {
    order: 9;
    width: 100%;
  }
}
.o-filters .form-actions {
  order: 10;
  display: flex;
  gap: 15px;
}
.o-filters button {
  margin-bottom: 13.3333333333px;
}
.o-filters button:focus {
  outline: 3px dashed black;
}
@media (max-width: 767px) {
  .o-filters button {
    margin-bottom: 0;
    padding: 10px 0;
  }
}
.o-filters button.a-btn {
  font-family: "lato_black";
}
.o-filters button.a-btn[data-drupal-selector=edit-reset] {
  padding-right: 40px;
  background-color: #a6e7e2;
  color: #000000;
}
.o-filters button.a-btn[data-drupal-selector=edit-reset]::before {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: 87% center;
  background-image: url("../icon/icon-refresh-navy-icon-refresh.svg");
  background-color: #CDEAEE;
  color: #002440;
  font-family: "lato_black" !important;
}
.o-filters button.a-btn[data-drupal-selector=edit-reset]::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 24px;
  background-position: 87% center;
  background-image: url("../icon/icon-refresh-navy-icon-refresh.svg");
  font-family: "lato_black";
  color: #002440;
}
.o-filters label {
  display: none;
}
.o-filters .choices__inner {
  background-color: #ffffff;
  border-radius: 8px;
  padding: 10px 20px 0 20px;
  border: 0;
  font-size: 18px;
  line-height: 28px;
  transition: 0.1s cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
.o-filters .choices.is-open .choices__inner {
  border-bottom-right-radius: 0;
  border-bottom-left-radius: 0;
}
.o-filters .choices[data-type*=select-one] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 18px;
}
.o-filters .choices[data-type*=select-one]:focus {
  outline: 3px dashed currentColor;
}
@media (max-width: 767px) {
  .o-filters .choices[data-type*=select-one] {
    max-width: unset;
  }
}
.o-filters .choices[data-type*=select-one]::after {
  border-color: #e8607c transparent transparent transparent;
  border-width: 8px;
}
.o-filters .choices[data-type*=select-one].is-open::after {
  border-color: transparent transparent #000000 transparent;
  margin-top: -9.5px;
}
.o-filters .choices[data-type*=select-one] .choices__inner {
  padding-bottom: 12px;
}
@media (max-width: 767px) {
  .o-filters .choices[data-type*=select-one] .choices__inner {
    width: 100%;
  }
}
.o-filters .choices__list {
  padding: 4px 16px 0 4px;
}
@media (max-width: 767px) {
  .o-filters .choices__list {
    padding: 0;
  }
}
.o-filters .choices__list .choices__input {
  border: 1px solid #002440;
  border-radius: 6.6666666667px;
  transition: 0.1 cubic-bezier(0.3, 0.65, 0.72, 0.63);
}
.o-filters .choices__list--dropdown {
  border-radius: 8px;
  border-top-left-radius: 0;
  border-top-right-radius: 0;
  border: 0;
  z-index: 4;
}
.o-filters .choices__list--dropdown .choices__item--selectable {
  padding-right: 5px;
}
.o-filters .choices__list--dropdown .choices__item--selectable.is-highlighted {
  background-color: #f9dde4;
}
.o-filters .choices__list--dropdown .choices__item--selectable::after {
  display: none;
}
.o-filters ::-webkit-input-placeholder {
  color: #000000;
  opacity: 1;
}
.o-filters :-ms-input-placeholder {
  color: #000000;
  opacity: 1;
}
.o-filters ::-moz-placeholder {
  color: #000000;
  opacity: 1;
}
.o-filters ::placeholder {
  color: #000000;
  opacity: 1;
}

#block-resources-filters .js-form-type-textfield {
  order: unset;
}

#views-exposed-form-people-listing-people-listing .o-filters .js-form-item input[type=text] {
  width: 232px;
}
@media (max-width: 767px) {
  #views-exposed-form-people-listing-people-listing .o-filters .js-form-item input[type=text] {
    width: 100%;
  }
}
#views-exposed-form-people-listing-people-listing .o-filters .js-form-item.js-form-type-textfield {
  width: 232px;
}
@media (max-width: 767px) {
  #views-exposed-form-people-listing-people-listing .o-filters .js-form-item.js-form-type-textfield {
    width: 100%;
  }
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Homepage search
 * ----------------------
 */
.o-search {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 78vw;
  margin: 0 40px;
}
@media (max-width: 767px) {
  .o-search {
    margin: 0;
  }
}
.o-search__inner {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 60px 0;
}
.o-search__inner h2:after {
  content: ".";
  display: none;
}
.o-search__inner .o-filters--homesearch {
  margin: 0 !important;
}
@media (max-width: 1199px) {
  .o-search__inner {
    padding: 20px 0;
  }
}
.o-search__inner .search-form {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: stretch;
}
@media (max-width: 767px) {
  .o-search__inner .search-form {
    display: grid;
    grid-template-columns: 80% 20%;
  }
}
@media (max-width: 767px) {
  .o-search__inner {
    padding: 20px 0 0;
  }
}
.o-search__inner .o-filters {
  margin: 20px 0 80px;
}
@media (max-width: 767px) {
  .o-search__inner .o-filters {
    margin: -20px 0 20px;
  }
}
.o-search__inner .o-filters__inner {
  align-items: stretch;
}
.o-search__inner .o-filters h3 {
  display: none;
}
.o-search__inner .o-filters .js-form-item {
  margin: 0;
}
.o-search__inner .o-filters input[type=text] {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
  padding: 40px;
  min-width: 25vw;
  background-image: none;
  max-width: none;
}
@media (max-width: 767px) {
  .o-search__inner .o-filters input[type=text] {
    padding: 20px;
    width: 100%;
  }
}
.o-search__inner .o-filters input[type=text]:focus {
  background-image: none;
  background-color: #f9dde4;
}
.o-search__inner .o-filters button {
  text-align: left;
  text-indent: -9999px;
  margin: 0;
  height: 100%;
  border-top-right-radius: 8px;
  border-bottom-right-radius: 8px;
  background-color: #ffffff;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 50px;
  background-image: url("../icon/icon-trowel.svg");
  width: 100px;
}
@media (max-width: 767px) {
  .o-search__inner .o-filters button {
    width: 60px;
    background-size: 40px;
  }
}
.o-search__inner .o-filters button::before, .o-search__inner .o-filters button::after {
  display: none;
}
.o-search__inner .o-filters button:hover {
  background-color: #f9dde4;
}
.o-search p,
.o-search .close-button {
  display: none;
  visibility: hidden;
}

.o-secondary-landing-page .a-container--wide {
  background-color: #002440;
}
.o-secondary-landing-page .a-container--wide h1, .o-secondary-landing-page .a-container--wide h2, .o-secondary-landing-page .a-container--wide h3, .o-secondary-landing-page .a-container--wide p, .o-secondary-landing-page .a-container--wide a, .o-secondary-landing-page .a-container--wide li {
  color: #FFFFFF;
}

.o-related {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 3px;
}

.o-listing-page .m-views-listing {
  grid-template-columns: 1fr 1fr 1fr;
  gap: 24px;
}
.o-listing-page .m-views-listing__people {
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 24px;
}
@media (max-width: 767px) {
  .o-listing-page .m-views-listing__people {
    grid-template-columns: auto;
  }
}
@media (max-width: 767px) {
  .o-listing-page .m-views-listing {
    grid-template-columns: auto;
  }
}
.o-listing-page .o-filters .js-form-item.js-form-type-textfield {
  width: 298px;
}
@media (max-width: 767px) {
  .o-listing-page .o-filters .js-form-item.js-form-type-textfield {
    width: auto;
  }
}

/**
 * Templates
 */

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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QUFDRjtBSWxtQkk7RUFMSjtJQU1RLGdCRE9JO0VIOGxCVjtBQUNGO0FJbm1CSTtFQVRKO0lBVVEsZ0JESUk7RUhrbUJWO0FBQ0Y7QUlwbUJJO0VBYko7SUFjUSxpQkRDSTtFSHNtQlY7QUFDRjtBSXJtQkk7RUFqQko7SUFrQlEsaUJERks7RUgwbUJYO0FBQ0Y7O0FJam1CQTtFQzBYSSw4QkR6WG9CO0VDMFhwQiwyQkQxWG9CO0VDMlhwQixzQkQzWG9CO0VBQ3BCO0VDb0dBO0VBQ0E7RUFDQTtFQTRDQSxtQkFEb0I7RUFFcEIsdUJBRm9CO0VBR3BCLGVBSG9CO0VEOUlwQjtFQUNBO0VBQ0E7RUNOSTtHQUNBO0VBQ0E7RURjSjtBSm9tQko7QUkzbUJJO0VDZ1hBLDhCRDlXd0I7RUMrV3hCLDJCRC9Xd0I7RUNnWHhCLHNCRGhYd0I7RUNIcEI7RUFDQTtFQUNBO0FMa25CUjs7QUlybUJBO0VDa1dJLDhCRGpXb0I7RUNrV3BCLDJCRGxXb0I7RUNtV3BCLHNCRG5Xb0I7RUNoQmhCO0VBQ0E7RUFDQTtFRGdCSjtFQUNBO0VBQ0E7RUFDQSxhRHJCa0I7RUNvQ2Q7R0FDQTtFQUNBO0FKOGxCUjtBSTdtQkk7RUMwVkEsOEJEeFZ3QjtFQ3lWeEIsMkJEelZ3QjtFQzBWeEIsc0JEMVZ3QjtFQ3pCcEI7RUFDQTtFQUNBO0FMMG9CUjtBSTltQkk7RUM0RUk7RUFHSjtFQUNBO0VEOUVJO0FKa25CUjs7QUsxckJRO0VBQ0k7R0FFSTtBTDRyQmhCOztBSy9yQlE7RUFDSTtHQUVJO0FMaXNCaEI7O0FLcHNCUTtFQUNJO0dBRUk7QUxzc0JoQjs7QUt6c0JRO0VBQ0k7R0FFSTtBTDJzQmhCOztBSzlzQlE7RUFDSTtHQUVJO0FMZ3RCaEI7O0FLbnRCUTtFQUNJO0dBRUk7QUxxdEJoQjs7QUt4dEJRO0VBQ0k7R0FFSTtBTDB0QmhCOztBSzd0QlE7RUFDSTtHQUVJO0FMK3RCaEI7O0FLbHVCUTtFQUNJO0dBRUk7QUxvdUJoQjs7QUt2dUJRO0VBQ0k7R0FFSTtBTHl1QmhCOztBSzV1QlE7RUFDSTtHQUVJO0FMOHVCaEI7O0FLanZCUTtFQUNJO0dBRUk7QUxtdkJoQjs7QUk5cEJBO0VDeEZRO0lBQ0k7S0FFSTtFTHl2QmQ7O0VLNXZCTTtJQUNJO0tBRUk7RUw4dkJkOztFS2p3Qk07SUFDSTtLQUVJO0VMbXdCZDs7RUt0d0JNO0lBQ0k7S0FFSTtFTHd3QmQ7O0VLM3dCTTtJQUNJO0tBRUk7RUw2d0JkOztFS2h4Qk07SUFDSTtLQUVJO0VMa3hCZDs7RUtyeEJNO0lBQ0k7S0FFSTtFTHV4QmQ7O0VLMXhCTTtJQUNJO0tBRUk7RUw0eEJkOztFSy94Qk07SUFDSTtLQUVJO0VMaXlCZDs7RUtweUJNO0lBQ0k7S0FFSTtFTHN5QmQ7O0VLenlCTTtJQUNJO0tBRUk7RUwyeUJkOztFSzl5Qk07SUFDSTtLQUVJO0VMZ3pCZDtBQUNGO0FJeHRCQTtFQzVGUTtJQUNJO0tBRUk7RUxzekJkOztFS3p6Qk07SUFDSTtLQUVJO0VMMnpCZDs7RUs5ekJNO0lBQ0k7S0FFSTtFTGcwQmQ7O0VLbjBCTTtJQUNJO0tBRUk7RUxxMEJkOztFS3gwQk07SUFDSTtLQUVJO0VMMDBCZDs7RUs3MEJNO0lBQ0k7S0FFSTtFTCswQmQ7O0VLbDFCTTtJQUNJO0tBRUk7RUxvMUJkOztFS3YxQk07SUFDSTtLQUVJO0VMeTFCZDs7RUs1MUJNO0lBQ0k7S0FFSTtFTDgxQmQ7O0VLajJCTTtJQUNJO0tBRUk7RUxtMkJkOztFS3QyQk07SUFDSTtLQUVJO0VMdzJCZDs7RUszMkJNO0lBQ0k7S0FFSTtFTDYyQmQ7QUFDRjtBSWp4QkE7RUNoR1E7SUFDSTtLQUVJO0VMbTNCZDs7RUt0M0JNO0lBQ0k7S0FFSTtFTHczQmQ7O0VLMzNCTTtJQUNJO0tBRUk7RUw2M0JkOztFS2g0Qk07SUFDSTtLQUVJO0VMazRCZDs7RUtyNEJNO0lBQ0k7S0FFSTtFTHU0QmQ7O0VLMTRCTTtJQUNJO0tBRUk7RUw0NEJkOztFSy80Qk07SUFDSTtLQUVJO0VMaTVCZDs7RUtwNUJNO0lBQ0k7S0FFSTtFTHM1QmQ7O0VLejVCTTtJQUNJO0tBRUk7RUwyNUJkOztFSzk1Qk07SUFDSTtLQUVJO0VMZzZCZDs7RUtu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QUlUO0VMdW9ETjs7RUt2bkRNO0lBbEJKLGdCQUZhO0tBSVQ7RUw0b0ROOztFSzVuRE07SUFsQkosMkJBRmE7S0FJVDtFTGlwRE47O0VLam9ETTtJQWxCSiwyQkFGYTtLQUlUO0VMc3BETjs7RUt0b0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUwycEROOztFSzNvRE07SUFsQkosMkJBRmE7S0FJVDtFTGdxRE47O0VLaHBETTtJQWxCSiwyQkFGYTtLQUlUO0VMcXFETjs7RUtycERNO0lBbEJKLGdCQUZhO0tBSVQ7RUwwcUROOztFSzFwRE07SUFsQkosMkJBRmE7S0FJVDtFTCtxRE47O0VLL3BETTtJQWxCSiwwQkFGYTtLQUlUO0VMb3JETjs7RUtwcURNO0lBbEJKLGNBTFM7S0FPTDtFTHlyRE47QUFDRjtBSWhtREE7RUMxRVE7SUFsQkosMkJBRmE7S0FJVDtFTCtyRE47O0VLL3FETTtJQWxCSiwyQkFGYTtLQUlUO0VMb3NETjs7RUtwckRNO0lBbEJKLGdCQUZhO0tBSVQ7RUx5c0ROOztFS3pyRE07SUFsQkosMkJBRmE7S0FJVDtFTDhzRE47O0VLOXJETTtJQWxCSiwyQkFGYTtLQUlUO0VMbXRETjs7RUtuc0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUx3dEROOztFS3hzRE07SUFsQkosMkJBRmE7S0FJVDtFTDZ0RE47O0VLN3NETTtJQWxCSiwyQkFGYTtLQUlUO0VMa3VETjs7RUtsdERNO0lBbEJKLGdCQUZhO0tBSVQ7RUx1dUROOztFS3Z0RE07SUFsQkosMkJBRmE7S0FJVDtFTDR1RE47O0VLNXRETTtJQWxCSiwwQkFGYTtLQUlUO0VMaXZETjs7RUtqdURNO0lBbEJKLGNBTFM7S0FPTDtFTHN2RE47QUFDRjtBSXpwREE7RUM5RVE7SUFsQkosMkJBRmE7S0FJVDtFTDR2RE47O0VLNXVETTtJQWxCSiwyQkFGYTtLQUlUO0VMaXdETjs7RUtqdkRNO0lBbEJKLGdCQUZhO0tBSVQ7RUxzd0ROOztFS3R2RE07SUFsQkosMkJBRmE7S0FJVDtFTDJ3RE47O0VLM3ZETTtJQWxCSiwyQkFGYTtLQUlUO0VMZ3hETjs7RUtod0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUxxeEROOztFS3J3RE07SUFsQkosMkJBRmE7S0FJVDtFTDB4RE47O0VLMXdETTtJQWxCSiwyQkFGYTtLQUlUO0VMK3hETjs7RUsvd0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUxveUROOztFS3B4RE07SUFsQkosMkJBRmE7S0FJVDtFTHl5RE47O0VLenhETTtJQWxCSiwwQkFGYTtLQUlUO0VMOHlETjs7RUs5eERNO0lBbEJKLGNBTFM7S0FPTDtFTG16RE47QUFDRjtBTTc1REE7RUR3TEksbUJDdkxtQjtFRHdMbkIsdUJDeExtQjtFRHlMbkIsZUN6TG1CO0FOaTZEdkI7O0FNOTVEQTtFRG9MSSxxQkNuTG1CO0VEb0xuQix5QkNwTG1CO0VEcUxuQixpQkNyTG1CO0FObTZEdkI7QU05NURJO0VEMkpBLG9CQzFKeUI7RUQySnpCLHNCQzNKeUI7RUQ0SnpCLGNDNUp5QjtBTms2RDdCOztBTTk1REE7RUR5S0ksMkJDeEttQjtFRHlLbkIsK0JDekttQjtFRDBLbkIsdUJDMUttQjtBTm02RHZCOztBTTU1REE7RUR1S0ksdUJDdEt3QjtFRHVLeEIsMkJDdkt3QjtFRHdLeEIsbUJDeEt3QjtBTmk2RDVCOztBTTk1REE7RURtS0ksK0JDbEt3QjtFRG1LeEIsbUNDbkt3QjtFRG9LeEIsMkJDcEt3QjtBTm02RDVCOztBTWg2REE7RUQrSkksMEJDOUp3QjtFRCtKeEIsOEJDL0p3QjtFRGdLeEIsc0JDaEt3QjtBTnE2RDVCOztBTWw2REE7RUQySkksa0NDMUp3QjtFRDJKeEIsc0NDM0p3QjtFRDRKeEIsOEJDNUp3QjtBTnU2RDVCOztBTWg2REE7RURvTFE7RUF0QkosK0JDN0pxQjtFRDhKckIsdUJDOUpxQjtBTnE2RHpCOztBTWw2REE7RURrTFE7RUF4QkosNkJDekpxQjtFRDBKckIscUJDMUpxQjtBTnU2RHpCO0FNbjZEUTtFQUNJO0FOcTZEWjs7QU1oNkRBO0VEeUtRLHNCQ3hLaUI7RUQ4SXJCLDJCQzlJcUI7RUQrSXJCLG1CQy9JcUI7QU5xNkR6QjtBTWo2RFE7RUFDSTtBTm02RFo7O0FNOTVEQTtFRDhKUSx3QkM3SmlCO0VEbUlyQiw2QkNuSXFCO0VEb0lyQixxQkNwSXFCO0FObTZEekI7O0FNNTVEQTtFRHNLUTtFQTlCSixpQ0N2SXVCO0VEd0l2Qix5QkN4SXVCO0FOaTZEM0I7O0FNOTVEQTtFRG9LUTtFQWhDSiwrQkNuSXVCO0VEb0l2Qix1QkNwSXVCO0FObTZEM0I7QU1oNkRJO0VBQ0k7QU5rNkRSOztBTTk1REE7RURpS1EsMEJDaEttQjtFRDBIdkIsNkJDMUh1QjtFRDJIdkIscUJDM0h1QjtBTm02RDNCOztBTWg2REE7RUR5SlE7RUFsQ0osb0NDdEh1QjtFRHVIdkIsNEJDdkh1QjtBTnE2RDNCOztBTWw2REE7RUR1SlE7RUFwQ0osbUNDbEh1QjtFRG1IdkIsMkJDbkh1QjtBTnU2RDNCOztBTWg2REE7RURtSVEsNEJDbElnQjtFRG9HcEIsMkJDcEdvQjtFRHFHcEIsbUJDckdvQjtBTnE2RHhCOztBTWw2REE7RUQySFE7RUExQkosOEJDaEdvQjtFRGlHcEIsc0JDakdvQjtBTnU2RHhCOztBTXA2REE7RUR5SFE7RUE1QkosNEJDNUZvQjtFRDZGcEIsb0JDN0ZvQjtFQUNwQjtBTnk2REo7O0FNdDZEQTtFRHNIUSwyQkNySGdCO0VEdUZwQiwwQkN2Rm9CO0VEd0ZwQixrQkN4Rm9CO0VBQ3BCO0FOMjZESjs7QU14NkRBO0VEaUhRLDZCQ2hIZ0I7RURrRnBCLDRCQ2xGb0I7RURtRnBCLG9CQ25Gb0I7RUFDcEI7QU42NkRKOztBTXQ2REE7RURtSUk7RUFDQTtFQUNBO0FMdXlESjtBTXg2RFE7RUFDSTtBTjA2RFo7O0FNcjZEQTtFRCtISTtFQUNBO0VBQ0E7QUwweURKO0FNdjZEUTtFQUNJO0VBQ0E7RUFDQTtBTnk2RFo7QU12NkRZO0VEMUZSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTG9nRUo7O0FNeDZEQTtFRHFISTtFQUNBO0VBQ0E7QUx1ekRKO0FNMTZEUTtFQUNJO0VBQ0E7RUFDQTtBTjQ2RFo7QU0xNkRZO0VEMUdSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHVoRUo7O0FNMzZEQTtFRDJHSTtFQUNBO0VBQ0E7QUxvMERKO0FNNzZEUTtFQUNJO0VBQ0E7RUFDQTtBTis2RFo7QU03NkRZO0VEMUhSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDBpRUo7O0FNOTZEQTtFRGlHSTtFQUNBO0VBQ0E7QUxpMURKO0FNaDdEUTtFQUNJO0VBQ0E7RUFDQTtBTms3RFo7QU1oN0RZO0VEMUlSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDZqRUo7O0FNMzZESTtFQUNJO0FOODZEUjs7QU1yNkRBO0VEckZJO0VBQ0E7RUFDQTtFQWtEQSwwQkNtQ3dCO0VEbEN4Qiw4QkNrQ3dCO0VEakN4QixzQkNpQ3dCO0FONDZENUI7QU0xNkRJO0VEckNBLHVCQ3NDNEI7RURyQzVCLDJCQ3FDNEI7RURwQzVCLG1CQ29DNEI7QU44NkRoQzs7QU16NkRBO0VBQ0k7QU40NkRKOztBTXg2REE7RUFDSTtBTjI2REo7O0FNdjZEQTtFQUNJO0FOMDZESjs7QU1uNkRBO0VBQ0k7RURyR0k7RUFHSjtFQUNBO0VDbUdBO0VBQ0E7RUFDQTtHQUVJO0FOdTZEUjs7QU1uNkRBO0VBQ0k7RUFDQTtFQUNBO0FOczZESjtBTXA2REk7RUFDSTtBTnM2RFI7O0FLOXlEUTtFQXRGQTtJQUVRO0VMdTREZDtBQUNGOztBS3AwRFE7RUEvREk7SUFFUTtFTHM0RGxCO0FBQ0Y7O0FLMXpEUTtFQXhFSTtJQUVRO0VMcTREbEI7QUFDRjs7QUtoMERRO0VBbEVJO0lBRVE7RUxxNERsQjtBQUNGOztBS3QxRFE7RUEvREk7SUFFUTtFTHc1RGxCO0FBQ0Y7O0FLNTBEUTtFQXhFSTtJQUVRO0VMdTVEbEI7QUFDRjs7QUtsMURRO0VBbEVJO0lBRVE7RUx1NURsQjtBQUNGOztBS3gyRFE7RUEvREk7SUFFUTtFTDA2RGxCO0FBQ0Y7O0FLOTFEUTtFQXhFSTtJQUVRO0VMeTZEbEI7QUFDRjs7QUtwMkRRO0VBbEVJO0lBRVE7RUx5NkRsQjtBQUNGOztBSzEzRFE7RUEvREk7SUFFUTtFTDQ3RGxCO0FBQ0Y7O0FLaDNEUTtFQXhFSTtJQUVRO0VM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VFpXO0VTYVg7RUFDQTtFQUNBO0VBQ0E7RUFvR0E7RUFDQTtBbEI0eUZGOztBa0J6eUZBOzs7O0VBNUdFLHlCVFpXO0VTYVg7RUFDQTtFQUNBO0VBQ0E7RUVBUTtFRjhHUjtBbEJnekZGO0FvQnI1RlU7RUYrRlY7Ozs7SUU1Rlk7RXBCeTVGVjtBQUNGO0FvQmg1Rkk7RUZrRko7Ozs7SUVqRk07RXBCczVGSjtBQUNGOztBa0I3ekZBO0VBQ0U7RUF0SUEsOEJURVU7RVNEVjtFQUNBO0VBc0lBO0FsQmswRkY7O0FrQjl6RkE7O0VBQUE7QUFHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FsQmkwRkY7QW1CbDdFSTtFRG5aSjtJQVFJO0VsQmkwRkY7QUFDRjtBa0IvekZFO0VBQ0U7QWxCaTBGSjtBa0I5ekZFO0VBQ0U7QWxCZzBGSjs7QWtCNXpGQTs7RUFBQTtBQUdBOztFQUVFO0VBQ0E7RUFDQTtBbEIrekZGOztBa0I1ekZBOztFQUFBO0FBR0E7RUFDRTtFQUNBO0VBQ0E7QWxCK3pGRjtBa0I3ekZFO0VBR0U7QWxCNnpGSjtBa0IxekZFO0VBQ0U7QWxCNHpGSjtBWXIvRkk7RU00TEU7QWxCNHpGTjs7QWtCdnpGQTtFQUNFO0VBQ0E7QWxCMHpGRjs7QWtCdnpGQTtFQUNFLHlCUnhNTztFUXlNUCxjUjlNUTtBVndnR1Y7O0FrQjV6RkE7RUFDRSx5QlJ4TU87RVF5TVAsY1I5TVE7QVZ3Z0dWOztBa0J2ekZBOztFQUFBO0FBSUU7RUFDRTtBbEJ5ekZKO0FZemdHSTtFTW1ORTtBbEJ5ekZOOztBa0JwekZBOztFQUFBO0FBR0E7RUFDRTtBbEJ1ekZGOztBa0JwekZBO0VBQ0U7QWxCdXpGRjs7QWtCcHpGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxCdXpGRjs7QWtCcHpGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbEJ1ekZGOztBa0JwekZBO0VBQ0U7RUFDQTtBbEJ1ekZGOztBa0JwekZBO0VBQ0U7RUFDQTtFQUNBO0FsQnV6RkY7O0FxQmprR0E7Ozs7O0VBQUE7QUFRQTtFUENFO0VBQ0E7RUFDQTtFT0RBO0VBQ0E7RUFDQTtFQUNBLGdCWE1LO0VXTEw7QXJCb2tHRjtBY3JrR0U7RUFDRTtFQUNBO0VBQ0E7QWR1a0dKO0FjdGtHSTtFQUNFO0Fkd2tHTjtBY3ZrR007RUFDRTtFQUNBO0VBQ0E7QWR5a0dSO0FtQmxqRkk7RUVyaUJKO0lBU0k7RXJCa2xHRjtBQUNGO0FxQmhsR0U7RUFDRTtBckJrbEdKO0FxQmhsR0k7RUFDRTtFSEdKLHlCVFpXO0VTYVg7RUFDQTtFQUNBO0VBQ0E7RUdMSTtFQUNBO0VBQ0E7RUFDQSxjWG5CRztBVnltR1Q7QXFCcGxHTTtFQUNFLGNYbkJDO0VXb0JEO0FyQnNsR1I7QXFCamxHTTtFQUNFO0VBQ0E7QXJCbWxHUjtBcUIva0dJO0VBQ0UsY1hoQ0c7RVdpQ0g7QXJCaWxHTjs7QXFCMWtHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHlCWGxEVTtFV21EVjtFQUNBO0FyQjZrR0Y7QXFCM2tHRTtFQUNFO0FyQjZrR0o7QXFCMWtHRTtFQUNFO0FyQjRrR0o7QXFCemtHRTtFQUNFO0FyQjJrR0o7QXFCeGtHRTtFUGhFQTtFQUNBO0VBQ0E7RU9nRUU7RUFDQTtFQUNBO0FyQjRrR0o7QWM1b0dFO0VBQ0U7RUFDQTtFQUNBO0FkOG9HSjtBYzdvR0k7RUFDRTtBZCtvR047QWM5b0dNO0VBQ0U7RUFDQTtFQUNBO0FkZ3BHUjtBcUJ2bEdJO0VBQ0Usa0JYN0RDO0VXOEREO0FyQnlsR047QXFCdmxHTTtFQUNFLGNYNUVFO0FWcXFHVjtBcUJ2bEdRO0VBQ0UsY1gxRUQ7RVcyRUM7QXJCeWxHVjs7QXFCbGxHQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBckJxbEdGOztBcUJsbEdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCcWxHRjs7QXFCbmxHQTs7RUgxRkU7RUc2RkEsY1g1R1E7RVc2R1IseUJYOUdVO0VXK0dWO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQnNsR0Y7O0FxQm5sR0E7RUFDRTtBckJzbEdGOztBc0J6dEdBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUF3QkE7O0VBQUE7QUFHQTtFQUNFO0VBckJBO0VBQ0E7QXRCNHRHRjtBc0Jyc0dFO0VBQ0U7RUFDQTtFQUNBO0F0QnVzR0o7QXNCcHNHRTs7RUFFRTtBdEJzc0dKO0FzQmxzR0k7O0VBRUU7RUFDQTtBdEJvc0dOOztBdUJ6dkdBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUFHQTtFQUNFLGVkMEVlO0VjekVmO0F2QjJ2R0Y7O0F1Qnh2R0E7OztFQUdFO0F2QjJ2R0Y7O0F1Qnh2R0E7RVZMSTtFQUNBO0VBQ0E7RVVLRiw4QmRWVTtFY1dWLGdCZGtFVTtFY2pFVjtFQUNBO0VBQ0E7RUhJUTtFR0ZSO0F2QjZ2R0Y7QW9CbHZHVTtFR25CVjtJSHNCWTtFcEJtdkdWO0FBQ0Y7QW9CMXVHSTtFR2hDSjtJSGlDTTtFcEI2dUdKO0FBQ0Y7O0F1QnB3R0E7RUFDRTtBdkJ1d0dGO0FtQjN2Rkk7RUk3Z0JKO0lBR0k7RXZCeXdHRjtBQUNGO0F1QnZ3R0U7RUFDRTtBdkJ5d0dKO0FtQm53Rkk7RUl2Z0JGO0lBR0k7RXZCMndHSjtBQUNGOztBQXJ3R0E7O0VBQUE7QXdCaERBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUFXQTs7RUFBQTtBQUdBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCa3pHRjtBd0JoekdFO0VBQ0M7QXhCa3pHSDtBbUJ2eUZJO0VLeGhCSjtJQWlCSTtFeEJrekdGO0FBQ0Y7QXdCaHpHRTtFQUVFO0F4Qml6R0o7QXdCOXlHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCZ3pHSjtBd0I5eUdJO0VBQ0U7QXhCZ3pHTjtBd0I5eUdNO0VBQ0U7QXhCZ3pHUjtBd0I3eUdNO0VBQ0U7QXhCK3lHUjtBd0IzeUdJO0VBQ0U7QXhCNnlHTjtBd0IzeUdNO0VBQ0U7QXhCNnlHUjtBd0IxeUdJO0VBQ0U7QXhCNHlHTjtBd0IxeUdNO0VBQ0U7QXhCNHlHUjtBd0J6eUdNO0VBQ0U7QXhCMnlHUjs7QXdCcnlHQTtFQUNFO0VBQ0E7QXhCd3lHRjs7QXlCbjRHQTs7Ozs7RUFBQTtBQU9BOztHQUFBO0FBcUVBOztHQUFBO0FBSUE7RUFDRTtFUDlDQSx3QlRsQmU7RVNtQmY7RUFDQTtFT3hCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCZlZVO0VlV1YsY2ZSTztFZVNQO0VBQ0E7RUFDQTtFQUNBO0VBNkRBO0F6QjgwR0Y7QXlCejRHRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJ5NEdKO0F5QnQ0R0U7RUFDRSx5QmYvQk07RWVnQ04sY2Y5Qks7RWUrQkw7QXpCdzRHSjtBeUJyNEdFO0VBQ0UseUJmbkNLO0Vlb0NMLGNmdENNO0VldUNOO0F6QnU0R0o7QXlCajJHRTtFQWpDQSx5QmY1Q1E7RWU2Q1IsY2YzQ087RWU0Q1A7QXpCcTRHRjtBeUJuNEdFO0VBQ0U7QXpCcTRHSjtBeUJsNEdFO0VBQ0U7QXpCbzRHSjtBeUJ0MkdJO0VBQ0U7QXpCdzJHTjtBeUJ0MkdJO0VBQ0U7QXpCdzJHTjtBeUJwMkdFO0VBQ0UseUJmNUZNO0FWazhHVjtBeUJyMkdJO0VBQ0U7RUFDQSx5QmYvRkk7RWVnR0osY2Y5Rkc7QVZxOEdUO0F5QnIyR0k7RUFDRTtFQUNBLHlCZmxHRztFZW1HSCxjZnJHSTtBVjQ4R1Y7QXlCbjJHRTtFQS9DQSxtQmYvQ0s7QVZvOEdQO0F5Qm41R0U7RVhoQ0E7RUFDQTtFQUNBLHFCV2dDa0I7RUFDaEI7RUFDQTtBekJzNUdKO0F5QnoyR0U7RUFDRTtBekIyMkdKOztBMEJqK0dBOzs7OztFQUFBO0FBT0E7RVJVRSwyQlRIZTtFU0lmO0VBQ0E7RVFWQTtFQUNBO0VBQ0EsVWhCUUs7RWdCUEw7RUFDQSx5QmhCTFE7RWdCTVI7RUFDQTtFQUNBO0VBQ0E7QTFCcStHRjtBbUJ6OEZJO0VPdGlCSjtJQWFJO0lBQ0E7RTFCcytHRjtBQUNGOztBMkI1L0dBOzs7OztFQUFBO0FBT0E7O0VBQUE7QUFJRTtFQUNFO0EzQjYvR0o7O0E0QnpnSEE7Ozs7O0VBQUE7QUFPQTs7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QzArSEo7QXVDeCtISTtFQUNFO0F2QzArSE47QXVDditITTtFQUNFO0F2Q3krSFI7QXVDcCtIRTtFQUNFO0VBQ0E7RUFDQTtBdkNzK0hKO0F1Q2grSEk7RUFDRSxjN0JsTEc7QVZvcElUO0F1Qzc5SEk7RUFDRSxjN0J4TEc7QVZ1cElUO0F1QzU5SEk7RUFDRTtBdkM4OUhOO0F3QzdwSUE7RUFDRTtBeEMrcElGO0F3QzVwSUU7RUFDRSxjOUJGSztBVmdxSVQ7QWlEenFJSTtFQUNJLGN2Q1FDO0FWbXFJVDtBeUNycUlFO0VBQ0U7QXpDdXFJSjtBeUNycUlFO0VBQ0U7QXpDdXFJSjtBMEMxcElFO0V4QkVBLHlCVFpXO0VTYVg7RUFDQTtFQUNBO0VBQ0E7RXdCSkU7RUFDQTtFdEJHTTtBcEI4cElWO0FvQnJwSVU7RXNCZlI7SXRCa0JVO0VwQnNwSVY7QUFDRjtBb0I3b0lJO0VzQjVCRjtJdEI2Qkk7RXBCZ3BJSjtBQUNGO0FtQjFwSEk7RXVCcGhCRjtJQU9JO0lBQ0E7RTFDMnFJSjtBQUNGO0EwQ3pxSUk7RUFDRTtFQUNBO0ExQzJxSU47QTBDeHFJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBLHdCakM1Qlc7QVRzc0lqQjtBbUIxcUhJO0V1QnBnQkE7SUFNSTtJQUNBO0UxQzRxSU47QUFDRjtBMEN6cUlRO0VBQ0U7RUFDQSxjaEN6Q0Q7QVZvdElUO0EwQ3ZxSVE7RUFDRTtFQUNBLGNoQy9DRDtBVnd0SVQ7QTBDbnFJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0ExQ3FxSUo7QTBDbHFJRTtFQUNFLHlCakMzRFM7RWlDNERUO0ExQ29xSUo7QTBDbHFJSTtFeEJ0REY7QWxCMnRJRjtBMENocUlFO0VBQ0U7RUFDQTtBMUNrcUlKO0EwQ2hxSUk7RUFDRTtFQUNBO0VBQ0E7RUFDQSxlaEM3RUc7QVYrdUlUO0EwQ2hxSU07RUFDRTtBMUNrcUlSO0EwQ2x2SUk7RUFDRSxhaENERztFZ0NFSCxlaENGRztBVnN2SVQ7QTBDdHZJSTtFQUNFLGFoQ0RHO0VnQ0VILGVoQ0ZHO0FWMHZJVDtBMEMxdklJO0VBQ0UsYWhDREc7RWdDRUgsZWhDRkc7QVY4dklUO0EwQzl2SUk7RUFDRSxhaENERztFZ0NFSCxlaENGRztBVmt3SVQ7QTBDbHdJSTtFQUNFLGFoQ0RHO0VnQ0VILGVoQ0ZHO0FWc3dJVDtBMkM1d0lBO0VBd0VFO0VBS0E7QTNDbXNJRjtBMkMvd0lFO0VBQ0UsY2pDQ0s7QVZneElUO0EyQy93SUU7RUFDRTtFQUNBO0EzQ2l4SUo7QTJDL3dJRTtFekJZQSx5QlRaVztFU2FYO0VBQ0E7RUFDQTtFQUNBO0VFQVE7RXVCYk47RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQ3F4SUo7QW9CendJVTtFdUJ6QlI7SXZCNEJVO0VwQjB3SVY7QUFDRjtBb0Jqd0lJO0V1QnRDRjtJdkJ1Q0k7RXBCb3dJSjtBQUNGO0EyQzd4SUk7RUFDRTtFN0JLSjtFQUNBO0VBQ0Esc0I2Qk5vQjtFQUNoQjtFQUNBO0EzQ2l5SU47QTJDOXhJSTtFekJkRjtFeUJpQkk7QTNDK3hJTjtBMkM3eElJO0VBQ0U7QTNDK3hJTjtBMkMzeElFO0VBQ0U7RUFDQSxjakN2Q0s7QVZvMElUO0EyQzF4SUU7RUFDRTtBM0M0eElKO0EyQ3p4SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzQzJ4SUo7QTJDenhJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNDMnhJTjtBMkN4eElJO0VBQ0U7QTNDMHhJTjtBMkNyeElFO0VBQ0U7RUFDQTtBM0N1eElKO0EyQ3B4SUU7RUFDRTtFQUNBO0EzQ3N4SUo7QTRDcjJJRTtFQUNFLGNsQ0NLO0FWczJJVDtBNENwMklJO0VBQ0U7QTVDczJJTjtBNENsMklFO0VBQ0U7RUFDQTtFQUNBO0tBQUE7QTVDbzJJSjtBNkNoM0lFO0VBQ0UsY25DQ0s7QVZpM0lUO0E2Q2gzSUU7RUFDRTtFQUNBO0E3Q2szSUo7QTZDLzJJRTtFQUNFO0VBQ0E7QTdDaTNJSjtBNkMvMklJO0VBQ0U7QTdDaTNJTjtBNkM3MklFO0VBQ0U7RUFDQTtFQUNBO0E3QysySUo7QThDbjRJ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QUVBO0lBQ0E7SUFDQTtFbkR5OUlWO0FBQ0Y7QW1EdjlJVTtFQUVFLHlCekNqZ0JGO0V5Q2tnQkUsY3pDaGdCSDtBVnc5SlQ7QW1EbDlJVTtFQUNFLHlCekN6Z0JGO0V5QzBnQkUsY3pDeGdCSDtBVjQ5SlQ7QW1EOThJSTtFQUNFO0VBQ0E7QW5EZzlJTjtBbUQ3OElJO0VBQ0U7RUFDQSxZekM1Z0JDO0V5QzZnQkQsV3pDN2dCQztFeUM4Z0JEO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsY3pDN2hCSTtFeUM4aEJKLGV6Q25oQkM7QVZrK0pQO0FtQng4SUk7RWdDaEJBO0lBWUk7SUFDQTtJQUNBO0lBQ0E7RW5EZzlJTjtFbUQ5OElNO0lBQ0U7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuRGc5SVI7QUFDRjtBbUQ3OElNO0VBQ0U7RUFDQSxZekMxaUJEO0V5QzJpQkMsV3pDM2lCRDtBVjAvSlA7QW1ENThJTTtFQUVFO0FuRDY4SVI7QW1EMThJTTtFQUNFO0FuRDQ4SVI7QW1EdDhJRTtFQWxrQkEseUJ6Q0RPO0V5Q0VQLGN6Q0pRO0V5Q0tSO0FuRDJnS0Y7QW1CMytJSTtFZ0NnQ0Y7SUE3akJFO0lBQ0EsY3pDVlE7RVZzaEtWO0VtRDFnS0U7SUFDRSxjekNiTTtFVnloS1Y7QUFDRjtBbURoOUlFO0VqQ3RqQkEseUJUWlc7RVNhWDtFQUNBO0VBQ0E7RUFDQTtFRUFRO0UrQnNqQk47RUFDQTtFQUNBO0VBQ0E7RUFDQTtBbkRxOUlKO0FvQnRnS1U7RStCeWlCUjtJL0J0aUJVO0VwQnVnS1Y7QUFDRjtBb0I5L0pJO0UrQjRoQkY7SS9CM2hCSTtFcEJpZ0tKO0FBQ0Y7QW1CM2dKSTtFZ0NvQ0Y7SUFXSTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBRUE7SUFDQTtJQUNBLGN6QzVsQkk7RVYyaktSO0FBQ0Y7QW9EcGtLQTs7Ozs7RUFBQTtBQU9BO0VBQ0UsaUIxQ1dLO0UwQ1ZMO0FwRHFrS0Y7QW9EbGtLSTtFQUNFO0VBQ0E7QXBEb2tLTjtBbUJyaUpJO0VpQ2ppQkE7SUFLSTtJQUNBO0VwRHFrS047QUFDRjtBbUIzaUpJO0VpQ3RpQko7SUFpQkk7RXBEb2tLRjtBQUNGO0FvRGxrS0U7RWhDSVE7RUZXUjtBbEJ1aktGO0FvQnpqS1U7RWdDYlI7SWhDZ0JVO0VwQjBqS1Y7QUFDRjtBb0JqaktJO0VnQzFCRjtJaEMyQkk7RXBCb2pLSjtBQUNGO0FtQjlqSkk7RWlDbGhCRjtJaENJUTtFcEJnbEtSO0FBQ0Y7QW9CeGtLVTtFZ0NiUjtJaENnQlU7RXBCeWtLVjtBQUNGO0FvQmhrS0k7RWdDMUJGO0loQzJCSTtFcEJta0tKO0FBQ0Y7QW9ENWxLSTtFQUNFO0FwRDhsS047O0FvRHpsS0E7RUFvQ0U7RUFDQTtFQUNBO0VBQ0E7QXBEeWpLRjtBb0QvbEtFO0VBRUU7QXBEZ21LSjtBb0Q5bEtJO0VBR0U7QXBEOGxLTjtBb0QxbEtFO0VBQ0UsYzFDdkNLO0FWbW9LVDtBb0QxbEtJO0VBQ0U7RUFDQTtBcEQ0bEtOO0FtQnBtSkk7RWlDMWZBO0lBS0k7SUFDQTtFcEQ2bEtOO0FBQ0Y7QW9EeGxLRTtFQUNFLDJCM0NoRGlCO0UyQ2lEakI7QXBEMGxLSjtBb0R4bEtJO0VBQ0Usd0IzQ25EVztBVDZvS2pCO0FtQmpuSkk7RWlDemdCSjtJQTBDSTtJQUNBO0VwRG9sS0Y7QUFDRjtBb0RsbEtFO0VBQ0U7QXBEb2xLSjtBb0RqbEtFO0VBQ0U7RUFDQTtFQUNBO0tBQUE7QXBEbWxLSjtBb0RobEtFO0VBQ0U7QXBEa2xLSjtBb0Qva0tFO0VBQ0U7RXRDN0RGO0VBQ0E7RUFDQSxxQnNDNERrQjtFQUNoQjtFQUNBO0VBQ0E7QXBEbWxLSjtBbUIzb0pJO0VpQzdjRjtJQVFJO0VwRG9sS0o7RW9EbGxLSTtJQUNFO0lBQ0E7RXBEb2xLTjtBQUNGO0FvRGpsS0k7RUFDRTtFQUVBO0VBQ0E7QXBEa2xLTjtBbUJ6cEpJO0VpQzdiQTtJQU9JO0lBQ0E7SUFDQTtFcERtbEtOO0FBQ0Y7QW9EL2tLRTtFQUNFO0FwRGlsS0o7QW9EOWtLRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBcEQ4a0tKO0FtQjNxSkk7RWlDM2FGO0lBV0k7SUFDQTtFcEQra0tKO0FBQ0Y7QW9EN2tLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCMUNoSkc7RTBDaUpIO0VBRUE7RUFDQTtBcEQ4a0tOO0FtQmhzSkk7RWlDNVpBO0lBaUJJO0lBQ0E7RXBEK2tLTjtBQUNGO0FvRDNrS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBcEQ2a0tOO0FtQjVzSkk7RWlDcllBO0lBT0k7SUFDQTtJQUNBO0lBQ0E7RXBEOGtLTjtBQUNGO0FvRDNrS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7S0FBQTtFQUNBO0FwRDZrS047QW1CN3RKSTtFaUN2WEE7SUFVSTtJQUNBO0VwRDhrS047QUFDRjtBb0Qza0tJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEQ2a0tOO0FvRDFrS0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBcEQ0a0tOO0FtQnR2Skk7RWlDaFdBO0lBYUk7SUFDQTtJQUNBO0VwRDZrS047QUFDRjtBb0Qza0tNO0VBQ0UsYzFDeE5FO0UwQ3lORjtFQUNBO0FwRDZrS1I7QW1CbHdKSTtFaUM5VUU7SUFNSTtFcEQ4a0tSO0FBQ0Y7QW1CdndKSTtFaUM5VUU7SUFXSTtJQUNBO0VwRDhrS1I7QUFDRjtBbUI3d0pJO0VpQzlVRTtJQWdCSTtJQUNBO0lBQ0E7SUFDQTtTQUFBO0lBQ0E7RXBEK2tLUjtBQUNGO0FvRDFrS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FwRDRrS0o7QW1CaHlKSTtFaUNwVEY7SUFXSTtFcEQ2a0tKO0FBQ0Y7QW1CcnlKSTtFaUNwVEY7SUFlSTtJQUNBO0lBQ0E7RXBEOGtLSjtBQUNGO0FvRDVrS0k7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBcEQ2a0tOO0FvRDNrS007RUFDRTtBcEQ2a0tSO0FvRHhrS0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXBEMGtLSjtBbUI3ekpJO0VpQ25SRjtJQVNJO0lBQ0E7RXBEMmtLSjtBQUNGO0FvRHprS0k7RUFDRTtFQUNBO0FwRDJrS047O0FvRHRrS0E7RUFDRTtBcER5a0tGOztBbUIzMEpJO0VpQzVQSjtJQUVJO0VwRDBrS0Y7QUFDRjs7QXFEOTNLQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7QXJEZzRLRjtBcUQ5M0tFO0VuQ2lCQSx5QlRaVztFU2FYO0VBQ0E7RUFDQTtFQUNBO0VtQ25CRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyRG80S0o7QW1CMTJKSTtFa0NuaUJGO0l2Q29CQTtJQUNBO0VkNjNLQTtBQUNGO0FtQmgzSkk7RWtDbmlCRjtJQWdCSTtFckR1NEtKO0FBQ0Y7QXFEcjRLSTtFQUNFO0FyRHU0S047QXFEcDRLSTtFQUNFO0FyRHM0S047QXFEbjRLSTtFQUNFO0VBQ0E7QXJEcTRLTjtBcURsNEtJO0VBQ0U7QXJEbzRLTjtBcURsNEtNO0VBQ0UsYTNDcENDO0FWdzZLVDs7QXNEbDdLQTs7Ozs7RUFBQTtBQU9BO0VBQ0UseUI1Q09VO0U0Q05WO0VBQ0E7RUFDQTtFQUNBO0VBQ0EsYzVDTlU7QVYwN0taO0FtQnA1Skk7RW1DdGlCSjtJQVNJO0V0RHE3S0Y7QUFDRjtBc0RuN0tFOzs7O0VBSUU7RUFDQTtFQUNBO09BQUE7QXREcTdLSjtBc0RsN0tFO0VwQ0RBLHlCVFpXO0VTYVg7RUFDQTtFQUNBO0VBQ0E7RUVBUTtFa0NBTjtFcENJRix3QlRsQmU7RVNtQmY7RUFDQTtFT3hCQTtFQUNBO0VBQ0E7RUFDQTtFQUNBLHlCZlZVO0VlV1YsY2ZSTztFZVNQO0VBQ0E7RUFDQTtFQUNBO0U2QldFLHlCNUNwQks7RTRDcUJMLGM1QzNCUTtFNEM0QlI7RUFDQTtFeENBRjtFQUNBO0VBQ0EscUJKbkJLO0U0Q21CSDtFQUNBO0F0RHM4S0o7QW9CcjhLVTtFa0NaUjtJbENlVTtFcEJzOEtWO0FBQ0Y7QW9CNzdLSTtFa0N6QkY7SWxDMEJJO0VwQmc4S0o7QUFDRjtBeUIvOUtFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Qis5S0o7QXlCNTlLRTtFQUNFLHlCZi9CTTtFZWdDTixjZjlCSztFZStCTDtBekI4OUtKO0F5QjM5S0U7RUFDRSx5QmZuQ0s7RWVvQ0wsY2Z0Q007RWV1Q047QXpCNjlLSjtBc0RuK0tJO0VBQ0UseUI1QzdCRztBVmtnTFQ7QXNEbCtLSTtFeENURjtFQUNBO0VBQ0EscUJKbkJLO0U0QzZCRDtFQUNBO0VBQ0E7QXREcStLTjtBbUIxK0pJO0VtQ2poQkY7SUEwQkk7RXREcStLSjtBQUNGO0FzRG4rS0k7RTdCTEYseUJmNUNRO0VlNkNSLGNmM0NPO0VlNENQO0F6QjIrS0Y7QXlCeitLRTtFQUNFO0F6QjIrS0o7QXlCeCtLRTtFQUNFO0F6QjArS0o7O0F1RHZpTEE7Ozs7O0VBQUE7QUFPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZEeWlMRjtBbUJ4Z0tJO0VvQ3RpQko7SUFRSTtJQUNBO0lBQ0EsUzdDRUc7STZDREg7SUFDQTtTQUFBO0V2RDBpTEY7QUFDRjtBbUJqaEtJO0VvQ3RpQko7SUFnQkk7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFdkQyaUxGO0FBQ0Y7QXVEeGlMSTtFckNJRix3QlRsQmU7RVNtQmY7RUFDQTtFcUNISTtFQUNBO0F2RDJpTE47QXVEdmlMRTtFQUNFO0F2RHlpTEo7QW1CcGlLSTtFb0N0Z0JGO0lBSUk7SUFDQTtFdkQwaUxKO0FBQ0Y7QXVEdmlMRTtFQUNFO0VBQ0E7QXZEeWlMSjtBdUR2aUxJO0VBQ0UsbUI3Q2xDQztBVjJrTFA7QW1CampLSTtFb0N6ZkE7SUFJSTtFdkQwaUxOO0FBQ0Y7QW1CdGpLSTtFb0N6ZkE7SUFRSTtFdkQyaUxOO0FBQ0Y7QW1CM2pLSTtFb0M1ZUU7SUFDRTtJQUNBO0lBQ0E7RXZEMGlMTjtBQUNGO0F1RHJpTFE7RUFDRSxhN0M5REQ7QVZxbUxUO0F1RGppTEU7RUFDRTtFQUNBO09BQUE7RUFDQTtPQUFBO0F2RG1pTEo7QW1CMWtLSTtFb0M1ZEY7SUFNSTtTQUFBO0V2RG9pTEo7RXVEbGlMSTtJQUNFO0V2RG9pTE47QUFDRjtBdURoaUxFO0VBQ0U7RUFDQTtFQUNBO0F2RGtpTEo7QW1CdmxLSTtFb0N4Y0U7SUFDRTtFdkRraUxOO0FBQ0Y7QXVEOWhMRTtFbkM1RVE7RW1DOEVOO0VBQ0E7RUFDQTtBdkRnaUxKO0FvQnZtTFU7RW1DbUVSO0luQ2hFVTtFcEJ3bUxWO0FBQ0Y7QW9CL2xMSTtFbUNzREY7SW5DckRJO0VwQmttTEo7QUFDRjtBbUI1bUtJO0VvQ2xjRjtJQU9JO0lBQ0E7SUFDQTtFdkQyaUxKO0FBQ0Y7O0F1RHZpTEE7RUFDRTtFQUNBO0VBQ0E7QXZEMGlMRjtBdURyaUxNO0VBQ0U7RUFDQTtBdkR1aUxSO0F1RGxpTE07RUFDRTtBdkRvaUxSOztBd0Q3cUxBOzs7OztFQUFBO0FBT0E7RUFDRSx5QjlDRU87RUkwQlA7RUFDQTtFQUNBLHVCMEM3QmdCO0VBQ2hCO0VBQ0E7RUFDQTtBeERpckxGO0F3RC9xTEU7RUFDRSxjOUNQTTtBVndyTFY7QXdEOXFMRTtFQUNFO09BQUE7RUFDQTtPQUFBO0VBQ0E7QXhEZ3JMSjtBbUJ4cEtJO0VxQzNoQkY7SUFLSTtTQUFBO0V4RGtyTEo7QUFDRjtBd0QxcUxJO0VBQ0U7QXhENHFMTjs7QXlEN3NMQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXpEK3NMRjtBbUI3cUtJO0VzQ3RpQko7SUFRSTtFekQrc0xGO0FBQ0Y7QW1CbHJLSTtFc0N0aUJKO0lBWUk7SUFDQTtFekRndExGO0FBQ0Y7QW1CeHJLSTtFc0N0aUJKO0lBaUJJO0lBQ0E7SUFDQTtJQUNBO1NBQUE7RXpEaXRMRjtBQUNGO0F5RC9zTEU7RUFDRTtBekRpdExKO0FtQm5zS0k7RXNDL2dCRjtJQUlJO0V6RGt0TEo7QUFDRjtBeUQvc0xFO0VBQ0U7RUFDQTtBekRpdExKO0F5RDdzTEU7RUFDRTtBekQrc0xKO0F5RDFzTEk7RUFDRTtBekQ0c0xOOztBeURwc0xFO0VBQ0U7QXpEdXNMSjtBbUJ0dEtJO0VzQ2xmRjtJQUlJO0V6RHdzTEo7QUFDRjs7QTBEeHdMQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0U1Q29CQTtFQUNBO0VBQ0EscUI0Q3BCZ0I7RUFDaEI7RUFDQTtBMUQyd0xGO0FtQmx2S0k7RXVDdGlCSjtJQWdCSTtFMUQ0d0xGO0FBQ0Y7QTBEMXdMRTtFQUNFO0ExRDR3TEo7QTBEendMRTtFQUNFO0ExRDJ3TEo7QTBEcHdMRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFEc3dMSjtBMERwd0xJO0VBQ0U7RUFDQSxjaERyQ0c7QVYyeUxUO0EwRHh3TEk7RUFDRTtFQUNBLGNoRHJDRztBVjJ5TFQ7QW1CeHdLSTtFdUN2Z0JGO0lBZUk7RTFEb3dMSjtBQUNGO0EwRGh3TEk7RUFDRTtFQUNBO0VBQ0E7QTFEa3dMTjtBMERod0xNO0VBQ0U7RUFDQSx3QmpEaERTO0VpRGlEVCxjaER4REM7QVYwekxUO0EwRGh3TE07RUFDRTtFQUNBO0VBQ0E7QTFEa3dMUjtBMEQ5dkxJO0VBQ0U7QTFEZ3dMTjtBMEQ5dkxNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RXhDdkROLHlCVFpXO0VTYVg7RUFDQTtFQUNBO0VBQ0E7RUVBUTtFc0NzREY7RUFDQSxjaEQ1RUM7QVZnMUxUO0FvQmx6TFU7RXNDc0NKO0l0Q25DTTtFcEJtekxWO0FBQ0Y7QW9CMXlMSTtFc0N5QkU7SXRDeEJBO0VwQjZ5TEo7QUFDRjtBMEQ1d0xRO0VBQ0U7QTFEOHdMVjtBMER4d0xNO0VqQzdCSixtQmYvQ0s7RWdEOEVDO0ExRDB3TFI7QXlCdnlMRTtFWGhDQTtFQUNBO0VBQ0EscUJXZ0NrQjtFQUNoQjtFQUNBO0F6QjB5TEo7QW1CcjBLSTtFdUM5Y0U7STVDakVKO0lBQ0E7STRDc0VRO0lBQ0EsV2hEbkZIO0VWczJMTDtBQUNGO0EwRGp4TFE7RUFDRTtBMURteExWO0EwRGh4TFE7RUFDRTtBMURreExWO0EwRDV3TEU7RUFDRTtBMUQ4d0xKO0EwRDN3TEU7RUFDRTtFQUNBO0ExRDZ3TEo7QTBEMXdMRTtFQUNFO0ExRDR3TEo7QTBEeHdMSTtFQUNFO0VBQ0E7QTFEMHdMTjtBMERud0xJO0VBQ0U7RUFDQTtBMURxd0xOOztBMkRqNUxJO0VBQ0k7RUFDQTtFQUNBO0EzRG81TFI7QTJEaDVMZ0I7RUFDSTtBM0RrNUxwQjtBbUI5MktJO0V3Q3JpQlk7SUFJUTtFM0RtNUx0QjtBQUNGO0FtQm4zS0k7RXdDcmlCWTtJQVFRO0UzRG81THRCO0FBQ0Y7QW1CeDNLSTtFd0NyaUJZO0lBWVE7RTNEcTVMdEI7QUFDRjtBMkRqNUxvQjtFQUNJO0VBQ0E7QTNEbTVMeEI7QTJEaDVMb0I7RUFDSTtBM0RrNUx4QjtBMkQ5NExnQjtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNEZzVMcEI7QTJENzRMZ0I7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0QrNExwQjtBbUIxNUtJO0V3QzVmWTtJQVVRO0UzRGc1THRCO0FBQ0Y7QTJEMzRMZ0I7RUFDSTtFQUNBO0VBQ0EsY2pEMURYO0VpRDJEVztFQUNBO0VBQ0E7RUFDQSx3QmxEdkRIO0FUbzhMakI7QTJEMTRMZ0I7RXpDeENkLHdCVGxCZTtFU21CZjtFQUNBO0VPeEJBO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJmVlU7RWVXVixjZlJPO0VlU1A7RUFDQTtFQUNBO0VBQ0E7RWtDdURrQjtFQUNBO0VBQ0E7RUFDQTtFQUNBLG1CakR2RVg7RWlEd0VXO0VBRUE7QTNEdTVMcEI7QXlCbjlMRTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBRUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBekJtOUxKO0F5Qmg5TEU7RUFDRSx5QmYvQk07RWVnQ04sY2Y5Qks7RWUrQkw7QXpCazlMSjtBeUIvOExFO0VBQ0UseUJmbkNLO0Vlb0NMLGNmdENNO0VldUNOO0F6Qmk5TEo7QTJEMTZMb0I7RUFDSTtFQUNBO0EzRDQ2THhCO0EyRHg2TG9CO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QTNEMDZMeEI7QTJEcDZMb0I7RWxDbERsQix5QmY1Q1E7RWU2Q1IsY2YzQ087RWU0Q1A7QXpCeTlMRjtBeUJ2OUxFO0VBQ0U7QXpCeTlMSjtBeUJ0OUxFO0VBQ0U7QXpCdzlMSjtBMkQ1Nkx3QjtFQUNJO0EzRDg2TDVCO0FtQjMrS0k7RXdDbGVZO0lBcUNRO0UzRDQ2THRCO0FBQ0Y7O0FBMzhMQTs7RUFBQTtBNERsRkE7Ozs7O0VBQUE7QUFRRTtFQUNFO0VBQ0E7RUFDQTtBNURpaU1KO0E0RGhpTUk7RUFDRTtFQUNBO0E1RGtpTU47QTREN2hNRTtFQUNFO0E1RCtoTUo7QW1CdGdMSTtFeUMxaEJGO0lBSUk7RTVEZ2lNSjtBQUNGO0E0RDloTUk7RUFDRTtBNURnaU1OO0FtQjlnTEk7RXlDbmhCQTtJQUlJO0lBQ0E7RTVEaWlNTjtBQUNGO0FtQnBoTEk7RXlDbmhCQTtJQVFJO0lBQ0E7RTVEbWlNTjtBQUNGO0E0RC9oTUU7O0VBRUU7QTVEaWlNSjtBbUI5aExJO0V5Q3JnQkY7O0lBS0k7RTVEbWlNSjtBQUNGOztBNEQvaE1FO0VBQ0U7QTVEa2lNSjs7QTREOWhNRTtFQUNFO0E1RGlpTUo7O0E2RHpsTUE7Ozs7O0VBQUE7QUFPQTtFQUNFO0E3RDJsTUY7QTZEemxNRTtFQUNFO0E3RDJsTUo7QTZEemxNSTtFQUdFO0E3RHlsTU47QTZEcGxNRTtFQUNFO0VBQ0E7RUFDQSx5Qm5EZEs7RW1EZUw7RUFDQTtFQUNBO0VBQ0E7QTdEc2xNSjtBNkRubE1FO0VBRUU7RUFDQTtFQUNBO0VBQ0EseUJuRDFCSztFbUQyQkw7RUFDQTtFQUNBO0VBQ0E7QTdEb2xNSjtBNkRsbE1JO0VBQ0UsYW5EbkNJO0FWdW5NVjtBbUJsbExJO0UwQzlnQkY7SUFnQkk7SUFDQTtFN0RvbE1KO0FBQ0Y7QTZEamxNRTtFQUNFLHlCbkQ5Q1E7RW1EK0NSO0VBQ0E7T0FBQTtFQUNBO0VBQ0E7QTdEbWxNSjtBNkRqbE1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTdEbWxNTjtBbUJybUxJO0UwQ2xmQTtJQU9JO0U3RG9sTU47QUFDRjtBNkRsbE1NO0VBQ0U7RUFDQTtFQUNBO0E3RG9sTVI7QW1CL21MSTtFMEN4ZUU7SUFNSTtJQUNBO0lBQ0E7RTdEcWxNUjtBQUNGO0E2RG5sTVE7RUFDRTtFQUNBO0VBQ0E7QTdEcWxNVjtBbUIzbkxJO0UwQ3JkSTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0U3RG1sTVI7QUFDRjs7QThEaHJNQTs7Ozs7RUFBQTtBQ0FBOzs7OztFQUFBO0FBT0E7RUFDRTtFQUNBO0EvRHdyTUY7O0ErRHByTUU7RUFDRTtBL0R1ck1KO0ErRHByTUU7RUFDRTtBL0Rzck1KO0ErRG5yTUU7RUFDRTtBL0Rxck1KO0ErRG5yTUk7RWpEZkY7RUFDQTtFQUNBO0FkcXNNRjtBY25zTUU7RUFDRTtFQUNBO0VBQ0E7QWRxc01KO0FjcHNNSTtFQUNFO0Fkc3NNTjtBY3JzTU07RUFDRTtFQUNBO0VBQ0E7QWR1c01SO0ErRGxzTU07RUFDRSxtQnJEVEQ7QVY2c01QOztBZ0VodU1BOzs7OztFQUFBO0FBT0E7RUFDRTtFQUNBO0VBdUJBO0VBQ0EseUJ0RGpCUztBVjZ0TVg7QWdFbnVNRTtFQUVFO0FoRW91TUo7QWdFbnVNSTtFQUdFO0FoRW11TU47QWdFanVNSTtFQUNFO0FoRW11TU47QVl4dU1JO0VvRFFJO0FoRW11TVI7QWdFN3RNRTtFQUNFO0FoRSt0TUo7QWdFenRNRTtFQUNFLGN0RDFCSztBVnF2TVQ7QWdFeHRNRTtFQUNFO0FoRTB0TUo7QWdFcnRNSTtFQUNFO0VBQ0E7QWhFdXRNTjtBZ0V0dE1NO0VBQ0U7QWhFd3RNUjtBZ0V2dE1RO0VBR0U7QWhFdXRNVjtBZ0VodE1NO0VBQ0U7QWhFa3RNUjtBZ0U1c01JO0VBQ0U7QWhFOHNNTjtBZ0Uzc01JO0VBQ0U7RUFDQTtBaEU2c01OO0FnRTNzTU07RUFDRTtBaEU2c01SO0FnRTFzTU07RUFFRTtBaEUyc01SO0FtQi91TEk7RTZDdGlCSjtJQW1GSTtFaEVzc01GO0FBQ0Y7QWdFbnNNSTtFbERyRkY7RUFDQTtFQUNBO0FkMnhNRjtBY3p4TUU7RUFDRTtFQUNBO0VBQ0E7QWQyeE1KO0FjMXhNSTtFQUNFO0FkNHhNTjtBYzN4TU07RUFDRTtFQUNBO0VBQ0E7QWQ2eE1SO0FnRWx0TU07RUFDRTtBaEVvdE1SO0FnRWx0TVE7RUFDRTtBaEVvdE1WO0FnRWx0TVE7RUFDRTtBaEVvdE1WO0FnRS9zTU07RUFDRTtBaEVpdE1SO0FnRS9zTVE7RUFDRTtFQUNBO0VBQ0E7QWhFaXRNVjtBZ0Uvc01VO0VBQ0U7RUFDQTtFbERuRlY7RUFDQTtFQUNBLHdCa0RrRjBCO0VBQ2hCO0VBQ0E7RUFDQTtFQUNBO0FoRW10TVo7QWdFN3NNSTs7RUFFRSwyQnZEdEhXO0FUcTBNakI7QWdFM3NNTTtFQUNFO0FoRTZzTVI7QWdFNXNNUTtFQUNFO0FoRThzTVY7QWdFdnNNSTtFQUNFO0FoRXlzTU47QWdFeHNNTTtFQUdFO0FoRXdzTVI7QWdFcHNNSTtFQUNFLHlCdERsSkc7QVZ3MU1UO0FnRXJzTU07RUFDRTtFQUNBLHlCdERySkM7RXNEc0pELGN0RHhKRTtBVisxTVY7QWdFcnNNTTtFQUNFO0VBQ0EsY3REMUpDO0VzRDJKRCx5QnREN0pFO0FWbzJNVjtBZ0Vwc01JO0U5QzdJRix5QlRaVztFU2FYO0VBQ0E7RUFDQTtFQUNBO0U4QzJJSTtFQUNBO0FoRTBzTU47QWdFeHNNTTtFQUNFO0FoRTBzTVI7QWdFcnNNSTtFQUNFO0FoRXVzTU47O0FpRTMzTUE7Ozs7O0VBQUE7QUFPQTtFQWdLRTs7R0FBQTtBakVndU1GO0FpRXAzTUU7RUFDRTtFQUNBO0VBQ0E7RUFDQSx5QnZEaEJRO0FWczRNWjtBaUVwM01JO0VBQ0U7QWpFczNNTjtBbUJuMkxJO0U4Q3BoQkE7SUFJSTtFakV1M01OO0FBQ0Y7QWlFcDNNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRXMzTU47QWlFbDNNTTtFQUNFO0FqRW8zTVI7QWlFLzJNRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FqRWkzTUo7QWlFLzJNSTtFQUNFO0VBQ0EsY3ZEN0NHO0FWODVNVDtBaUUvMk1NO0UvQzlCSix5QlRaVztFU2FYO0VBQ0E7RUFDQTtFQUNBO0UrQzZCTTtFQUNBO0FqRW8zTVI7QWlFLzJNVTtFQUNFO0VBQ0E7RUFFQSxjdkR6REg7RXVEMERHO0FqRWczTVo7QWlFNzJNVTtFQUNFO0FqRSsyTVo7QWlFejJNUTtFQUNFO0FqRTIyTVY7QWlFdjJNUTtFQUNFO0VBRUE7QWpFdzJNVjtBaUVqMk1RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpFbTJNVjtBaUVsMk1VO0VBR0U7QWpFazJNWjtBaUU5MU1VO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7QWpFKzFNWjtBaUVwMU1NO0VBQ0U7QWpFczFNUjtBaUU5ME1JO0VBR0U7QWpFODBNTjtBbUJ6NkxJO0U4Q25hRTtJQUlJO0VqRTQwTVI7QUFDRjtBaUV2ME1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWpFeTBNSjtBbUJ2N0xJO0U4Q3paRjtJQVVJO0lBQ0E7RWpFMDBNSjtBQUNGO0FpRXYwTUU7RUFDRTtBakV5ME1KO0FpRWwwTUU7RUFDRTtFQUNBO0VBQ0E7T0FBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRW8wTUo7QWlFbDBNSTtFQUNFO0FqRW8wTU47QWlFbDBNTTtFQUdFO0FqRWswTVI7QWlFN3pNSTtFQUNFO0FqRSt6TU47QWlFN3pNTTtFQUVFO0FqRTh6TVI7QWlFM3pNTTtFQUNFO0UvQzdMTiw4QlRFVTtFU0RWO0VBQ0E7RStDNkxNO0VBQ0E7QWpFK3pNUjtBaUUxek1RO0VBRUU7RUFDQTtBakUyek1WO0FtQmorTEk7RThDOVdBO0lBMEJJO0VqRXl6TU47QUFDRjtBaUVyek1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsU3ZEL01HO0V1RGdOSDtBakV1ek1KO0FtQjcrTEk7RThDL1VGO0lBUUk7RWpFd3pNSjtBQUNGO0FpRXZ6TUk7RUFDRTtBakV5ek1OO0FpRXh6TU07RUFHRTtBakV3ek1SO0FpRXB6TUk7RUFDRTtFQUNBO0VBQ0E7QWpFc3pNTjtBbUI3L0xJO0U4QzVUQTtJQU1JO0VqRXV6TU47QUFDRjtBaUVuek1JO0VBQ0U7QWpFcXpNTjtBaUU5eU1FO0VBQ0U7RUFDQTtBakVnek1KO0FtQnpnTUk7RThDelNGO0lBS0k7RWpFaXpNSjtBQUNGO0FpRTl5TUk7RUFDRTtFQUNBO0FqRWd6TU47QWlFOXlNTTtFQUNFO0VBQ0E7RUFLQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakU0eU1SO0FpRXp5TU07RUFDRTtFQUNBO0tBQUE7QWpFMnlNUjtBaUV2eU1JO0VBQ0U7RUFDQTtFQUNBO0VBQ0EsY3ZEblNJO0V1RG9TSjtFQUNBO0FqRXl5TU47QWlFdnlNTTtFQUNFO0FqRXl5TVI7QW1CNWlNSTtFOEN0UUE7SUFhSTtFakV5eU1OO0FBQ0Y7QW1CampNSTtFOEN0UUE7SUFpQkksYXZEclNEO0VWK2tOTDtBQUNGO0FtQnRqTUk7RThDblBFO0lBRUk7SUFDQTtFakUyeU1SO0FBQ0Y7QW1CNWpNSTtFOEMzT0U7SUFFRztFakV5eU1QO0FBQ0Y7QWlFcnlNSTtFQUNFO0FqRXV5TU47QW1CcGtNSTtFOENwT0E7SUFHSTtJQUNBO0VqRXl5TU47QUFDRjtBaUV0eU1JO0V4QzdSRix5QmY1Q1E7RWU2Q1IsY2YzQ087RWU0Q1A7RXdDNlJJO0FqRTB5TU47QXlCcmtORTtFQUNFO0F6QnVrTko7QXlCcGtORTtFQUNFO0F6QnNrTko7QWlFOXlNTTtFL0NsVEosd0JUbEJlO0VTbUJmO0VBQ0E7RU94QkE7RUFDQTtFQUNBO0VBQ0E7RUFDQSx5QmZWVTtFZVdWLGNmUk87RWVTUDtFQUNBO0VBQ0E7RUFDQTtFd0NpVU07QWpFNHpNUjtBeUIzbk5FO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFFQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6QjJuTko7QXlCeG5ORTtFQUNFLHlCZi9CTTtFZWdDTixjZjlCSztFZStCTDtBekIwbk5KO0F5QnZuTkU7RUFDRSx5QmZuQ0s7RWVvQ0wsY2Z0Q007RWV1Q047QXpCeW5OSjtBaUU1ME1FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRTgwTUo7QWlFNTBNSTtFQUNFO0FqRTgwTU47QW1CdG9NSTtFOEN6TUE7SUFJSTtFakUrME1OO0FBQ0Y7QWlFNzBNTTtFQUNFO0FqRSswTVI7QW1COW9NSTtFOENsTUU7SUFJSTtFakVnMU1SO0FBQ0Y7QWlFNTBNSTtFQUNFO0FqRTgwTU47QW1CdHBNSTtFOENqTkY7SUErQkk7RWpFNDBNSjtBQUNGO0FtQjNwTUk7RThDak5GO0lBbUNJO0lBQ0E7RWpFNjBNSjtBQUNGO0FtQmpxTUk7RThDak5GO0lBd0NJO0lBQ0E7RWpFODBNSjtBQUNGO0FpRTUwTUk7RUFDRSx5QnZEMVhNO0V1RDJYTjtFQUNBO0FqRTgwTU47QWlFNzBNTTtFQUNFO0FqRSswTVI7QWlFOTBNUTtFQUdFO0FqRTgwTVY7QWlFeDBNUTtFQUVFO0VBQ0E7QWpFeTBNVjtBbUJ0ck1JO0U4Q3JLQTtJQXdCSSxhdkQ3WUQ7RVZvdE5MO0FBQ0Y7QW1CM3JNSTtFOENyS0E7SUE0Qkk7RWpFdzBNTjtBQUNGO0FpRXQwTU07RUFDRTtBakV3ME1SO0FpRXAwTUk7RUFDRTtBakVzME1OO0FtQnRzTUk7RThDaklBO0lBSUk7RWpFdTBNTjtBQUNGO0FpRXIwTU07RUFDRTtBakV1ME1SO0FpRWwwTUU7RUFDRTtFQUNBO0VBQ0E7QWpFbzBNSjtBaUVsME1JO0VBQ0U7RUFDQTtBakVvME1OO0FpRWowTUk7RUFDRTtBakVtME1OO0FpRWgwTUk7RUFDRTtBakVrME1OOztBa0Uxd05BOzs7OztFQUFBO0FBT0E7RUFDRTtFQUNBO0VBQ0EsZ0J4RFNLO0FWbXdOUDtBbUJ6dU1JO0UrQ3RpQko7SUFNSTtFbEU2d05GO0FBQ0Y7QWtFM3dORTtFQUNFO0VBQ0E7RUFDQTtBbEU2d05KO0FtQm52TUk7RStDdGlCSjtJQWdCSTtFbEU2d05GO0FBQ0Y7QWtFM3dORTtFQUNFO0VBRUE7RUFDQTtFQUNBO0VBQ0E7QWxFNHdOSjtBa0Uxd05JO0VBRUU7QWxFMndOTjtBbUJsd01JO0UrQ3RnQkE7SUFFSTtFbEUwd05OO0FBQ0Y7QWtFdndOSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxFeXdOTjtBbUI5d01JO0UrQ2hnQkE7SUFPSTtFbEUyd05OO0FBQ0Y7QW1CbnhNSTtFK0N2ZkU7SUFHSTtJQUNBO0lBQ0E7SUFDQTtJQUNBLHlCeERsREQ7SXdEbURDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsRTJ3TlI7RWtFendOUTtJQUNFO0VsRTJ3TlY7RWtFeHdOUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0VsRTB3TlY7RWtFdndOUTtJQUNFO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtFbEV5d05WO0VrRXZ3TlE7SUFDRTtFbEV5d05WO0FBQ0Y7QWtFandOSTtFQUNFLHlCeERoR0c7RXdEaUdIO0VBQ0E7QWxFbXdOTjtBbUJsME1JO0UrQ3BjQTtJQU1JO0VsRW93Tk47QUFDRjtBbUJ2ME1JO0UrQ25oQkY7SUF5Rkk7RWxFcXdOSjtBQUNGO0FrRWx3TkU7RUFDRTtFQUNBO0VBQ0E7RUFDQSxjeERqSEs7QVZxM05UO0FrRWp3TkU7RUFDRTtFQUNBO0FsRW13Tko7QW1CdDFNSTtFK0MvYUY7SUFLSTtFbEVvd05KO0FBQ0Y7QWtFandORTtFQUNFO0VBQ0E7QWxFbXdOSjtBbUIvMU1JO0UrQ3RhRjtJQUtJO0lBQ0E7SUFDQTtFbEVvd05KO0FBQ0Y7QWtFbHdOSTtFQUNFO0VBQ0E7QWxFb3dOTjtBa0Vqd05NO0VBQ0U7QWxFbXdOUjtBbUI3Mk1JO0UrQzVaQTtJQVVJO0VsRW13Tk47QUFDRjtBa0Vod05JOztFQUVFO0VBQ0E7RUFDQTtBbEVrd05OO0FtQngzTUk7RStDOVlBOztJQU9JO0lBQ0E7RWxFb3dOTjtBQUNGO0FrRWp3Tkk7RXBEdklGO0VBQ0E7RUFDQSxxQm9Ec0lvQjtFQUNoQjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FsRXF3Tk47QWtFbndOTTtFQUNFO0FsRXF3TlI7QWtFdHdOTTtFQUNFO0FsRXF3TlI7QWtFbndOUTtFQUNFO0FsRXF3TlY7QWtFdHdOUTtFQUNFO0FsRXF3TlY7QWtFL3ZORTtFQUNFO0VBQ0E7RUFDQTtBbEVpd05KO0FtQnA1TUk7RStDaFhGO0lBT0k7SUFDQTtFbEVpd05KO0FBQ0Y7QWtFOXZORTtFQUNFO0VBQ0E7RUFDQTtBbEVnd05KO0FrRXh2TkU7RUFDRTtBbEUwdk5KO0FrRXp2Tkk7RUFDRTtBbEUydk5OO0FtQnI2TUk7RStDelZGO0lBUUk7SUFDQTtFbEUwdk5KO0FBQ0Y7QWtFeHZOSTtFQUNFLHlCekRsTk87QVQ0OE5iO0FrRXZ2Tk07RUFDRSxtQnhEbE5EO0V3RG1OQyx5QnhEMU5JO0V3RDJOSixjeERoT0k7QVZ5OU5aO0FrRXZ2TlE7RXBEck1OO0VBQ0E7RUFDQSxxQm9Eb013QjtFQUNoQjtFQUNBO0VBQ0E7RUFDQSxjeERwT0Q7RXdEcU9DO0FsRTJ2TlY7QWtFeHZOUTtFcEQ5TU47RUFDQTtFQUNBLHFCb0Q2TXdCO0VBQ2hCO0VBQ0E7RUFDQSx5QnpEdk9HO0V5RHdPSCxjeEQ3T0Q7QVZ5K05UO0FrRXR2TkU7RUFDRTtBbEV3dk5KO0FrRXB2Tkk7RUFDRSx5QnhEM1BJO0V3RDRQSjtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxFc3ZOTjtBa0Vsdk5NO0VBQ0U7RUFDQTtBbEVvdk5SO0FrRWh2Tkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBbEVrdk5OO0FrRWh2Tk07RUFDRTtBbEVrdk5SO0FtQi85TUk7RStDMVJBO0lBV0k7RWxFa3ZOTjtBQUNGO0FrRWh2Tk07RUFDRTtFQUNBO0FsRWt2TlI7QWtFOXVOUTtFQUNFO0VBQ0E7QWxFZ3ZOVjtBa0U1dU5NO0VBQ0U7QWxFOHVOUjtBbUIvK01JO0UrQ2hRRTtJQUlJO0VsRSt1TlI7QUFDRjtBa0UzdU5JO0VBQ0U7QWxFNnVOTjtBbUJ2L01JO0UrQ3ZQQTtJQUlJO0VsRTh1Tk47QUFDRjtBa0U1dU5NO0VBQ0U7RUFDQTtFQUNBO0FsRTh1TlI7QWtFM3VOTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxFNnVOUjtBa0UzdU5RO0VBQ0U7QWxFNnVOVjtBa0UzdU5VO0VBQ0UseUJ4RC9UQTtBVjRpT1o7QWtFMXVOVTtFQUNFO0FsRTR1Tlo7QWtFcnVORTtFQUNFLGN4RG5WUTtFd0RvVlI7QWxFdXVOSjtBa0VwdU5FO0VBQ0UsY3hEeFZRO0V3RHlWUjtBbEVzdU5KO0FrRW51TkU7RUFDRSxjeEQ3VlE7RXdEOFZSO0FsRXF1Tko7QWtFdnVORTtFQUNFLGN4RDdWUTtFd0Q4VlI7QWxFcXVOSjs7QWtFaHVORTtFQUNFO0FsRW11Tko7O0FrRTV0Tk07RUFDRTtBbEUrdE5SO0FtQnJpTkk7RStDM0xFO0lBSUk7RWxFZ3VOUjtBQUNGO0FrRTd0Tk07RUFDRTtBbEUrdE5SO0FtQjdpTkk7RStDbkxFO0lBSUk7RWxFZ3VOUjtBQUNGOztBbUUvbE9BOzs7OztFQUFBO0FBT0E7RXJENkJFO0VBQ0E7RUFDQSxxQnFENUJnQjtFQUdoQjtBbkUrbE9GO0FtQi9qTkk7RWdEdGlCSjtJQVNJO0VuRWdtT0Y7QUFDRjtBbUU5bE9FO0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBbkUrbE9KO0FtRTVsT007RUFDRTtFQUNBO0FuRThsT1I7QW1FemxPSTtFQUNFO0FuRTJsT047QW1CbGxOSTtFZ0QxaEJGO0lBcUJJO0VuRTJsT0o7QUFDRjtBbUV6bE9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QW5FMmxPTjtBbUI3bE5JO0VnRGxnQkE7SUFPSTtJQUNBO0VuRTRsT047QUFDRjtBbUJubU5JO0VnRDFoQkY7SUFxQ0k7RW5FNGxPSjtBQUNGO0FtRTFsT0k7RUFDRTtBbkU0bE9OO0FtQjNtTkk7RWdEbGZBO0lBSUk7RW5FNmxPTjtBQUNGO0FtRTNsT007RUFDRTtBbkU2bE9SO0FtRTFsT007RUFDRTtBbkU0bE9SO0FtRXpsT007RUFDRTtBbkUybE9SO0FtRXhsT007RUFDRTtFQUNBO0VBQ0EsYXpEOUREO0V5RCtEQztFQUNBO0VBQ0E7QW5FMGxPUjtBbUJqb05JO0VnRC9kRTtJQVNJO0lBQ0E7RW5FMmxPUjtBQUNGO0FtRXpsT1E7RUFDRTtFQUNBLHlCekQ5RUU7QVZ5cU9aO0FtRXZsT007RXJEbkVKO0VBQ0E7RXFEb0VNO0VBQ0E7RUFDQTtFQUNBO0VBQ0EseUJ6RC9GRTtFSTRCUjtFQUNBO0VBQ0EscUJxRGtFc0I7RUFDaEI7RUFDQTtBbkU0bE9SO0FtQnpwTkk7RWdENWNFO0lBWUk7SUFDQSxxQnpEM0ZIO0VWd3JPTDtBQUNGO0FtRTNsT1E7RUFFRTtBbkU0bE9WO0FtRXpsT1E7RUFDRSx5QnpEeEdFO0FWbXNPWjtBbUVybE9FOztFQUVFO0VBQ0E7QW5FdWxPSjs7QW9FdHRPSTtFQUNJLHlCMURRQztBVml0T1Q7QW9FeHRPUTtFQUNJO0FwRTB0T1o7O0FxRTl0T0E7RUFDSTtFQUNBO0VBQ0Y7QXJFaXVPRjs7QXNFbnVPSTtFQUNJO0VBQ0E7QXRFc3VPUjtBc0VwdU9RO0VBQ0k7RUFDQTtBdEVzdU9aO0FtQmhzTkk7RW1EeGlCSTtJQUlRO0V0RXd1T2Q7QUFDRjtBbUJyc05JO0VtRDVpQkE7SUFjUTtFdEV1dU9WO0FBQ0Y7QXNFbHVPWTtFQUNJO0F0RW91T2hCO0FtQjdzTkk7RW1EeGhCUTtJQUdRO0V0RXN1T2xCO0FBQ0Y7O0FBL3BPQTs7RUFBQSxDIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvZ2xvYmFsLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL2JhZ3VldHRlYm94LmpzL3NyYy9iYWd1ZXR0ZUJveC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuc2Nzcy9ub3JtYWxpemUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9fdmFyaWFibGVzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL3JlZmxleC1ncmlkL3Njc3MvaW5jbHVkZXMvX2dyaWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL3JlZmxleC1ncmlkL3Njc3MvaW5jbHVkZXMvX2hlbHBlcnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvY2hvaWNlcy5qcy9zcmMvc3R5bGVzL2Nob2ljZXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9jb25maWcvX2xheW91dC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2NvbmZpZy9fdHlwb2dyYXBoeS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2NvbmZpZy9fdmFycy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX2FuaW1hdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19mb2N1cy12aXNpYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fZm9udC1zbW9vdGhpbmcuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19zaXplLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19kZWZhdWx0cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL21vZHVsYXJzY2FsZS1zYXNzL3N0eWxlc2hlZXRzL21vZHVsYXJzY2FsZS9fcmVzcG9uZC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2Jhc2UvX2RydXBhbDguc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19pY29uLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fbWFpbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19uYXYtdG9nZ2xlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX2J1dHRvbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9faW1hZ2UtY3JlZGl0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX3dyYXBwZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fY29udGFpbmVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX2JyZWFkY3J1bWJzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX3RpdGxlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX3NvY2lhbC1saW5rcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX2lsbHVzdHJhdGlvbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19zZWFyY2gtc3VnZ2VzdGlvbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fcGVyc29uLWZpbHRlcnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fdmlkZW8tY29udHJvbC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19zbGljay1zbGlkZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2VtbXNnLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19lbnRpdHkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL192aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19xdW90ZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19nYWxsZXJ5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19saW5rZWQtbG9nb3Muc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2Rvd25sb2Fkcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW1hZ2UtdGV4dC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fcmVzb3VyY2VzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19hdWRpby5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fZm9ybXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX25hdi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fYmFubmVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19oZWFkZXItbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2Zvb3Rlci1uZXdzbGV0dGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19mb290ZXItaW5mby5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbGVhcm4tbW9yZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9faG9tZXBhZ2Utc2VjdGlvbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fc2VhcmNoLWJhci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fcG9wdXAuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL192aWV3cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2VhcmNoLXJlc3VsdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3NpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3RlYXNlci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fZmlsdGVycy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2VhcmNoLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19zZWNvbmRhcnkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3JlbGF0ZWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX2xpc3Rpbmcuc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTWFpbiAtIEdsb2JhbFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQWRvYmUgZm9udHNcbiAqL1xuQGltcG9ydCB1cmwoJ2h0dHBzOi8vdXNlLnR5cGVraXQubmV0L3FlcDJyamEuY3NzJyk7XG5cbi8qKlxuICogRGVwZW5kZW5jaWVzXG4gKi9cbkBpbXBvcnQgJ35tb2R1bGFyc2NhbGUtc2Fzcy9zdHlsZXNoZWV0cy9tb2R1bGFyc2NhbGUnO1xuQGltcG9ydCAnfmJhZ3VldHRlYm94LmpzL3NyYy9iYWd1ZXR0ZUJveCc7XG5AaW1wb3J0ICd+aW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ35ub3JtYWxpemUuc2Nzcy9ub3JtYWxpemUuc2Nzcyc7XG5AaW1wb3J0ICd+cmVmbGV4LWdyaWQvc2Nzcy9yZWZsZXguc2Nzcyc7XG5AaW1wb3J0ICd+Y2hvaWNlcy5qcy9zcmMvc3R5bGVzL2Nob2ljZXMuc2Nzcyc7XG5cbi8qKlxuICogQ29uZmlnXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy9sYXlvdXQnO1xuQGltcG9ydCAnY29uZmlnL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnY29uZmlnL3ZhcnMnO1xuXG4vKipcbiAqIEhlbHBlcnNcbiAqL1xuQGltcG9ydCAnaGVscGVycy9hbmltYXRpb25zJztcbkBpbXBvcnQgJ2hlbHBlcnMvZm9jdXMtdmlzaWJsZSc7XG5AaW1wb3J0ICdoZWxwZXJzL2ZvbnQtc21vb3RoaW5nJztcbkBpbXBvcnQgJ2hlbHBlcnMvbWl4aW5zJztcbkBpbXBvcnQgJ2hlbHBlcnMvc2l6ZSc7XG5AaW1wb3J0ICdoZWxwZXJzL3RhYmxlJztcblxuLyoqXG4gKiBCYXNlXG4gKi9cbkBpbXBvcnQgJ2Jhc2UvZGVmYXVsdHMnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvZHJ1cGFsOCc7XG5AaW1wb3J0ICdiYXNlL2ljb24nO1xuQGltcG9ydCAnYmFzZS9tYWluJztcblxuLyoqXG4gKiBBdG9tc1xuICovXG5AaW1wb3J0ICdhdG9tcy9uYXYtdG9nZ2xlJztcbkBpbXBvcnQgJ2F0b21zL2J1dHRvbnMnO1xuQGltcG9ydCAnYXRvbXMvaW1hZ2UtY3JlZGl0JztcbkBpbXBvcnQgJ2F0b21zL3dyYXBwZXInO1xuQGltcG9ydCAnYXRvbXMvY29udGFpbmVyJztcbkBpbXBvcnQgJ2F0b21zL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2F0b21zL3RpdGxlJztcbkBpbXBvcnQgJ2F0b21zL3NvY2lhbC1saW5rcyc7XG5AaW1wb3J0ICdhdG9tcy9ncmlkJztcbkBpbXBvcnQgJ2F0b21zL2lsbHVzdHJhdGlvbic7XG5AaW1wb3J0ICdhdG9tcy9zZWFyY2gtc3VnZ2VzdGlvbnMnO1xuQGltcG9ydCAnYXRvbXMvcGVyc29uLWZpbHRlcnMnO1xuQGltcG9ydCAnYXRvbXMvdmlkZW8tY29udHJvbCc7XG5AaW1wb3J0ICdhdG9tcy9zbGljay1zbGlkZXInO1xuXG4vKipcbiAqIE1vbGVjdWxlc1xuICovXG5AaW1wb3J0ICdtb2xlY3VsZXMvZW1tc2cnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2VudGl0eSc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvZm9ybXMnO1xuQGltcG9ydCAnbW9sZWN1bGVzL25hdic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvYmFubmVyJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9oZWFkZXItbGlua3MnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2Zvb3Rlci1uZXdzbGV0dGVyJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9mb290ZXItaW5mbyc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvbGVhcm4tbW9yZSc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvaG9tZXBhZ2Utc2VjdGlvbic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvc2VhcmNoLWJhcic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvcG9wdXAnO1xuXG4vKipcbiAqIE9yZ2FuaXNpbXNcbiAqL1xuQGltcG9ydCAnb3JnYW5pc21zL2hlYWRlcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvZm9vdGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy92aWV3cyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2VhcmNoLXJlc3VsdHMnO1xuQGltcG9ydCAnb3JnYW5pc21zL3NpZGViYXInO1xuQGltcG9ydCAnb3JnYW5pc21zL3RlYXNlcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvZmlsdGVycyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2VhcmNoJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9zZWNvbmRhcnknO1xuQGltcG9ydCAnb3JnYW5pc21zL3JlbGF0ZWQnO1xuQGltcG9ydCAnb3JnYW5pc21zL2xpc3RpbmcnO1xuLyoqXG4gKiBUZW1wbGF0ZXNcbiAqL1xuLy8gQGltcG9ydCAndGVtcGxhdGVzL2Zyb250JztcbiIsIi8qIVxuICogYmFndWV0dGVCb3guanNcbiAqIEBhdXRob3IgIGZlaW1vc2lcbiAqIEB2ZXJzaW9uICUlSU5KRUNUX1ZFUlNJT04lJVxuICogQHVybCBodHRwczovL2dpdGh1Yi5jb20vZmVpbW9zaS9iYWd1ZXR0ZUJveC5qc1xuICovXG5cbiNiYWd1ZXR0ZUJveC1vdmVybGF5IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDAwMDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIyMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC44KTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IC41cyBlYXNlO1xuXG4gICAgJi52aXNpYmxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuZnVsbC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgZmlndXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDsgICAgICAvLyBuZWVkZWQgZm9yIG1vYmlsZVxuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlOyAgIC8vIE9wZXJhIDEyIGltYWdlIHN0cmV0Y2hpbmcgZml4XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgLy8gSUU4IGZpeFxuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG5cbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsMCwwLC42KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGZpZ2NhcHRpb24ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgICAgICAgICAgY29sb3I6ICNjY2M7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuNik7XG4gICAgICAgICAgICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6LTFweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2JhZ3VldHRlQm94LXNsaWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIHRyYW5zaXRpb246IGxlZnQgLjRzIGVhc2UsIHRyYW5zZm9ybSAuNHMgZWFzZTtcblxuICAgICYuYm91bmNlLWZyb20tcmlnaHQge1xuICAgICAgICBhbmltYXRpb246IGJvdW5jZUZyb21SaWdodCAuNHMgZWFzZS1vdXQ7XG4gICAgfVxuXG4gICAgJi5ib3VuY2UtZnJvbS1sZWZ0IHtcbiAgICAgICAgYW5pbWF0aW9uOiBib3VuY2VGcm9tTGVmdCAuNHMgZWFzZS1vdXQ7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUZyb21SaWdodHtcbiAgICAwJSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgNTAlIHsgbWFyZ2luLWxlZnQ6IC0zMHB4OyB9XG4gICAgMTAwJSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlRnJvbUxlZnR7XG4gICAgMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAgIDUwJSB7IG1hcmdpbi1sZWZ0OiAzMHB4OyB9XG4gICAgMTAwJSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG59XG5cbiVhcnJvdy1idXR0b24ge1xuICAgIHRvcDogNTAlO1xuICAgIHRvcDogY2FsYyg1MCUgLSAzMHB4KTtcbiAgICB3aWR0aDogNDRweDtcbiAgICBoZWlnaHQ6IDYwcHg7XG59XG5cbi5iYWd1ZXR0ZUJveC1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMTUlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMjMyMzI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCw1MCw1MCwuNSk7XG4gICAgY29sb3I6ICNkZGQ7XG4gICAgZm9udDogMS42ZW0gc2Fucy1zZXJpZjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIC40cyBlYXNlO1xuXG4gICAgJjpmb2N1cyxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSg1MCw1MCw1MCwuOSk7XG4gICAgfVxuXG4gICAgJiNuZXh0LWJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgJWFycm93LWJ1dHRvbjtcbiAgICAgICAgcmlnaHQ6IDIlO1xuICAgIH1cblxuICAgICYjcHJldmlvdXMtYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAlYXJyb3ctYnV0dG9uO1xuICAgICAgICBsZWZ0OiAyJTtcbiAgICB9XG5cbiAgICAmI2Nsb3NlLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgcmlnaHQ6IDIlO1xuICAgICAgICByaWdodDogY2FsYygyJSArIDZweCk7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgLy8gRmlyZWZveCBmaXhcbiAgICBzdmcge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG59XG5cbi8qXG4gICAgUHJlbG9hZGVyXG4gICAgQm9ycm93ZWQgZnJvbSBodHRwOi8vdG9iaWFzYWhsaW4uY29tL3NwaW5raXQvXG4qL1xuXG4uYmFndWV0dGVCb3gtc3Bpbm5lciB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbGVmdDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC0yMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAtMjBweDtcbn1cblxuLmJhZ3VldHRlQm94LWRvdWJsZS1ib3VuY2UxLFxuLmJhZ3VldHRlQm94LWRvdWJsZS1ib3VuY2UyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgb3BhY2l0eTogLjY7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGFuaW1hdGlvbjogYm91bmNlIDJzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xufVxuXG4uYmFndWV0dGVCb3gtZG91YmxlLWJvdW5jZTIge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTFzO1xufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZSB7XG4gICAgMCUsIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDApO1xuICAgIH0gNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG59XG4iLCIvKiEgbm9ybWFsaXplLnNjc3MgdjAuMS4wIHwgTUlUIExpY2Vuc2UgfCBiYXNlZCBvbiBnaXQuaW8vbm9ybWFsaXplICovXG5cbi8qKlxuICogMS4gU2V0IGRlZmF1bHQgZm9udCBmYW1pbHkgdG8gc2Fucy1zZXJpZi5cbiAqIDIuIFByZXZlbnQgaU9TIHRleHQgc2l6ZSBhZGp1c3QgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlLCB3aXRob3V0IGRpc2FibGluZ1xuICogICAgdXNlciB6b29tLlxuICovXG5cbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjsgLyogMSAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gKi9cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbn1cblxuLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAqIGFuZCBGaXJlZm94LlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAqL1xuXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICovXG5cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBQcmV2ZW50IG1vZGVybiBicm93c2VycyBmcm9tIGRpc3BsYXlpbmcgYGF1ZGlvYCB3aXRob3V0IGNvbnRyb2xzLlxuICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAqL1xuXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICovXG5cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lO1xufVxuXG4vKiBMaW5rc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBjb2xvciBmcm9tIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qKlxuICogSW1wcm92ZSByZWFkYWJpbGl0eSB3aGVuIGZvY3VzZWQgYW5kIGFsc28gbW91c2UgaG92ZXJlZCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDtcbn1cblxuLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxlIHNldCB0byBgYm9sZGVyYCBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqL1xuXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi8qKlxuICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAqL1xuXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbn1cblxuLyoqXG4gKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXI6IDA7XG59XG5cbi8qKlxuICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gKi9cblxuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4vKiBHcm91cGluZyBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICovXG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7XG59XG5cbi8qKlxuICogQWRkcmVzcyBkaWZmZXJlbmNlcyBiZXR3ZWVuIEZpcmVmb3ggYW5kIG90aGVyIGJyb3dzZXJzLlxuICovXG5cbmhyIHtcbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4vKiBGb3Jtc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICovXG5cbi8qKlxuICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogICAgS25vd24gaXNzdWU6IGFmZmVjdHMgY29sb3Igb2YgZGlzYWJsZWQgZWxlbWVudHMuXG4gKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7IC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICBtYXJnaW46IDA7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAqL1xuXG5idXR0b24sXG5zZWxlY3Qge1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLyoqXG4gKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICovXG5cbmJ1dHRvbixcbmh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xufVxuXG4vKipcbiAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gKi9cblxuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAqL1xuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAqL1xuXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG59XG5cbi8qKlxuICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAqXG4gKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAqL1xuXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bztcbn1cblxuLyoqXG4gKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAqIDIuIEFkZHJlc3MgYGJveC1zaXppbmdgIHNldCB0byBgYm9yZGVyLWJveGAgaW4gU2FmYXJpIGFuZCBDaHJvbWVcbiAqICAgIChpbmNsdWRlIGAtbW96YCB0byBmdXR1cmUtcHJvb2YpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAtd2Via2l0LWJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xufVxuXG4vKipcbiAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICovXG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAqL1xuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm9yZGVyOiAwOyAvKiAxICovXG4gIHBhZGRpbmc6IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gKi9cblxub3B0Z3JvdXAge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyogVGFibGVzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAqL1xuXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwO1xufVxuXG50ZCxcbnRoIHtcbiAgcGFkZGluZzogMDtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggdmFyaWFibGVzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBQcmVmaXhcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFlvdSBjYW4gb3B0aW9uYWxseSBuYW1lc3BhY2UgcmVmbGV4IGNsYXNzZXMgdG8gYXZvaWQgY2xhc2hpbmcgd2l0aCBvdGhlciBjc3MgZnJhbWV3b3Jrc1xuLy8gZS5nLiBzZXR0aW5nICRyZWZsZXgtcHJlZml4IGFzIFwicmVmbGV4LVwiIGhlcmUgd291bGQgY2F1c2UgY29sLXNtLTYgdG8gYmVjb21lIHJlZmxleC1jb2wtc20tNlxuLy8gRXhhbXBsZTogJHJlZmxleC1wcmVmaXg6IHJlZmxleC07XG4vLyBCeSBkZWZhdWx0IHRoaXMgaXMgYW4gZW1wdHkgc3RyaW5nXG4kcmVmbGV4LXByZWZpeDogbnVsbCAhZGVmYXVsdDtcblxuXG4vLyBMZWdhY3kgc3VwcG9ydFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVmbGV4IGFkZHMgYSBsb3Qgb2YgY3NzIHByb3BlcnRpZSB0byBzdXBwb3J0IG9sZGVyIGJyb3dzZXJzIHRoYXQgZG9uJ3Qgc3VwcG9ydCBmbGV4Ym94IGxheW91dC5cbi8vIElmIHlvdSBwcmVmZXIgdG8gdXNlIHRoaXMgYXMgYSBwdXJlbHkgZmxleGJveCBncmlkIHdpdGhvdXQgbGVnYWN5IHN1cHBvcnQgdGhlbiBzZXQgdGhpcyB0byBmYWxzZVxuJGxlZ2FjeS1zdXBwb3J0OiB0cnVlICFkZWZhdWx0O1xuXG4vLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgaGVscGVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVmbGV4IGhhcyBzb21lIGdlbmVyaWMgdmlzaWJpbGl0eSBjbGFzc2VzIHRvIGhpZGUgZWxlbWVudHMgYXQgZGlmZmVyZW50IGJyZWFrcG9pbnRzLlxuLy8gSWYgeW91IHdhbnQgdG8gZGlzYWJsZSB0aGVzZSB0aGVuIHNldCB0aGlzIHRvIGZhbHNlXG4kdmlzaWJpbGl0eS1oZWxwZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLyBHcmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcmVmbGV4LWNvbHVtbnM6IDEyICFkZWZhdWx0OyAvLyBudW1iZXIgb2YgY29sdW1uc1xuXG4vLyBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHJlZmxleC14czogNTc2cHggIWRlZmF1bHQ7XG4kcmVmbGV4LXNtOiA3NjhweCAhZGVmYXVsdDtcbiRyZWZsZXgtbWQ6IDk5MnB4ICFkZWZhdWx0O1xuJHJlZmxleC1sZzogMTIwMHB4ICFkZWZhdWx0O1xuJHJlZmxleC14bGc6IDE2MDBweCAhZGVmYXVsdDtcblxuJHJlZmxleC14eHMtbWF4OiAoJHJlZmxleC14cyAtIDEpO1xuJHJlZmxleC14cy1tYXg6ICgkcmVmbGV4LXNtIC0gMSk7XG4kcmVmbGV4LXNtLW1heDogKCRyZWZsZXgtbWQgLSAxKTtcbiRyZWZsZXgtbWQtbWF4OiAoJHJlZmxleC1sZyAtIDEpO1xuJHJlZmxleC1sZy1tYXg6ICgkcmVmbGV4LXhsZyAtIDEpO1xuXG4kcmVmbGV4LWJyZWFrcG9pbnRzOiAoXG4gIHh4czogMHB4LFxuICB4czogJHJlZmxleC14cyxcbiAgc206ICRyZWZsZXgtc20sXG4gIG1kOiAkcmVmbGV4LW1kLFxuICBsZzogJHJlZmxleC1sZyxcbiAgeGxnOiAkcmVmbGV4LXhsZ1xuKTtcblxuLy8gU3BhY2luZ1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHJlZmxleC1ncmlkLXNwYWNpbmc6IDE1cHggIWRlZmF1bHQ7XG5cbi8vIEN1c3RvbSBwcm9wZXJ0aWVzIHNvIG90aGVycyBjYW4gcmVmZXJlbmNlIHRoZSB2YXJpYWJsZXMuXG46cm9vdCB7XG4gIC0tcmVmbGV4LWNvbHVtbnM6ICN7ICRyZWZsZXgtY29sdW1ucyB9O1xuICAtLXJlZmxleC1ncmlkLXNwYWNpbmc6ICN7ICRyZWZsZXgtZ3JpZC1zcGFjaW5nIH07XG4gIC0tcmVmbGV4LXhzOiAjeyAkcmVmbGV4LXhzIH07XG4gIC0tcmVmbGV4LXNtOiAjeyAkcmVmbGV4LXNtIH07XG4gIC0tcmVmbGV4LW1kOiAjeyAkcmVmbGV4LW1kIH07XG4gIC0tcmVmbGV4LWxnOiAjeyAkcmVmbGV4LWxnIH07XG4gIC0tcmVmbGV4LXhsZzogI3sgJHJlZmxleC14bGcgfTtcbiAgLS1yZWZsZXgteHhzLW1heDogI3sgJHJlZmxleC14eHMtbWF4IH07XG4gIC0tcmVmbGV4LXhzLW1heDogI3sgJHJlZmxleC14cy1tYXggfTtcbiAgLS1yZWZsZXgtc20tbWF4OiAjeyAkcmVmbGV4LXNtLW1heCB9O1xuICAtLXJlZmxleC1tZC1tYXg6ICN7ICRyZWZsZXgtbWQtbWF4IH07XG4gIC0tcmVmbGV4LWxnLW1heDogI3sgJHJlZmxleC1sZy1tYXggfTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggY29udGFpbmVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29udGFpbmVyLFxuLiN7JHJlZmxleC1wcmVmaXh9Y29udGFpbmVyLWZ1bGwge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIHBhZGRpbmctcmlnaHQ6ICgkcmVmbGV4LWdyaWQtc3BhY2luZyAqIDIpO1xuICAgIHBhZGRpbmctbGVmdDogKCRyZWZsZXgtZ3JpZC1zcGFjaW5nICogMik7XG5cbiAgICAuI3skcmVmbGV4LXByZWZpeH1ncmlkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJHJlZmxleC1ncmlkLXNwYWNpbmc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtJHJlZmxleC1ncmlkLXNwYWNpbmc7XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1jb250YWluZXIge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC14cztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgtc207XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LW1kO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC1sZztcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LXhsZztcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggZ3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9Z3JpZCB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBkaXNwbGF5LWZsZXgoKTtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAoKTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBzZXR1cC13aGl0ZXNwYWNlKCk7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBAaW5jbHVkZSByZXNldC13aGl0ZXNwYWNlKCk7XG4gICAgfVxuXG4gICAgLy8gaGFuZGxlIHdoZW4gbGlzdHMgYXJlIHVzZWQgYXMgYSBncmlkXG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGNvbCBkZWZhdWx0c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICBAaW5jbHVkZSByZXNldC13aGl0ZXNwYWNlKCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgcGFkZGluZzogJHJlZmxleC1ncmlkLXNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgICAgICBAaW5jbHVkZSByZXNldC13aGl0ZXNwYWNlKCk7XG4gICAgfVxuXG4gICAgLy8gaGFuZGxlIGdyaWRzIG5lc3RlZCBpbiBjb2x1bW5zXG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Z3JpZCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgoMSwgMSwgYXV0byk7XG4gICAgICAgIG1hcmdpbjogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgIH1cblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgKmRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgem9vbTogMTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggZ3JpZCBnZW5lcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC0pO1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLXhzLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtc20tKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC1tZC0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLWxnLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLXhsZy0pO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGNvbC1hdXRvXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1jb2wtYXV0byB7XG4gICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLXhzLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLXNtLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLW1kLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLWxnLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC14bGctYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBvcmRlciBoZWxwZXJzIGdlbmVyYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1ha2Utb3JkZXItaGVscGVycygpO1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICcteHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLXNtJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICctbGcnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy14bGcnKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBvZmZzZXQgaGVscGVycyBnZW5lcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYWtlLW9mZnNldC1oZWxwZXJzKCk7XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLXhzJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLXNtJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLW1kJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLWxnJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy14bGcnKTtcbn1cbiIsIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggZ3JpZCBnZW5lcmF0aW9uIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG1ha2UtcmVmbGV4LWdyaWQoJGNsYXNzKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1yZWZsZXgtY29sdW1ucygkcmVmbGV4LWNvbHVtbnMsICRjbGFzcywgd2lkdGgpO1xufVxuXG5AbWl4aW4gY2FsYy1yZWZsZXgtY29sdW1ucygkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgICBAaWYgJHR5cGUgPT0gd2lkdGggYW5kICRpbmRleCA+IDAge1xuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH0jeyRjbGFzc30jeyRpbmRleH0ge1xuICAgICAgICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRyZWZsZXgtY29sdW1ucykpO1xuICAgICAgICAgICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgICAgICAgICAqd2lkdGg6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRyZWZsZXgtY29sdW1ucykpIC0gLjE7IC8vIGllNyBjc3MgaGFja1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AbWl4aW4gbG9vcC1yZWZsZXgtY29sdW1ucygkaW5kZXgsICRjbGFzcywgJHR5cGUpIHtcbiAgICBAaWYgJGluZGV4ID49IDAge1xuICAgICAgICBAaW5jbHVkZSBjYWxjLXJlZmxleC1jb2x1bW5zKCRpbmRleCwgJGNsYXNzLCAkdHlwZSk7XG4gICAgICAgIC8vIG5leHQgaXRlcmF0aW9uXG4gICAgICAgIEBpbmNsdWRlIGxvb3AtcmVmbGV4LWNvbHVtbnMoKCRpbmRleCAtIDEpLCAkY2xhc3MsICR0eXBlKTtcbiAgICB9XG59XG5cbi8vIGRlZmF1bHRzIGZvciBhdXRvIGNvbHNcbkBtaXhpbiBzZXR1cC1hdXRvLWNvbHMoKSB7XG4gICAgQGluY2x1ZGUgZmxleCgxLCAwLCAwcHgpOyAvLyBhIHVuaXQgb24gbGFzdCB2YWx1ZSBpcyByZXF1aXJlZCBieSBJRTEwLTExXG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBpbmxpbmUtYmxvY2sgc3BlY2lmaWMgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gc2V0dXAtd2hpdGVzcGFjZSgpIHtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLS4zMWVtO1xuICAgICAgICAqbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd29yZC1zcGFjaW5nOiAtLjQzZW07XG4gICAgfVxufVxuXG5AbWl4aW4gcmVzZXQtd2hpdGVzcGFjZSgpIHtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICB9XG59XG5cbkBtaXhpbiByZXNldC10ZXh0LWFsaWduKCkge1xuICAgIC8vXG4gICAgLy8gV2Ugd2FudCB0byByZXNldCBhbnkgdGV4dC1hbGlnbiBwcm9wZXJ0aWVzIHNldCBieSB0aGUgZ3JpZFxuICAgIC8vIChyZXF1aXJlZCBmb3IgdGhlIGlubGluZS1ibG9jayBmYWxsYmFjaylcbiAgICAvLyBidXQgd2UgZG9uJ3Qgd2FudCB0byBvdmVycmlkZSBhbnkgdGV4dC1hbGlnbiBwcm9wZXJ0aWVzXG4gICAgLy8gc2V0IG9uIHRoZSBpbmRpdmlkdWFsIGNvbC14IGVsZW1lbnRcbiAgICAvLyBvciBvbiBhbnkgb2YgaXQncyBjaGlsZCBlbGVtZW50c1xuICAgIC8vXG4gICAgLy8gMSkgc2V0IHRvIGxlZnQgYnkgZGVmYXVsdCAod29ya3MgZXZlcnl3aGVyZSlcbiAgICAvLyAyKSBzZXQgdG8gc3RhcnQgKHJlc3BlY3RzIHJpZ2h0IHRvIGxlZnQgdGV4dClcbiAgICAvL1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1hbGlnbjogc3RhcnQ7XG4gICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IHN0YXJ0O1xuICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IHN0YXJ0O1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gb3JkZXIgY2xhc3MgZ2VuZXJhdGlvbiBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBvcmRlcigkb3JkZXI6IDApIHtcbiAgICAtbXMtZmxleC1vcmRlcjogJG9yZGVyO1xuICAgIC13ZWJraXQtb3JkZXI6ICRvcmRlcjtcbiAgICBvcmRlcjogJG9yZGVyO1xufVxuXG5AbWl4aW4gbWFrZS1vcmRlci1oZWxwZXJzKCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMpO1xufVxuXG5AbWl4aW4gbG9vcC1vcmRlci1oZWxwZXJzKCRpbmRleCwgJGJyZWFrcG9pbnQ6IG51bGwpIHtcbiAgICBAaWYgJGluZGV4ID49IDAge1xuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1vcmRlciN7JGJyZWFrcG9pbnR9LSN7JGluZGV4fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvcmRlcigkaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG5leHQgaXRlcmF0aW9uXG4gICAgICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygoJGluZGV4IC0gMSksICRicmVha3BvaW50KTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBvZmZzZXQgY2xhc3MgZ2VuZXJhdGlvbiBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5AbWl4aW4gb2Zmc2V0KCRpbmRleDogMCkge1xuICAgICRvZmZzZXQ6ICgkaW5kZXggLyAkcmVmbGV4LWNvbHVtbnMpO1xuICAgIC8vIGNvbnZlcnQgdG8gcGVyY2VudGFnZSBvbmx5IGlmIG5vdCB6ZXJvXG4gICAgQGlmICRvZmZzZXQgIT0gMCB7XG4gICAgICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJG9mZnNldCk7XG4gICAgfVxuICAgIG1hcmdpbi1sZWZ0OiAkb2Zmc2V0O1xuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICptYXJnaW4tbGVmdDogcGVyY2VudGFnZSgoJGluZGV4IC8gJHJlZmxleC1jb2x1bW5zKSkgLSAuMTsgLy8gaWU3IGNzcyBoYWNrXG4gICAgfVxufVxuXG5AbWl4aW4gbWFrZS1vZmZzZXQtaGVscGVycygpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEpO1xufVxuXG5AbWl4aW4gbG9vcC1vZmZzZXQtaGVscGVycygkaW5kZXgsICRicmVha3BvaW50OiBudWxsKSB7XG4gICAgQGlmICRpbmRleCA+IDAgYW5kICRicmVha3BvaW50ID09IG51bGwge1xuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1vZmZzZXQjeyRicmVha3BvaW50fS0jeyRpbmRleH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgb2Zmc2V0KCRpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygoJGluZGV4IC0gMSksICRicmVha3BvaW50KTtcbiAgICB9IEBlbHNlIGlmICRpbmRleCA+PSAwIGFuZCAkYnJlYWtwb2ludCAhPSBudWxsIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9b2Zmc2V0I3skYnJlYWtwb2ludH0tI3skaW5kZXh9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9mZnNldCgkaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG5leHQgaXRlcmF0aW9uXG4gICAgICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoKCRpbmRleCAtIDEpLCAkYnJlYWtwb2ludCk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IG1vZGlmaWVyIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy9cbi8vIGRpc3BsYXlcbi8vIC0tLVxuXG5AbWl4aW4gZGlzcGxheS1mbGV4KCkge1xuICAgIGRpc3BsYXk6IC1tcy1mbGV4Ym94O1xuICAgIGRpc3BsYXk6IC13ZWJraXQtZmxleDtcbiAgICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vL1xuLy8gZmxleFxuLy8gLS0tXG5cbkBtaXhpbiBmbGV4KCRncm93OiAwLCAkc2hyaW5rOiAxLCAkYmFzaXM6IGF1dG8pIHtcbiAgICBAaWYgJGJhc2lzID09IDAge1xuICAgICAgICAtbXMtZmxleDogJGdyb3cgJHNocmluayBhdXRvOyAvL2llMTAgbmVlZHMgYXV0b1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtbXMtZmxleDogJGdyb3cgJHNocmluayAkYmFzaXM7XG4gICAgfVxuXG4gICAgLXdlYmtpdC1mbGV4OiAkZ3JvdyAkc2hyaW5rICRiYXNpcztcbiAgICBmbGV4OiAkZ3JvdyAkc2hyaW5rICRiYXNpcztcbn1cblxuQG1peGluIGZsZXgtZ3JvdygkZ3JvdzoxKSB7XG4gICAgLW1zLWZsZXgtcG9zaXRpdmU6ICRncm93O1xuICAgIC13ZWJraXQtZmxleC1ncm93OiAkZ3JvdztcbiAgICBmbGV4LWdyb3c6ICRncm93O1xufVxuXG5AbWl4aW4gZmxleC1zaHJpbmsoJHNocmluazoxKSB7XG4gICAgLW1zLWZsZXgtbmVnYXRpdmU6ICRzaHJpbms7XG4gICAgLXdlYmtpdC1mbGV4LXNocmluazogJHNocmluaztcbiAgICBmbGV4LXNocmluazogJHNocmluaztcbn1cblxuQG1peGluIGZsZXgtYmFzaXMoJGJhc2lzOmF1dG8pIHtcbiAgICAtbXMtZmxleC1wcmVmZXJyZWQtc2l6ZTogJGJhc2lzO1xuICAgIC13ZWJraXQtZmxleC1iYXNpczogJGJhc2lzO1xuICAgIGZsZXgtYmFzaXM6ICRiYXNpcztcbn1cblxuQG1peGluIGZsZXgtZmxvdygkZGlyZWN0aW9uOiByb3csICR3cmFwOiBub3dyYXApIHtcbiAgICAtbXMtZmxleC13cmFwOiAkd3JhcDtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgLXdlYmtpdC1mbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG4gICAgZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xufVxuXG5AbWl4aW4gZmxleC13cmFwKCR3cmFwOiB3cmFwKSB7XG4gICAgLW1zLWZsZXgtd3JhcDogJHdyYXA7XG4gICAgLXdlYmtpdC1mbGV4LXdyYXA6ICR3cmFwO1xuICAgIGZsZXgtd3JhcDogJHdyYXA7XG59XG5cbkBtaXhpbiBmbGV4LWRpcmVjdGlvbigkZGlyZWN0aW9uOiByb3cpIHtcbiAgICAtbXMtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgLXdlYmtpdC1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbn1cblxuLy9cbi8vIGFsaWduXG4vLyAtLS1cblxuQG1peGluIGFsaWduLWl0ZW1zKCRhbGlnbjogc3RyZXRjaCkge1xuICAgIEBpbmNsdWRlIG1zLWFsaWduLWl0ZW1zKCRhbGlnbik7XG4gICAgLXdlYmtpdC1hbGlnbi1pdGVtczogJGFsaWduO1xuICAgIGFsaWduLWl0ZW1zOiAkYWxpZ247XG59XG5cbkBtaXhpbiBhbGlnbi1zZWxmKCRhbGlnbjogc3RyZXRjaCkge1xuICAgIEBpbmNsdWRlIG1zLWFsaWduLXNlbGYoJGFsaWduKTtcbiAgICAtd2Via2l0LWFsaWduLXNlbGY6ICRhbGlnbjtcbiAgICBhbGlnbi1zZWxmOiAkYWxpZ247XG59XG5cbkBtaXhpbiBhbGlnbi1jb250ZW50KCRhbGlnbjogc3RyZXRjaCkge1xuICAgIEBpbmNsdWRlIG1zLWFsaWduLWNvbnRlbnQoJGFsaWduKTtcbiAgICAtd2Via2l0LWFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbiAgICBhbGlnbi1jb250ZW50OiAkYWxpZ247XG59XG5cbi8vXG4vLyBpZTEwIHN5bnRheCBmb3IgYWxpZ25cbi8vIC0tLVxuXG5AbWl4aW4gbXMtYWxpZ24taXRlbXMoJGFsaWduKSB7XG4gICAgQGlmICRhbGlnbiA9PSAnZmxleC1zdGFydCcge1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogc3RhcnQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ2ZsZXgtZW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBlbmQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiAkYWxpZ247XG4gICAgfVxufVxuXG5AbWl4aW4gbXMtYWxpZ24tc2VsZigkYWxpZ24pIHtcbiAgICBAaWYgJGFsaWduID09ICdmbGV4LXN0YXJ0JyB7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IHN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdmbGV4LWVuZCcge1xuICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBlbmQ7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246ICRhbGlnbjtcbiAgICB9XG59XG5cbkBtaXhpbiBtcy1hbGlnbi1jb250ZW50KCRhbGlnbikge1xuICAgIEBpZiAkYWxpZ24gPT0gJ2ZsZXgtc3RhcnQnIHtcbiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnZmxleC1lbmQnIHtcbiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBlbmQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ3NwYWNlLWJldHdlZW4nIHtcbiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBqdXN0aWZ5O1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdzcGFjZS1hcm91bmQnIHtcbiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiBkaXN0cmlidXRlO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6ICRhbGlnbjtcbiAgICB9XG59XG5cbi8vXG4vLyBqdXN0aWZ5LWNvbnRlbnRcbi8vXG4vLyBVc2VzIFwidGV4dC1hbGlnblwiIGZvciB0aGUgZmFsbGJhY2sgaW5saW5lLWJsb2NrIGdyaWRcbi8vIFwidGV4dC1hbGlnblwiIGlzIGdsb2JhbGx5IHN1cHBvcnRlZCBhbmQgd29ya3Mgb24gYWxsIHJvd3MgZXhjZXB0IHRoZSBsYXN0XG4vLyBcInRleHQtYWxpZ24tbGFzdFwiLCB3aGVyZSBzdXBwb3J0ZWQsIGhhbmRsZXMgdGhlIGxhc3QgbGluZSAoYW5kLCBoYXBwaWx5LCBncmlkcyB3aXRoIG9ubHkgb25lIHJvdylcbi8vIC0tLVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LXN0YXJ0KCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IHN0YXJ0O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1lbmQoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogZW5kO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LWNlbnRlcigpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBjZW50ZXI7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1zcGFjZS1iZXR3ZWVuKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGp1c3RpZnk7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LXNwYWNlLWFyb3VuZCgpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBkaXN0cmlidXRlO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXNwb25zaWJsZSBWaXNpYmlsaXR5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gcmVzcG9uc2l2ZS12aXNpYmlsaXR5LWhlbHBlcnMoKSB7XG4gICAgQGlmICR2aXNpYmlsaXR5LWhlbHBlcnMgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIFdlIG5lZWQgdG8gaGFuZGxlIHh4cyBhbmQgeGxnIGJyZWFrcG9pbnRzIGRpZmZlcmVudGx5XG4gICAgICAgICRtYXAtcmVmbGV4LWJyZWFrcG9pbnRzOiBtYXAtcmVtb3ZlKCRyZWZsZXgtYnJlYWtwb2ludHMsIHh4cywgeGxnKTtcblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4teHhzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSgneHhzJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAZWFjaCAkYnAgaW4gbWFwLWtleXMoJG1hcC1yZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi0jeyRicH0tdXAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJGJwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICBcblxuICAgICAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9aGlkZGVuLSN7JGJwfS1kb3duIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJGJwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4tI3skYnB9IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoJGJwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9aGlkZGVuLXhsZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoJ3hsZycpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBCcmVha3BvaW50IHZpZXdwb3J0IHNpemVzIGFuZCBtZWRpYSBxdWVyaWVzLlxuLy9cbi8vIEJyZWFrcG9pbnRzIGFyZSBkZWZpbmVkIGFzIGEgbWFwIG9mIChuYW1lOiBtaW5pbXVtIHdpZHRoKSwgb3JkZXIgZnJvbSBzbWFsbCB0byBsYXJnZTpcbi8vICh4czogNTc2cHgsIHNtOiA3NjhweCwgbWQ6IDk5MnB4KVxuLy8gVGhlIG1hcCBkZWZpbmVkIGluIHRoZSBgJHJlZmxleC1icmVha3BvaW50c2AgZ2xvYmFsIHZhcmlhYmxlIGlzIHVzZWQgYXMgdGhlIGAkYnJlYWtwb2ludHNgIGFyZ3VtZW50IGJ5IGRlZmF1bHQuXG4vLyBOYW1lIG9mIHRoZSBuZXh0IGJyZWFrcG9pbnQsIG9yIG51bGwgZm9yIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4vLyA+PiBicmVha3BvaW50LW5leHQoc20pIC0+IG1kXG4vLyA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50czogKHhzOiA1NzZweCwgc206IDc2OHB4LCBtZDogOTkycHgpKSAtPiBtZFxuLy8gPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludC1uYW1lczogKHhzIHNtIG1kKSkgLT4gbWRcbkBmdW5jdGlvbiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50czogJHJlZmxleC1icmVha3BvaW50cywgJGJyZWFrcG9pbnQtbmFtZXM6IG1hcC1rZXlzKCRicmVha3BvaW50cykpIHtcbiAgICAkbjogaW5kZXgoJGJyZWFrcG9pbnQtbmFtZXMsICRuYW1lKTtcbiAgICBAcmV0dXJuIGlmKCRuIDwgbGVuZ3RoKCRicmVha3BvaW50LW5hbWVzKSwgbnRoKCRicmVha3BvaW50LW5hbWVzLCAkbiArIDEpLCBudWxsKTtcbn1cblxuLy8gTWluaW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgc21hbGxlc3QgKGZpcnN0KSBicmVha3BvaW50LlxuLy8gPj4gYnJlYWtwb2ludC1taW4oc20sICh4czogNTc2cHgsIHNtOiA3NjhweCwgbWQ6IDk5MnB4KSkgLT4gNzY4cHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogbWFwLWdldCgkYnJlYWtwb2ludHMsICRuYW1lKTtcbiAgICBAcmV0dXJuIGlmKCRtaW4gIT0wLCAkbWluLCBudWxsKTtcbn1cblxuLy8gTWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBOdWxsIGZvciB0aGUgbGFyZ2VzdCAobGFzdCkgYnJlYWtwb2ludC5cbi8vIFRoZSBtYXhpbXVtIHZhbHVlIGlzIGNhbGN1bGF0ZWQgYXMgdGhlIG1pbmltdW0gb2YgdGhlIG5leHQgb25lIGxlc3MgMC4xLlxuLy8gPj4gYnJlYWtwb2ludC1tYXgoc20sICh4czogNTc2cHgsIHNtOiA3NjhweCwgbWQ6IDk5MnB4KSkgLT4gOTkxcHhcbkBmdW5jdGlvbiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzKSB7XG4gICAgJG5leHQ6IGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcbiAgICBAcmV0dXJuIGlmKCRuZXh0LCBicmVha3BvaW50LW1pbigkbmV4dCwgJGJyZWFrcG9pbnRzKSAtIDEsIG51bGwpO1xufVxuXG4vLyBNZWRpYSBvZiBhdCBsZWFzdCB0aGUgbWluaW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIHdpZGVyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50czogJHJlZmxleC1icmVha3BvaW50cykge1xuICAgICRtaW46IGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRtaW4ge1xuICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogJG1pbikge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gTWVkaWEgb2YgYXQgbW9zdCB0aGUgbWF4aW11bSBicmVha3BvaW50IHdpZHRoLiBObyBxdWVyeSBmb3IgdGhlIGxhcmdlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICAkbWF4OiBicmVha3BvaW50LW1heCgkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkbWF4IHtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6ICRtYXgpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIE1lZGlhIGJldHdlZW4gdGhlIGJyZWFrcG9pbnQncyBtaW5pbXVtIGFuZCBtYXhpbXVtIHdpZHRocy5cbi8vIE5vIG1pbmltdW0gZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LCBhbmQgbm8gbWF4aW11bSBmb3IgdGhlIGxhcmdlc3Qgb25lLlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IG9ubHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQsIG5vdCB2aWV3cG9ydHMgYW55IHdpZGVyIG9yIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzKSB7XG4gICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG90aGVyIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIGJveC1zaXppbmcoJGJveG1vZGVsKSB7XG4gICAgLXdlYmtpdC1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgLW1vei1ib3gtc2l6aW5nOiAkYm94bW9kZWw7XG4gICAgYm94LXNpemluZzogJGJveG1vZGVsO1xufVxuIiwiXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gZ3JpZCBtb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBmbGV4LXdyYXBcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fXdyYXAge1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9bm8td3JhcCB7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKG5vd3JhcCk7XG5cbiAgICAvLyBUaGlzIGlzIG1vc3RseSBuZWVkZWQgdG8gc3RvcCB0aGUgZ3JpZCBjb250ZW50cyBvdmVyZmxvd2luZyBpbiB0aGVcbiAgICAvLyBpZTEwIGltcGxlbWVudGF0aW9uIG9mIGZsZXhib3ggYnV0IGl0IGNhbid0IGh1cnQgaW4gb3RoZXIgYnJvd3NlcnNcbiAgICAvLyBhcyBpdCBpcyB0aGUgZGVzaXJlZCBiZWhhdmlvdXIgb2Ygbm9uIHdyYXBwaW5nIGZsZXggaXRlbXNcbiAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1zaHJpbmsoMSk7XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH13cmFwLXJldmVyc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCh3cmFwLXJldmVyc2UpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gZmxleC1kaXJlY3Rpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1yb3ctcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93LXJldmVyc2UpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tY29sdW1uLXJldmVyc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbi1yZXZlcnNlKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGFsaWduIGl0ZW1zIChjcm9zcyBheGlzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc3RhcnQge1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGZsZXgtc3RhcnQpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1lbmQge1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGZsZXgtZW5kKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIGZhbGxiYWNrIHRvIGxlZ2FjeSB2ZXJ0aWNhbC1hbGlnblxuICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNlbnRlciB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoY2VudGVyKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIGZhbGxiYWNrIHRvIGxlZ2FjeSB2ZXJ0aWNhbC1hbGlnblxuICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWJhc2VsaW5lIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhiYXNlbGluZSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBhbGlnbiBjb250ZW50IChjcm9zcyBheGlzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1zdGFydCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChmbGV4LXN0YXJ0KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1lbmQge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoZmxleC1lbmQpO1xuXG4gICAgLy8gZmFsbGJhY2sgdG8gbGVnYWN5IHZlcnRpY2FsLWFsaWduXG4gICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LWNlbnRlciB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChjZW50ZXIpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LXNwYWNlLWJldHdlZW4ge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoc3BhY2UtYmV0d2Vlbik7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtc3BhY2UtYXJvdW5kIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KHNwYWNlLWFyb3VuZCk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBhbGlnbi1zZWxmXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLXN0cmV0Y2gge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoc3RyZXRjaCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtc3RhcnQge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoZmxleC1zdGFydCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtZW5kIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGZsZXgtZW5kKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLWNlbnRlciB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihjZW50ZXIpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtYmFzZWxpbmUge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoYmFzZWxpbmUpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGp1c3RpZnktY29udGVudCAobWFpbiBheGlzKVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9anVzdGlmeS1zdGFydCB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LXN0YXJ0KCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9anVzdGlmeS1lbmQge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1lbmQoKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXRleHQtYWxpZ24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9anVzdGlmeS1jZW50ZXIge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1jZW50ZXIoKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAtbW96LXRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXRleHQtYWxpZ24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9anVzdGlmeS1zcGFjZS1iZXR3ZWVuIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYmV0d2VlbigpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgICAgICAtbW96LXRleHQtYWxpZ24tbGFzdDoganVzdGlmeTtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDoganVzdGlmeTtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LXNwYWNlLWFyb3VuZCB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LXNwYWNlLWFyb3VuZCgpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG4gICAgICAgICAgICAtbW96LXRleHQtYWxpZ24tbGFzdDoganVzdGlmeTtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDoganVzdGlmeTtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY29zbWV0aWMgZ3JpZCBtb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFJlbW92ZXMgaW50ZXJuYWwgcGFkZGluZyBmcm9tIGFsbCBjb2x1bW5zIGluIGEgZ3JpZFxuLiN7JHJlZmxleC1wcmVmaXh9Z3JpZC1ibGVlZCB7XG4gICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY29sIG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gTWFrZXMgYSBjb2x1bW4gZWxlbWVudCBpbnRvIGEgZmxleGJveCBjb2x1bW5cbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ncmlkIHtcbiAgICBAaW5jbHVkZSBkaXNwbGF5LWZsZXgoKTtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4pO1xuXG4gICAgJi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1yb3cge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xuICAgIH1cbn1cblxuLy8gUmVtb3ZlcyBpbnRlcm5hbCBwYWRkaW5nIGZyb20gYWxsIGNvbHVtbnMgaW4gYSBncmlkXG4uI3skcmVmbGV4LXByZWZpeH1jb2wtYmxlZWQge1xuICAgIHBhZGRpbmc6IDA7XG59XG5cbi8vIFJlbW92ZXMgaG9yaXpvbnRhbCBwYWRkaW5nIGZyb20gYWxsIGNvbHVtbnMgaW4gYSBncmlkXG4uI3skcmVmbGV4LXByZWZpeH1jb2wtYmxlZWQteCB7XG4gICAgcGFkZGluZzogJHJlZmxleC1ncmlkLXNwYWNpbmcgMDtcbn1cblxuLy8gUmVtb3ZlcyB2ZXJ0aWNhbCBwYWRkaW5nIGZyb20gYWxsIGNvbHVtbnMgaW4gYSBncmlkXG4uI3skcmVmbGV4LXByZWZpeH1jb2wtYmxlZWQteSB7XG4gICAgcGFkZGluZzogMCAkcmVmbGV4LWdyaWQtc3BhY2luZztcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNvbC1ncmlkIGNvbnRlbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1mbGV4LWltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgZmxleCgwLCAwLCBhdXRvKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICp3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWZsZXgtZm9vdGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSByZXNwb25zaXZlLXZpc2liaWxpdHktaGVscGVycygpO1xuIiwiLyo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG49ICAgICAgICAgICAgQ2hvaWNlcyAgICAgICAgICAgID1cbj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0qL1xuXG4kY2hvaWNlcy1zZWxlY3RvcjogJ2Nob2ljZXMnICFkZWZhdWx0O1xuJGNob2ljZXMtZm9udC1zaXplLWxnOiAxNnB4ICFkZWZhdWx0O1xuJGNob2ljZXMtZm9udC1zaXplLW1kOiAxNHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtZm9udC1zaXplLXNtOiAxMnB4ICFkZWZhdWx0O1xuJGNob2ljZXMtZ3V0dGVyaW5nOiAyNHB4ICFkZWZhdWx0O1xuJGNob2ljZXMtYm9yZGVyLXJhZGl1czogMi41cHggIWRlZmF1bHQ7XG4kY2hvaWNlcy1ib3JkZXItcmFkaXVzLWl0ZW06IDIwcHggIWRlZmF1bHQ7XG4kY2hvaWNlcy1iZy1jb2xvcjogI2Y5ZjlmOSAhZGVmYXVsdDtcbiRjaG9pY2VzLWJnLWNvbG9yLWRpc2FibGVkOiAjZWFlYWVhICFkZWZhdWx0O1xuJGNob2ljZXMtYmctY29sb3ItZHJvcGRvd246ICNmZmZmZmYgIWRlZmF1bHQ7XG4kY2hvaWNlcy10ZXh0LWNvbG9yOiAjMzMzMzMzICFkZWZhdWx0O1xuJGNob2ljZXMta2V5bGluZS1jb2xvcjogI2RkZGRkZCAhZGVmYXVsdDtcbiRjaG9pY2VzLXByaW1hcnktY29sb3I6ICMwMGJjZDQgIWRlZmF1bHQ7XG4kY2hvaWNlcy1kaXNhYmxlZC1jb2xvcjogI2VhZWFlYSAhZGVmYXVsdDtcbiRjaG9pY2VzLWhpZ2hsaWdodC1jb2xvcjogJGNob2ljZXMtcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcbiRjaG9pY2VzLWJ1dHRvbi1kaW1lbnNpb246IDhweCAhZGVmYXVsdDtcbiRjaG9pY2VzLWJ1dHRvbi1vZmZzZXQ6IDhweCAhZGVmYXVsdDtcbiRjaG9pY2VzLWljb24tY3Jvc3M6IHVybChkYXRhOmltYWdlL3N2Zyt4bWw7YmFzZTY0LFBITjJaeUIzYVdSMGFEMGlNakVpSUdobGFXZG9kRDBpTWpFaUlIWnBaWGRDYjNnOUlqQWdNQ0F5TVNBeU1TSWdlRzFzYm5NOUltaDBkSEE2THk5M2QzY3Vkek11YjNKbkx6SXdNREF2YzNabklqNDhaeUJtYVd4c1BTSWpSa1pHSWlCbWFXeHNMWEoxYkdVOUltVjJaVzV2WkdRaVBqeHdZWFJvSUdROUlrMHlMalU1TWk0d05EUnNNVGd1TXpZMElERTRMak0yTkMweUxqVTBPQ0F5TGpVME9Fd3VNRFEwSURJdU5Ua3llaUl2UGp4d1lYUm9JR1E5SWswd0lERTRMak0yTkV3eE9DNHpOalFnTUd3eUxqVTBPQ0F5TGpVME9Fd3lMalUwT0NBeU1DNDVNVEo2SWk4K1BDOW5Qand2YzNablBnPT0pICFkZWZhdWx0O1xuJGNob2ljZXMtaWNvbi1jcm9zcy1pbnZlcnNlOiB1cmwoZGF0YTppbWFnZS9zdmcreG1sO2Jhc2U2NCxQSE4yWnlCM2FXUjBhRDBpTWpFaUlHaGxhV2RvZEQwaU1qRWlJSFpwWlhkQ2IzZzlJakFnTUNBeU1TQXlNU0lnZUcxc2JuTTlJbWgwZEhBNkx5OTNkM2N1ZHpNdWIzSm5Mekl3TURBdmMzWm5JajQ4WnlCbWFXeHNQU0lqTURBd0lpQm1hV3hzTFhKMWJHVTlJbVYyWlc1dlpHUWlQanh3WVhSb0lHUTlJazB5TGpVNU1pNHdORFJzTVRndU16WTBJREU0TGpNMk5DMHlMalUwT0NBeUxqVTBPRXd1TURRMElESXVOVGt5ZWlJdlBqeHdZWFJvSUdROUlrMHdJREU0TGpNMk5Fd3hPQzR6TmpRZ01Hd3lMalUwT0NBeUxqVTBPRXd5TGpVME9DQXlNQzQ1TVRKNklpOCtQQzluUGp3dmMzWm5QZz09KSAhZGVmYXVsdDtcblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAkY2hvaWNlcy1ndXR0ZXJpbmc7XG4gIGZvbnQtc2l6ZTogJGNob2ljZXMtZm9udC1zaXplLWxnO1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmLmlzLWRpc2FibGVkIHtcbiAgICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lubmVyLFxuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNob2ljZXMtYmctY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgfVxuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbSB7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxuXG4gIFtoaWRkZW5dIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9W2RhdGEtdHlwZSo9J3NlbGVjdC1vbmUnXSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG4gICAgcGFkZGluZy1ib3R0b206IDcuNXB4O1xuICB9XG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faW5wdXQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjaG9pY2VzLWtleWxpbmUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjaG9pY2VzLWljb24tY3Jvc3MtaW52ZXJzZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW4tdG9wOiAtMTBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwZW07XG4gICAgb3BhY2l0eTogMC41O1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMHB4IDJweCAkY2hvaWNlcy1oaWdobGlnaHQtY29sb3I7XG4gICAgfVxuICB9XG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbVtkYXRhLXZhbHVlPScnXSAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2J1dHRvbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuICAmOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDA7XG4gICAgd2lkdGg6IDA7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICRjaG9pY2VzLXRleHQtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMS41cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTIuNXB4O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICYuaXMtb3BlbjphZnRlciB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkY2hvaWNlcy10ZXh0LWNvbG9yIHRyYW5zcGFyZW50O1xuICAgIG1hcmdpbi10b3A6IC03LjVweDtcbiAgfVxuICAmW2Rpcj0ncnRsJ10ge1xuICAgICY6YWZ0ZXIge1xuICAgICAgbGVmdDogMTEuNXB4O1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuICAgIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj0nc2VsZWN0LW11bHRpcGxlJ10sXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1bZGF0YS10eXBlKj0ndGV4dCddIHtcbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG4gICAgY3Vyc29yOiB0ZXh0O1xuICB9XG4gIC4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAtJGNob2ljZXMtYnV0dG9uLW9mZnNldC8yO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6ICRjaG9pY2VzLWJ1dHRvbi1vZmZzZXQ7XG4gICAgcGFkZGluZy1sZWZ0OiAkY2hvaWNlcy1idXR0b24tb2Zmc2V0ICogMjtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIGRhcmtlbigkY2hvaWNlcy1wcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6ICRjaG9pY2VzLWljb24tY3Jvc3M7XG4gICAgYmFja2dyb3VuZC1zaXplOiAkY2hvaWNlcy1idXR0b24tZGltZW5zaW9uO1xuICAgIHdpZHRoOiAkY2hvaWNlcy1idXR0b24tZGltZW5zaW9uO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pbm5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yO1xuICBwYWRkaW5nOiA3LjVweCA3LjVweCAzLjc1cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRjaG9pY2VzLWtleWxpbmUtY29sb3I7XG4gIGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG4gIGZvbnQtc2l6ZTogJGNob2ljZXMtZm9udC1zaXplLW1kO1xuICBtaW4taGVpZ2h0OiA0NHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICAuaXMtZm9jdXNlZCAmLFxuICAuaXMtb3BlbiAmIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY2hvaWNlcy1rZXlsaW5lLWNvbG9yLCAxNSUpO1xuICB9XG4gIC5pcy1vcGVuICYge1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAwIDA7XG4gIH1cbiAgLmlzLWZsaXBwZWQuaXMtb3BlbiAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGNob2ljZXMtYm9yZGVyLXJhZGl1cyAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xuICB9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLXNpbmdsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogNHB4IDE2cHggNHB4IDRweDtcbiAgd2lkdGg6IDEwMCU7XG4gIFtkaXI9J3J0bCddICYge1xuICAgIHBhZGRpbmctcmlnaHQ6IDRweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE2cHg7XG4gIH1cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2xpc3QtLW11bHRpcGxlIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXMtaXRlbTtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6ICRjaG9pY2VzLWZvbnQtc2l6ZS1zbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1yaWdodDogMy43NXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVweDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY2hvaWNlcy1wcmltYXJ5LWNvbG9yO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkY2hvaWNlcy1wcmltYXJ5LWNvbG9yLCA1JSk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgJltkYXRhLWRlbGV0YWJsZV0ge1xuICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgIH1cbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjc1cHg7XG4gICAgfVxuICAgICYuaXMtaGlnaGxpZ2h0ZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogZGFya2VuKCRjaG9pY2VzLXByaW1hcnktY29sb3IsIDUlKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIGRhcmtlbigkY2hvaWNlcy1wcmltYXJ5LWNvbG9yLCAxMCUpO1xuICAgIH1cbiAgICAuaXMtZGlzYWJsZWQgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBkYXJrZW4oJGNob2ljZXMtZGlzYWJsZWQtY29sb3IsIDI1JSk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCBkYXJrZW4oJGNob2ljZXMtZGlzYWJsZWQtY29sb3IsIDM1JSk7XG4gICAgfVxuICB9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fbGlzdC0tZHJvcGRvd24ge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yLWRyb3Bkb3duO1xuICBib3JkZXI6IDFweCBzb2xpZCAkY2hvaWNlcy1rZXlsaW5lLWNvbG9yO1xuICB0b3A6IDEwMCU7XG4gIG1hcmdpbi10b3A6IC0xcHg7XG4gIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6ICRjaG9pY2VzLWJvcmRlci1yYWRpdXM7XG4gIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAkY2hvaWNlcy1ib3JkZXItcmFkaXVzO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG4gIHdpbGwtY2hhbmdlOiB2aXNpYmlsaXR5O1xuICAmLmlzLWFjdGl2ZSB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxuICAuaXMtb3BlbiAmIHtcbiAgICBib3JkZXItY29sb3I6IGRhcmtlbigkY2hvaWNlcy1rZXlsaW5lLWNvbG9yLCAxNSUpO1xuICB9XG4gIC5pcy1mbGlwcGVkICYge1xuICAgIHRvcDogYXV0bztcbiAgICBib3R0b206IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAtMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDAuMjVyZW0gMC4yNXJlbSAwIDA7XG4gIH1cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWF4LWhlaWdodDogMzAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIHdpbGwtY2hhbmdlOiBzY3JvbGwtcG9zaXRpb247XG4gIH1cbiAgLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBmb250LXNpemU6ICRjaG9pY2VzLWZvbnQtc2l6ZS1tZDtcbiAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICAuI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLXNlbGVjdGFibGUge1xuICAgIEBtZWRpYSAobWluLXdpZHRoOiA2NDBweCkge1xuICAgICAgcGFkZGluZy1yaWdodDogMTAwcHg7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogYXR0cihkYXRhLXNlbGVjdC10ZXh0KTtcbiAgICAgICAgZm9udC1zaXplOiAkY2hvaWNlcy1mb250LXNpemUtc207XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB9XG4gICAgICBbZGlyPSdydGwnXSAmIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTAwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi5pcy1oaWdobGlnaHRlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtaXgoIzAwMDAwMCwgI2ZmZmZmZiwgNSUpO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19pdGVtIHtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2l0ZW0tLXNlbGVjdGFibGUge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9faXRlbS0tZGlzYWJsZWQge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgb3BhY2l0eTogMC41O1xufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2hlYWRpbmcge1xuICBmb250LXdlaWdodDogNjAwO1xuICBmb250LXNpemU6ICRjaG9pY2VzLWZvbnQtc2l6ZS1zbTtcbiAgcGFkZGluZzogMTBweDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGxpZ2h0ZW4oJGNob2ljZXMta2V5bGluZS1jb2xvciwgMTAlKTtcbiAgY29sb3I6IGxpZ2h0ZW4oIzMzMywgMzAlKTtcbn1cblxuLiN7JGNob2ljZXMtc2VsZWN0b3J9X19idXR0b24ge1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxufVxuXG4uI3skY2hvaWNlcy1zZWxlY3Rvcn1fX2lucHV0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjaG9pY2VzLWJnLWNvbG9yO1xuICBmb250LXNpemU6ICRjaG9pY2VzLWZvbnQtc2l6ZS1tZDtcbiAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogNHB4IDAgNHB4IDJweDtcbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuICBbZGlyPSdydGwnXSAmIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAycHg7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG59XG5cbi4jeyRjaG9pY2VzLXNlbGVjdG9yfV9fcGxhY2Vob2xkZXIge1xuICBvcGFjaXR5OiAwLjU7XG59XG5cbi8qPT09PT0gIEVuZCBvZiBDaG9pY2VzICA9PT09PT0qL1xuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIENvbmZpZyAtIExheW91dFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogUGFnZVxuICovXG4kY29udGFpbmVyLXdpZHRoOiAxNDgwcHg7XG5cbi8qKlxuICogQnJlYWtwb2ludHNcbiAqL1xuJGJyZWFrcG9pbnRzOiAoXG4gIHhzOiA1NzZweCxcbiAgc206IDc2OHB4LFxuICBtZDogOTkycHgsXG4gIGxnOiAxMjAwcHgsXG4gIHhsZzogMTYwMHB4LFxuKTtcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBDb25maWcgLSBUeXBvZ3JhcGh5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBGb250IGZhbWlseVxuICovXG4vLyAkZm9udC1ib2R5OiAnYWN1bWluLXBybyc7XG5cblxuJGZvbnQtYm9keTogJ2NhbGlicmlfcmVndWxhcic7XG4kZm9udC1ib2R5LWJvbGQ6ICdjYWxpYnJpX2JvbGQnO1xuJGZvbnQtdGl0bGU6ICdsYXRvX2JsYWNrJztcbiRmb250LXRpdGxlLXJlZ3VsYXI6ICdsYXRvX3JlZ3VsYXInO1xuJGZvbnQtdGl0bGUtYm9sZDonbGF0b19ib2xkJztcblxuXG5cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiAnY2FsaWJyaV9yZWd1bGFyJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnQvY2FsaWJyaS53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vZm9udC9jYWxpYnJpLXJlZ3VsYXIudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2NhbGlicmlfYm9sZCc7XG4gIHNyYzogdXJsKCcuLi9mb250L0NhbGlicmktQm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vZm9udC9DYWxpYnJpLUJvbGQudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xhdG9fcmVndWxhcic7XG4gIHNyYzogdXJsKCcuLi9mb250L2xhdG8tcmVndWxhci53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vZm9udC9sYXRvLXJlZ3VsYXItd2ViZm9udC50dGYnKSBmb3JtYXQoXCJ0cnVldHlwZVwiKTtcbiAgIFxuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xhdG9fYmxhY2snO1xuICBzcmM6IHVybCgnLi4vZm9udC9MYXRvLUJsYWNrLndvZmYnKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi9mb250L0xhdG8tQmxhY2sudHRmJykgZm9ybWF0KCd0cnVldHlwZScpO1xuICAgXG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2xhdG9fYm9sZCc7XG4gIHNyYzogdXJsKCcuLi9mb250L2xhdG8tYm9sZC53b2ZmJykgZm9ybWF0KCd3b2ZmJyksXG4gIHVybCgnLi4vZm9udC9MYXRvLUJvbGQudHRmJykgZm9ybWF0KFwidHJ1ZXR5cGVcIik7XG4gICBcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuXG4vKipcbiAqIEZvbnQgU2NhbGVcbiAqIFNldCBhIHJhdGlvIGZyb20gbW9iaWxlIHVwIHRvIGNvbnRhaW5lciB3aWR0aC5cbiAqIEFsbCB1bml0cyBtdXN0IGJlIG9mIHRoZSBzYW1lIHR5cGUuXG4gKiBodHRwczovL3d3dy5tb2R1bGFyc2NhbGUuY29tL1xuICovXG4kbW9kdWxhcnNjYWxlOiAoXG4gIGJhc2U6IDFlbSxcbiAgcmF0aW86IDEuNjE4LFxuICAyMGVtOiAoXG4gICAgcmF0aW86IDEuMjUsXG4gICksXG4gIDExNS41ZW06IChcbiAgICByYXRpbzogMS42MTgsXG4gICksXG4pO1xuXG4vKipcbiAqIEZvbnQgU2l6ZVxuICovXG4kZm9udC1iYXNlLXNpemU6IDE4cHg7IC8vU2V0IGRvY3VtZW50IHJvb3Qgc2l6ZSB0byBiYXNlIGZvbnQgc2l6ZVxuXG4vKipcbiAqIExpbmUgaGVpZ2h0XG4gKi9cbiRsaW5lLWJvZHk6IDEuNTtcblxuLyoqXG4gKiBDdXN0b20gZm9udHNcbiAqL1xuJGZvbnQtZGlyOiAnLi4vZm9udCc7XG5cbi8vIEBmb250LWZhY2Uge1xuLy8gICBmb250LWZhbWlseTogJ01vbnNlcnJhdCc7XG4vLyAgIHNyYzogdXJsKCcjeyRmb250LWRpcn0vZm9udC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcjeyRmb250LWRpcn0vZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4vLyAgIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0LXJlZ3VsYXI7XG4vLyAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbi8vIH1cblxuLy8gQGZvbnQtZmFjZSB7XG4vLyAgIGZvbnQtZmFtaWx5OiAnTW9uc2VycmF0Jztcbi8vICAgc3JjOiB1cmwoJyN7JGZvbnQtZGlyfS9mb250LWl0YWxpYy53b2ZmMicpIGZvcm1hdCgnd29mZjInKSwgdXJsKCcjeyRmb250LWRpcn0vZm9udC1pdGFsaWMud29mZicpIGZvcm1hdCgnd29mZicpO1xuLy8gICBmb250LXdlaWdodDogJHdlaWdodC1yZWd1bGFyO1xuLy8gICBmb250LXN0eWxlOiBpdGFsaWM7XG4vLyB9XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQ29uZmlnIC0gVmFyc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiRjLXByaW1hcnk6ICMwMDAwMDA7XG4kYy13aGl0ZTogI2ZmZmZmZjtcblxuJGMtbmF2eTogIzAwMjQ0MDtcbiRjLXRlYWw6ICMzN0FDQkU7XG4kYy1sdC10ZWFsOiAjYTZlN2UyO1xuJGMtcGluazogI2U4NjA3YztcbiRjLXllbGxvdzogI2ZiZTM5OTtcbiRjLWx0LXBpbms6ICNmOWRkZTQ7XG4kYy1vcmFuZ2U6ICNmZGVlYzI7XG5cbi8vIGdlbmVyYWwgcHVycG9zZSB2YXJpYWJsZSwgc2hvdWxkIHJlYWxseSBiZSByZW5hbWVkIGJ1dCBJIGRvbid0IGtub3cgd3RmIHRvIGNhbGwgaXRcbiRidW1wOiA0MHB4O1xuXG4kZWFzaW5nOiBjdWJpYy1iZXppZXIoMC4zLCAwLjY1LCAwLjcyLCAwLjYzKTtcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gQW5pbWF0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuQGtleWZyYW1lcyBmYWRlSW4ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuXG4gIDEwMCUge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gRm9jdXMgVmlzaWJsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogRm9jdXMgVmlzaWJsZVxuICogaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvZm9jdXMtdmlzaWJsZVxuICogT3ZlcnJpZGUgYmFzZSBmb2N1cyBzdHlsZXMgZm9yIG1vdXNlIGFuZCB0b3VjaCBpbnRlcmFjdGlvbnNcbiAqL1xuQG1peGluIGZvY3VzLXZpc2libGUoKSB7XG4gIC5qcy1mb2N1cy12aXNpYmxlICYge1xuICAgICY6bm90KC5mb2N1cy12aXNpYmxlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gRm9udCBTbW9vdGhpbmdcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiogXG4gKiBGb250IFNtb290aGluZ1xuICogRW5hYmxlcyBmb250IHNtb290aGluZyBmb3IgY2FwYWJsZSBicm93c2Vycy5cbiAqIE9wdGlvbmFsbHkgZm9yY2UgZm9udC1zbW9vdGhpbmcgb24gbm9uLXJldGluYSBkZXZpY2VzLlxuICogQHBhcmFtIHtib29sZWFufSAkZm9yY2UgW2ZhbHNlXVxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJGZvcmNlOiBmYWxzZSkge1xuICBAaWYgJGZvcmNlID09IHRydWUge1xuICAgIC1tb3otZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9IEBlbHNlIHtcbiAgICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAtbW96LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEdsb2JhbCBtaXhpbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vLyBSZXNldCA8bGk+IGVsZW1lbnRzXG5AbWl4aW4gbGktcmVzZXQge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgJi5zdWJtZW51LWFjdGl2ZXtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgLmxldmVsLTJ7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIFJlbW92ZSB0ZXh0IGZyb20gZWxlbWVudHNcbkBtaXhpbiBybS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8vIEJhY2tncm91bmQgaW1hZ2VzXG5AbWl4aW4gYmctaW1nKCRzaXplKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG59XG5cbi8vIElFIDkrIG9ubHlcbkBtaXhpbiBpZSgkcHJvcGVydHksICR2YWx1ZSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi1yZXNvbHV0aW9uOiArNzJkcGkpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgfVxufVxuIiwiLypcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIFNpemVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFNpemVcbiAqIEVhc2lseSBjb252ZXJ0IGZpeGVkIHNpemUgdmFsdWVzIHRvIHJlbGF0aXZlIG9uZXMuXG4gKiBFbmFibGVzIHVuaXRzIHRvIHNjYWxlIHdpdGggcm9vdCBmb250IHNpemUuXG4gKiBAcGFyYW0ge3N0cmluZ30gJHNpemVcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdW5pdCBbcmVtXVxuICogQHBhcmFtIHtudW1iZXJ9ICRiYXNlLWZvbnQtc2l6ZSBbMTAwJV1cbiAqIEByZXR1cm4ge251bWJlcn1cbiAqL1xuQGZ1bmN0aW9uIHNpemUoJHNpemUsICR1bml0OiAncmVtJywgJGJhc2UtZm9udC1zaXplOiAkZm9udC1iYXNlLXNpemUpIHtcbiAgJGlucHV0LXNpemU6ICRzaXplIC8gKCRzaXplICogMCArIDEpO1xuICAkYmFzZS1zaXplLXZhbHVlOiAkYmFzZS1mb250LXNpemUgLyAoJGJhc2UtZm9udC1zaXplICogMCArIDEpO1xuICAkYmFzZS1zaXplOiAoJGJhc2Utc2l6ZS12YWx1ZSAvIDEwMCkgKiAxNjtcblxuICBAcmV0dXJuICN7JGlucHV0LXNpemUgLyAkYmFzZS1zaXplfSN7JHVuaXR9O1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEhlbHBlcnMgLSBUYWJsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogUmVzcG9uc2l2ZSBUYWJsZVxuICogQ3JlYXRlcyBhIHJlc3BvbnNpdmUgdGFibGVcbiAqIEFjY2VwdHMgYSBsaXN0IG9mIGhlYWRlcnMgdG8gcmVwbGFjZSBtYWluIFxuICogdGFibGUgaGVhZGVycyBvbiBtb2JpbGUuXG4gKiBAcGFyYW0ge21hcH0gJGhlYWRlcnNcbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuQG1peGluIHJlc3BvbnNpdmUtdGFibGUoJGhlYWRlcnM6ICgpKSB7XG4gIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGFibGUsXG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGgsXG4gIHRkLFxuICB0ciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICB0aGVhZCB7XG4gICAgdHIge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAtOTk5OXB4O1xuICAgICAgICBsZWZ0OiAtOTk5OXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIG1hcmdpbi10b3A6IC0xcHg7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3ItYmxhY2s7XG4gICAgICBib3JkZXItd2lkdGg6IDFweCAwO1xuICAgICAgcGFkZGluZzogc2l6ZSgzMHB4KSAwO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdGQge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLXRvcDogc2l6ZSgxNnB4KTtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBIZWFkZXJzXG4gICAqL1xuICBAZWFjaCAkaGVhZGVyIGluICRoZWFkZXJzIHtcbiAgICAkaTogaW5kZXgoJGhlYWRlcnMsICRoZWFkZXIpO1xuXG4gICAgdGQ6bnRoLW9mLXR5cGUoI3skaX0pOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGNvbnRlbnQ6ICRoZWFkZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIERlZmF1bHRzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLmdyaWQge1xuICBtYXgtd2lkdGg6ICRjb250YWluZXItd2lkdGg7XG59XG5cbi5jb250YWluZXItZnVsbCA+IC5ncmlkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG51bC5tZW51LFxudWwucGxhaW4ge1xuICBAaW5jbHVkZSBsaS1yZXNldDtcbn1cblxuaW1nIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAwLjFzICRlYXNpbmc7XG5cbiAgJi5sYXp5IHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgJi5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnN2ZyxcbnN2ZyB7XG4gIHRyYW5zaXRpb246IGFsbCAwLjFzICRlYXNpbmc7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uc2NyZWVuLXJlYWRlcnMge1xuICBAaW5jbHVkZSBybS10ZXh0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xufVxuXG4vLyBLZWVwIHZpZGVvIHJhdGlvIGZvciBmbHVpZCB3aWR0aHNcbi52aWRlby1jb250YWluZXIsXG4ubWVkaWEtdmltZW8tdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBoZWlnaHQ6IDA7XG5cbiAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbi8vIFNvdW5jbG91ZFxuLm1lZGlhLXNvdW5kY2xvdWQtYXVkaW8gaWZyYW1lIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDE1MHB4O1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBUeXBvZ3JhcGh5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBDb25maWdcbiAqL1xuQG1peGluIGZvbnQtYm9keSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5O1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiAxMDA7XG59XG5cbkBtaXhpbiBmb250LWJvZHktYm9sZCB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5LWJvbGQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbkBtaXhpbiBmb250LWJvbGQge1xuICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWl4aW4gZm9udC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRidW1wLzI7XG59XG5cbkBtaXhpbiBmb250LXRpdGxlLWJvbGQge1xuICBmb250LWZhbWlseTogJGZvbnQtdGl0bGUtYm9sZDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xufVxuXG5AbWl4aW4gZm9udC1mb2N1cyB7XG4gIEBpbmNsdWRlIG1zLXJlc3BvbmQoZm9udC1zaXplLCAxKTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgIEBpbmNsdWRlIG1zLXJlc3BvbmQoZm9udC1zaXplLCAwKTtcbiAgfVxufVxuXG4vKipcbiAqIEhlYWRpbmdcbiAqL1xuaDEsXG4uaDEge1xuICBAaW5jbHVkZSBmb250LXRpdGxlO1xuXG4gIGxpbmUtaGVpZ2h0OiA4NHB4O1xuICBmb250LXNpemU6IDcycHg7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcuJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY29sb3I6ICRjLXBpbms7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSAoJzxtZCcpIHtcbiAgICBmb250LXNpemU6IDI5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDM5cHhcbiAgfVxuXG4gICYuZmVhdHVyZWQtZG90OjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZVxuICB9XG5cbn1cblxuaDIsXG4uaDIge1xuICBAaW5jbHVkZSBmb250LXRpdGxlO1xuXG4gIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgNXZ3LCA0N3B4KTtcbiAgbGluZS1oZWlnaHQ6IGNsYW1wKDI4cHgsIDV2dywgNTdweCk7XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcuJztcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBjb2xvcjogJGMtcGluaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmLmZlYXR1cmVkLWRvdDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICB9XG5cbiAgJi5mZWF0dXJlZC10aXRsZSB7XG4gICAgQGluY2x1ZGUgbWVkaWEgKCc8bWQnKSB7XG4gICAgICBmb250LXNpemU6IDI5cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjlweFxuICAgIH1cbiAgfVxuXG59XG5cbmgzIHtcbiAgQGluY2x1ZGUgZm9udC10aXRsZTtcblxuICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDV2dywgMjlweCk7XG4gIGxpbmUtaGVpZ2h0OiBjbGFtcCgyOHB4LCA1dncsIDM5cHgpO1xufVxuXG4uaDMge1xuICBAaW5jbHVkZSBmb250LWJvZHk7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgNXZ3LCAyOXB4KTtcbiAgbGluZS1oZWlnaHQ6IGNsYW1wKDI4cHgsIDV2dywgMzlweCk7XG5cbiAgYSB7XG4gICAgQGluY2x1ZGUgZm9udC1ib2R5O1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgNXZ3LCAyOXB4KTtcbiAgICBsaW5lLWhlaWdodDogY2xhbXAoMjhweCwgNXZ3LCAzOXB4KTtcblxuICB9XG5cbn1cblxuaDQsXG4uaDQge1xuICBAaW5jbHVkZSBmb250LXRpdGxlO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xufVxuXG5oNSxcbi5oNSxcbmg2LFxuLmg2IHtcbiAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgQGluY2x1ZGUgbXMtcmVzcG9uZChmb250LXNpemUsIDApO1xuICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uaDcge1xuICBmb250LXNpemU6IDE0cHg7XG4gIEBpbmNsdWRlIGZvbnQtYm9keTtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbn1cblxuLyoqXG4gKiBQYXJhZ3JhcGhzXG4gKi9cbnAge1xuICBtYXJnaW46IDEuNWVtIDA7XG4gIGxldHRlci1zcGFjaW5nOiAwcHg7XG4gIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICBmb250LXNpemU6IDE4cHg7XG5cblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8qKlxuICogTGlzdHNcbiAqL1xudWwsXG5vbCB7XG4gIG1hcmdpbjogMS41cmVtIDA7XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IGluc2lkZTtcbiAgcGFkZGluZy1sZWZ0OiAwO1xufVxuXG4vKipcbiAqIExpbmtzXG4gKi9cbmEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIHRyYW5zaXRpb246IDAuMXMgJGVhc2luZztcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogM3B4IGRhc2hlZCBjdXJyZW50Q29sb3I7XG5cbiAgICBAaW5jbHVkZSBmb2N1cy12aXNpYmxlKCkge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cbn1cblxuLm5vLWNsaWNrIHtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuOjpzZWxlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1waW5rO1xuICBjb2xvcjogJGMtd2hpdGU7XG59XG5cbi8qKlxuICogQnV0dG9uc1xuICovXG5idXR0b24ge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAzcHggZGFzaGVkIGN1cnJlbnRDb2xvcjtcblxuICAgIEBpbmNsdWRlIGZvY3VzLXZpc2libGUoKSB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIElubGluZVxuICovXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuZW0ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbnNwYW4ge1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBsZXR0ZXItc3BhY2luZzogaW5oZXJpdDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xufVxuXG5hZGRyZXNzIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xufVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogOTAlO1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuaHIge1xuICBib3JkZXI6IHNvbGlkICRjLXByaW1hcnk7XG4gIGJvcmRlci13aWR0aDogMCAwIDNweCAwO1xuICBtYXJnaW46IDEuNXJlbSAwO1xufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gR2VuZXJhdGUgY2FsYygpIGZ1bmN0aW9uXG4vLyBiYXNlZCBvbiBNaWtlIFJpZXRobXVsbGVyJ3MgUHJlY2lzZSBjb250cm9sIG92ZXIgcmVzcG9uc2l2ZSB0eXBvZ3JhcGh5XG4vLyBodHRwOi8vbWFkZWJ5bWlrZS5jb20uYXUvd3JpdGluZy9wcmVjaXNlLWNvbnRyb2wtcmVzcG9uc2l2ZS10eXBvZ3JhcGh5L1xuQGZ1bmN0aW9uIG1zLWZsdWlkKCR2YWwxOiAxZW0sICR2YWwyOiAxZW0sICRicmVhazE6IDAsICRicmVhazI6IDApIHtcbiAgJGRpZmY6IG1zLXVuaXRsZXNzKCR2YWwyKSAtIG1zLXVuaXRsZXNzKCR2YWwxKTtcblxuICAvLyB2MSArICh2MiAtIHYxKSAqICggKDEwMHZ3IC0gYjEpIC8gYjIgLSBiMSApXG4gIEByZXR1cm4gY2FsYyggI3skdmFsMX0gKyAje21zLXVuaXRsZXNzKCR2YWwyKSAtIG1zLXVuaXRsZXNzKCR2YWwxKX0gKiAoICggMTAwdncgLSAjeyRicmVhazF9KSAvICN7bXMtdW5pdGxlc3MoJGJyZWFrMikgLSBtcy11bml0bGVzcygkYnJlYWsxKX0gKSApO1xufVxuXG4vLyBNYWluIHJlc3BvbnNpdmUgbWl4aW5cbkBtaXhpbiBtcy1yZXNwb25kKCRwcm9wLCAkdmFsLCAkbWFwOiAkbW9kdWxhcnNjYWxlLCAkbXMtaW1wb3J0YW50OiBmYWxzZSkge1xuICAkYmFzZTogJG1zLWJhc2U7XG4gICRyYXRpbzogJG1zLXJhdGlvO1xuXG4gICRmaXJzdC13cml0ZTogdHJ1ZTtcbiAgJGxhc3QtYnJlYWs6IG51bGw7XG5cbiAgJGltcG9ydGFudDogJyc7XG5cbiAgQGlmICRtcy1pbXBvcnRhbnQgPT0gdHJ1ZSB7XG4gICAgJGltcG9ydGFudDogJyAhaW1wb3J0YW50JztcbiAgfVxuXG4gIC8vIGxvb3AgdGhyb3VnaCBhbGwgc2V0dGluZ3Mgd2l0aCBhIGJyZWFrcG9pbnQgdHlwZSB2YWx1ZVxuICBAZWFjaCAkdiwgJHMgaW4gJG1hcCB7XG4gICAgQGlmIHR5cGUtb2YoJHYpID09IG51bWJlciB7XG4gICAgICBAaWYgdW5pdCgkdikgIT0gJycge1xuXG4gICAgICAgIC8vIFdyaXRlIG91dCB0aGUgZmlyc3QgdmFsdWUgd2l0aG91dCBhIG1lZGlhIHF1ZXJ5LlxuICAgICAgICBAaWYgJGZpcnN0LXdyaXRlIHtcbiAgICAgICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJHYsICRzZXR0aW5nczogJG1hcCl9I3skaW1wb3J0YW50fVwiKTtcblxuICAgICAgICAgIC8vIE5vdCB0aGUgZmlyc3Qgd3JpdGUgYW55bW9yZSwgcmVzZXQgdG8gZmFsc2UgdG8gbW92ZSBvbi5cbiAgICAgICAgICAkZmlyc3Qtd3JpdGU6IGZhbHNlO1xuICAgICAgICAgICRsYXN0LWJyZWFrOiAkdjtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFdyaXRlIGludGVybWVkaWF0ZSBicmVha3BvaW50cy5cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbGFzdC1icmVhaykgYW5kIChtYXgtd2lkdGg6ICR2KSB7XG4gICAgICAgICAgICAkdmFsMTogbXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJGxhc3QtYnJlYWssICRzZXR0aW5nczogJG1hcCk7XG4gICAgICAgICAgICAkdmFsMjogbXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJHYsICRzZXR0aW5nczogJG1hcCk7XG4gICAgICAgICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZmx1aWQoJHZhbDEsJHZhbDIsJGxhc3QtYnJlYWssJHYpfSN7JGltcG9ydGFudH1cIik7XG4gICAgICAgICAgfVxuICAgICAgICAgICRsYXN0LWJyZWFrOiAkdjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFdyaXRlIHRoZSBsYXN0IGJyZWFrcG9pbnQuXG4gIEBpZiAkbGFzdC1icmVhayB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRsYXN0LWJyZWFrKSB7XG4gICAgICAjeyRwcm9wfTogdW5xdW90ZShcIiN7bXMtZnVuY3Rpb24oJHZhbCwgJHRocmVhZDogJGxhc3QtYnJlYWssICRzZXR0aW5nczogJG1hcCl9I3skaW1wb3J0YW50fVwiKTtcbiAgICB9XG4gIH1cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIERydXBhbCA4IHNwZWNpZmljXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLy8gUGFnaW5hdGlvblxuLnBhZ2VyIHtcbiAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tdG9wOiAkYnVtcDtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgbWFyZ2luLXRvcDogJGJ1bXAvMjtcbiAgfVxuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweCAwIDVweDtcbiAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICRjLXByaW1hcnk7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIGNvbG9yOiAkYy1uYXZ5O1xuXG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICRjLXBpbms7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgYSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIGEge1xuICAgICAgY29sb3I6ICRjLXBpbms7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICB9XG59XG5cbi8vIEFkbW5pbiBzdHlsZXNcblxuLmFkbWluLWZ1bmN0aW9ucyB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzE7XG5cbiAgLnVzZXItbG9nZ2VkLWluICYge1xuICAgIHRvcDogMzlweDtcbiAgfVxuXG4gIC50b29sYmFyLXRyYXktb3BlbiAmIHtcbiAgICB0b3A6IDc5cHg7XG4gIH1cblxuICBbY2xhc3MqPSdjb2wtJ10ge1xuICAgIHBhZGRpbmc6IDAgJGJ1bXAvMjtcbiAgfVxuXG4gIHVsIHtcbiAgICBAaW5jbHVkZSBsaS1yZXNldDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRidW1wO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAkYy1waW5rO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5hLnNraXAtbWFpbiB7XG4gIGxlZnQ6IC05OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAtOTk5O1xufVxuYS5za2lwLW1haW46Zm9jdXMsXG5hLnNraXAtbWFpbjphY3RpdmUge1xuICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gIGNvbG9yOiAkYy13aGl0ZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgbGVmdDogYXV0bztcbiAgdG9wOiBhdXRvO1xuICB3aWR0aDogMzAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiBhdXRvO1xuICBtYXJnaW46IDEwcHggMzUlO1xuICBwYWRkaW5nOiA1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZm9udC1zaXplOiAxLjJlbTtcbiAgei1pbmRleDogOTk5O1xufVxuXG4uYWpheC1wcm9ncmVzcy10aHJvYmJlciB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIEljb25cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG4kaWNvbi1kaXI6ICcuLi9pY29uJztcbiRpY29uLWRlZmF1bHQtc2l6ZTogMjQ7XG5cbkBtaXhpbiBpY29uLXNpemUoJHNpemU6ICRpY29uLWRlZmF1bHQtc2l6ZSkge1xuICB3aWR0aDogI3skc2l6ZX1weDtcbiAgaGVpZ2h0OiAjeyRzaXplfXB4O1xufVxuXG5AbWl4aW4gaWNvbigkaWNvbiwgJHNpemU6ICRpY29uLWRlZmF1bHQtc2l6ZSkge1xuICBiYWNrZ3JvdW5kOiB1cmwoJyN7JGljb24tZGlyfS8jeyRpY29ufS5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICBjb250ZW50OiAnJztcbiAgQGluY2x1ZGUgaWNvbi1zaXplKCRzaXplKTtcbn1cblxuQG1peGluIGljb24tc3ByaXRlKCRpY29uKSB7XG4gIGJhY2tncm91bmQ6IHVybCgnI3skaWNvbi1kaXJ9LyN7JGljb259LnN2ZycpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGNvbnRlbnQ6ICcnO1xufVxuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLmljb24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIEBpbmNsdWRlIGljb24tc2l6ZSgpO1xuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGluaGVyaXQ7XG4gICAgaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgcGF0aCxcbiAgZyB7XG4gICAgZmlsbDogaW5oZXJpdDtcbiAgfVxuXG4gICYtLXN0cm9rZSB7XG4gICAgcGF0aCxcbiAgICBnIHtcbiAgICAgIGZpbGw6IG5vbmU7XG4gICAgICBzdHJva2U6IGluaGVyaXQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIE1haW5cbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxlc1xuICovXG5odG1sIHtcbiAgZm9udC1zaXplOiAkZm9udC1iYXNlLXNpemU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcodHJ1ZSk7XG4gIGZvbnQtZmFtaWx5OiRmb250LWJvZHk7XG4gIGxpbmUtaGVpZ2h0OiAkbGluZS1ib2R5O1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBAaW5jbHVkZSBtcy1yZXNwb25kKGZvbnQtc2l6ZSwgMCk7XG4gIGxldHRlci1zcGFjaW5nOiAxcHg7XG59XG5cbltjbGFzcyo9J2NvbC0nXTpub3QoLmNvbC1ibGVlZCkge1xuICBwYWRkaW5nOiAkYnVtcC8yO1xuICBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gICAgcGFkZGluZzogJGJ1bXAvMiAkYnVtcC81IDtcbiAgfVxuXG4gIC5ncmlkIHtcbiAgICBtYXJnaW46IC0kYnVtcC8yO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKXtcbiAgICAgIG1hcmdpbjogLThweDtcbiAgICB9XG4gIH1cbn1cblxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gTmF2IFRvZ2dsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cbiRoZWlnaHQtaWNvbjogJGJ1bXAgLyAxLjY7XG4kd2lkdGgtbGluZTogJGJ1bXA7XG4kaGVpZ2h0LWxpbmU6IDRweDtcblxuJHJvdGF0aW9uOiA0NWRlZztcbiR0cmFuc2xhdGVZOiAoJGhlaWdodC1pY29uIC8gMik7XG4kdHJhbnNsYXRlWDogMDtcblxuLyoqXG4gKiBTdHlsZXNcbiAqL1xuLmEtbmF2LXRvZ2dsZSB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHdpZHRoOiA0MHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWFyZ2luLXJpZ2h0OiAkYnVtcC8yO1xuICB0b3A6IC0zcHg7XG5cbiAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICB0b3A6IDRweDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJl9fbGluZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogIzMzQTJCMztcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiAoJGhlaWdodC1saW5lIC8gMik7XG4gICAgdHJhbnNpdGlvbjogMC4ycyAkZWFzaW5nO1xuXG4gICAgJi0xIHtcbiAgICAgIHRvcDogMDtcblxuICAgICAgOmhvdmVyID4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkaGVpZ2h0LWxpbmUgLyAyICogLTEpO1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDNweCkgdHJhbnNsYXRlWCgkdHJhbnNsYXRlWClcbiAgICAgICAgICByb3RhdGUoJHJvdGF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0yIHtcbiAgICAgIHRvcDogNTAlO1xuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0zIHtcbiAgICAgIHRvcDogMTAwJTtcblxuICAgICAgOmhvdmVyID4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkaGVpZ2h0LWxpbmUgLyAyKTtcbiAgICAgIH1cblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTEuNXB4KSB0cmFuc2xhdGVYKCR0cmFuc2xhdGVYKVxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24gKiAtMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4uYS1uYXYtdG9nZ2xlX193cmFwcGVyIHtcbiAgbWluLWhlaWdodDogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBCdXR0b25zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBDb25maWdcbiAqKi9cblxuQG1peGluIGJ0biB7XG4gIEBpbmNsdWRlIGZvbnQtdGl0bGUtYm9sZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLXByaW1hcnk7XG4gIGNvbG9yOiAkYy1uYXZ5O1xuICB0cmFuc2l0aW9uOiAwLjJzICRlYXNpbmc7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiBhdXRvO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IGF0dHIoZGF0YS1ob3Zlcik7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHRyYW5zaXRpb246IDAuMXMgJGVhc2luZztcbiAgICBwYWRkaW5nOiBpbmhlcml0O1xuICB9XG5cbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgIGNvbG9yOiAkYy1uYXZ5O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgfVxuXG4gICY6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmF2eTtcbiAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBtaXhpbiBidG4taG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgY29sb3I6ICRjLW5hdnk7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAmOjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG59XG5cbkBtaXhpbiBidG4taWNvbiB7XG4gIHBhZGRpbmctcmlnaHQ6ICRidW1wO1xuXG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJnLWltZygyMHB4KTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxMHB4KSBjZW50ZXI7XG4gICAgcGFkZGluZy1yaWdodDogaW5oZXJpdDtcbiAgfVxufVxuXG4vKipcbiAqIFN0eWxlc1xuICoqL1xuXG4uYS1idG4ge1xuICBwYWRkaW5nOiA1cHggOXB4O1xuICBAaW5jbHVkZSBidG47XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgJjpob3ZlciB7XG4gICAgQGluY2x1ZGUgYnRuLWhvdmVyO1xuICAgIFxuICB9XG5cbiAgJi0tbW9yZSB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbi9pY29uLWJvb2stLXdoaXRlLnN2ZycpO1xuICAgIH1cbiAgICAmOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1ib29rLnN2ZycpO1xuICAgIH1cbiAgfVxuXG4gICYtLWJvb2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1jYWxlbmRhci5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgY29sb3I6ICRjLW5hdnk7XG4gICAgfVxuICAgICY6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbi9pY29uLWNhbGVuZGFyLS13aGl0ZS5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdnk7XG4gICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgfVxuICB9XG5cbiAgJi0taWNvbiB7XG4gICAgQGluY2x1ZGUgYnRuLWljb247XG4gIH1cblxuICAmLS1ub21hcmcge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIEltYWdlIGNyZWRpdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uYS1pbWFnZS1jcmVkaXQge1xuICBAaW5jbHVkZSBmb250LWJvZHktYm9sZDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIGxlZnQ6ICRidW1wO1xuICB6LWluZGV4OiA0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgcGFkZGluZzogMnB4IDdweDtcbiAgZm9udC1zaXplOiAwLjhlbTtcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA4MHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBsZWZ0OiAkYnVtcC8yO1xuICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gNDBweCk7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIFdyYXBwZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLndyYXBwZXIge1xuICAmLS1tYWluIHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gQ29udGFpbmVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBTdHlsaW5nXG4gKi9cblxuLmEtY29udGFpbmVyIHtcbiAgJi0td2lkZSB7XG4gICAgbWFyZ2luOiAwICRidW1wO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzN0FDQkU7XG5cbiAgICAuY3RfX3BhZ2UgJixcbiAgICAuY3RfX2V2ZW50ICYsXG4gICAgLmN0X19uZXdzLWFydGljbGUgJixcbiAgICAuY3RfX3Byb2plY3QgJiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1vcmFuZ2U7XG4gICAgfVxuXG4gICAgLnRheG9ub215ICYsXG4gICAgLmZ1bGx0ZXh0c2VhcmNoICYsXG4gICAgLmN0X19saXN0aW5nLXBhZ2UgJiB7XG4gICAgICAvLyBiYWNrZ3JvdW5kLWNvbG9yOiAkYy10ZWFsO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8MTg1MHB4Jykge1xuICAgICAgbWFyZ2luOiAwICRidW1wLzI7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8MTg1MHB4Jykge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gQnJlYWRjcnVtYnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLmEtYnJlYWRjcnVtYiB7XG4gIG1hcmdpbi1ib3R0b206IDEycHg7XG5cbiAgb2wge1xuICAgIEBpbmNsdWRlIGxpLXJlc2V0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgIGxpIHtcbiAgICAgIC8vIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRjLXByaW1hcnk7XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRidW1wLzQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAkYnVtcC80O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXRpdGxlLXJlZ3VsYXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZS1yZWd1bGFyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5hLW5ld3MtbWV0YSB7XG4gIGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5LWJvbGQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0cHg7XG5cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBUaXRsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogU3R5bGluZ1xuICovXG4uYS10aXRsZSB7XG4gIC8vIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIC8vIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICYtLW5vbWFyZyB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gJi0tc2luZ2xlLFxuICAvLyAmLS10cmlwbGUge1xuICAvLyAgICY6OmFmdGVyIHtcbiAgLy8gICAgIGNvbnRlbnQ6ICcuJztcbiAgLy8gICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLy8gICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAvLyAgICAgY29sb3I6ICRjLXBpbms7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgJi0tdHJpcGxlOjphZnRlciB7XG4gICAgLy8gY29udGVudDogJy4uLic7XG4gIH1cbn1cblxuaDEsXG5oMixoMyB7XG4gIGNvbG9yOiRjLW5hdnk7XG4gICYuYS10aXRsZS0tc2luZ2xlIHtcbiAgICAmOjphZnRlciB7XG4gICAgICAvLyBtYXJnaW4tbGVmdDogLTE3cHg7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBTb2NpYWwgbGlua3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLmEtc29jaWFsLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogJGJ1bXAvMztcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICB9XG5cbiAgJl9fbGluayB7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYnVtcC8yO1xuICAgIGhlaWdodDogJGJ1bXAgKiAxLjI1O1xuICAgIHdpZHRoOiAkYnVtcCAqIDEuMjU7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICByZWN0IHtcbiAgICAgIHRyYW5zaXRpb246IDAuMXMgJGVhc2luZztcblxuICAgICAgZmlsbDogIzM3QUNCRTtcblxuXG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICByZWN0IHtcbiAgICAgICAgZmlsbDogJGMtd2hpdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gR3JpZFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogU3R5bGluZ1xuICovXG4uYS1ncmlkIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAkYnVtcC8zO1xuXG4gICYtLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogJGJ1bXAvMS41O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgZ2FwOiAkYnVtcC8yLjU7XG4gICAgfVxuICB9XG5cbiAgJi0tMyB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBnYXA6ICRidW1wLzEuNTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cblxuICAmLS00IHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICBnYXA6ICRidW1wLzQ7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gSWxsdXN0cmF0aW9uc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5hLWlsbHVzdHJhdGlvbiB7XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gU2VhcmNoIHN1Z2dlc3Rpb25zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLmEtc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBhIHtcbiAgICBtYXJnaW46IDAgJGJ1bXAvOCAkYnVtcC8yO1xuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBQZXJzb24gZmlsdGVyc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogU3R5bGluZ1xuICovXG5cbi5hLXBlcnNvbi1maWx0ZXJzIHtcbiAgbWFyZ2luLXJpZ2h0OiAkYnVtcC8yO1xuICAvLyBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1bXAvMztcbiAgaGVpZ2h0OiAkYnVtcDtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICBhIHtcbiAgICAmLmEtYnRue1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiAkYnVtcDtcbiAgICB3aWR0aDogMzZweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBmb250LWZhbWlseTogJGZvbnQtdGl0bGU7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9fVxuICB9XG4gXG4gICAgLy8gYXtcbiAgICAvLyAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgIC8vICAgcGFkZGluZy1ib3R0b206IDUwcHg7XG4gICAgLy8gICBib3JkZXI6IHNvbGlkIDFweCAjZGRkO1xuICAgIC8vICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIC8vICAgZm9udC1zaXplOiA1ZW07XG4gICAgLy8gICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgLy8gfVxuICAgXG5cbiAgXG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBWaWRlbyBwbGF5L3BhdXNlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLmEtdmlkZW8tY29udHJvbCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTtcbiAgQGluY2x1ZGUgZm9udC10aXRsZS1ib2xkO1xuICBjb2xvcjogJGMtd2hpdGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIEBpbmNsdWRlIGJnLWltZygxNXB4KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBwYWRkaW5nOiA1cHggJGJ1bXAvMS41O1xuICBtYXJnaW4tYm90dG9tOiAyMnB4O1xuXG4gICY6OmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogMC4xcyAkZWFzaW5nO1xuICB9XG5cbiAgJi0tcGxheSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29uL2ljb24tdHJpYW5nbGUuc3ZnJyk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbi9pY29uLXRyaWFuZ2xlLS1yZWQuc3ZnJyk7XG4gICAgICBjb2xvcjogJGMtcGluaztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1BsYXknO1xuICAgIH1cbiAgfVxuXG4gICYtLXBhdXNlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1wYXVzZS5zdmcnKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29uL2ljb24tcGF1c2UtLXJlZC5zdmcnKTtcbiAgICAgIGNvbG9yOiAkYy1waW5rO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnUGF1c2UnO1xuICAgIH1cbiAgfVxufVxuIiwiLnNsaWRlciB7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyB3aWR0aDogODA1cHg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQ1cHggMWZyIDQ1cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSAoJzxzbScpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogM3B4O1xuICAgIH1cblxuICAgIC5kcmFnZ2FibGUge1xuICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIGhlaWdodDogNThweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJzxzbScpIHtcbiAgICAgICAgICAgIGhlaWdodDogdW5zZXQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHdpZHRoOiB1bnNldCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDM2cHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoL3RoZW1lcy9waXBwaXAvYXNzZXRzL2ljb24vTGVmdC1hcnJvdy5zdmcpLCAjY2RlYWVlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC90aGVtZXMvcGlwcGlwL2Fzc2V0cy9pY29uL0xlZnQtYXJyb3cuc3ZnKSwgIzM3QUNCRTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybCgvdGhlbWVzL3BpcHBpcC9hc3NldHMvaWNvbi9pY29uLXRyaWFuZ2xlLW5hdnktaWNvbi10cmlhbmdsZS5zdmcpLCAjY2RlYWVlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5OXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKC90aGVtZXMvcGlwcGlwL2Fzc2V0cy9pY29uL2ljb24tdHJpYW5nbGUtbmF2eS1pY29uLXRyaWFuZ2xlLnN2ZyksICMzN0FDQkU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59IiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIEVtZXJnZW5jeSBNZXNzYWdlXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcblxyXG4vKipcclxuICogQ29uZmlnXHJcbiAqKi9cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU3R5bGluZ1xyXG4gKiovXHJcbi5tLWVtbXNnIHtcclxuICBwb3NpdGlvbjogZml4ZWQ7XHJcbiAgYm90dG9tOiAwO1xyXG4gIGxlZnQ6IDA7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcclxuICB6LWluZGV4OiAxMDA7XHJcbiAgY29sb3I6ICRjLXdoaXRlO1xyXG4gIHBhZGRpbmc6ICRidW1wLzIgMDtcclxuICBtYXgtaGVpZ2h0OiAzMHZoO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy13aGl0ZTtcclxuXHJcbiAgJltkYXRhLXN0YXRlPSd2aXNpYmxlJ10ge1xyXG4gICAgb3BhY2l0eTogMDtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIGFuaW1hdGlvbjogc2xpZGVJblVwIDAuMnMgMC4zcyBjdWJpYy1iZXppZXIoMC43NywgMC4yOSwgMC4zNSwgMC43MikgMVxyXG4gICAgICBmb3J3YXJkcztcclxuICB9XHJcbiAgJltkYXRhLXN0YXRlPSdoaWRkZW4nXSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcclxuICAgIHBhZGRpbmc6IDA7XHJcbiAgfVxyXG5cclxuICBoMiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gICAgd2lkdGg6IDkwJTtcclxuICB9XHJcblxyXG4gICZfX2Nsb3NlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogJGJ1bXAvMjtcclxuICAgIHJpZ2h0OiAkYnVtcC8yO1xyXG4gICAgaGVpZ2h0OiAkYnVtcDtcclxuICAgIHdpZHRoOiAkYnVtcDtcclxuXHJcbiAgICBwYXRoIHtcclxuICAgICAgZmlsbDogJGMtd2hpdGU7XHJcbiAgICAgIHRyYW5zaXRpb246IDAuMXMgJGVhc2luZztcclxuICAgIH1cclxuXHJcbiAgICAmOmhvdmVyIHtcclxuICAgICAgcGF0aCB7XHJcbiAgICAgICAgZmlsbDogJGMtcGluaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKipcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKiBVbi50aXRsZWRcclxuICogTW9sZWN1bGVzIC0gRW50aXRpZXNcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKi9cclxuXHJcbi5tLWVudGl0eSB7XHJcbiAgbWFyZ2luOiAxLjUqJGJ1bXAgYXV0bztcclxuXHJcbiAgJl9fcHJvamVjdC10YWdzIHtcclxuICAgID5he1xyXG4gICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xyXG4gIH1cclxuXHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgbWFyZ2luOiAwIGF1dG87XHJcblxyXG4gIH1cclxuXHJcblxyXG4gIGgzIHtcclxuICAgIGNvbG9yOiAkYy1uYXZ5O1xyXG4gIH1cclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgIG1hcmdpbjogJGJ1bXAgYXV0bztcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XHJcbiAgICBtYXJnaW46ICRidW1wLzIgYXV0bztcclxuICB9XHJcblxyXG4gICYtLW5vYiB7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xyXG4gIH1cclxuXHJcbiAgJl9fY29udGVudCB7XHJcbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBtYXJnaW4tdG9wOiAxMjBweDtcclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgdWwge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG4gICAgICAmOjptYXJrZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJi5wYWdlcl9faXRlbS0tbGFzdCB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgJi5wYWdlcl9faXRlbS0tZmlyc3Qge1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgICYucGFnZXJfX2l0ZW0tLW5leHQge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG5cclxuICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogLTE1cHg7XHJcbiAgICAgICAgdG9wOiAxMHB4O1xyXG5cclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLnBhZ2VyIHtcclxuICAgIHVsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgJi5wYWdlcl9faXRlbS0tbmV4dCB7XHJcbiAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgZGlzcGxheTogdW5zZXQ7XHJcblxyXG4gICAgICAgICAgICBzcGFuIHtcclxuICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL3BpcHBpcC9hc3NldHMvaWNvbi9pY29uLXRyaWFuZ2xlLW5hdnktaWNvbi10cmlhbmdsZS5zdmcnKTtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogOHB4O1xyXG4gICAgICAgICAgICAgICAgdG9wOiA2cHg7XHJcblxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICYucGFnZXJfX2l0ZW0tLXByZXZpb3VzIHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiB1bnNldDtcclxuXHJcbiAgICAgICAgICAgIHNwYW4ge1xyXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL3BpcHBpcC9hc3NldHMvaWNvbi9MZWZ0LWFycm93LnN2ZycpO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDZweDtcclxuXHJcblxyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG5cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6Om1hcmtlciB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuICAgICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuXHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgb2wge1xyXG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICBsaXN0LXN0eWxlOiBkZWNpbWFsO1xyXG5cclxuXHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1nIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcblxyXG4gIH1cclxuXHJcbiAgJl9fdmlkZW8sXHJcbiAgJl9fdGV4dCB7XHJcbiAgICBoMyB7XHJcbiAgICAgIGNvbG9yOiAkYy1uYXZ5O1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fZW1iZWQge1xyXG4gICAgaDMge1xyXG4gICAgICBjb2xvcjogJGMtbmF2eTtcclxuICAgIH1cclxuXHJcbiAgICBpZnJhbWUge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICAvLyBAaW1wb3J0ICdlbnRpdGllcy9ib2R5JztcclxuICBAaW1wb3J0ICdlbnRpdGllcy9pbWFnZSc7XHJcbiAgQGltcG9ydCAnZW50aXRpZXMvYXVkaW8nO1xyXG4gIEBpbXBvcnQgJ2VudGl0aWVzL3ZpZXcnO1xyXG4gIEBpbXBvcnQgJ2VudGl0aWVzL3F1b3RlJztcclxuICBAaW1wb3J0ICdlbnRpdGllcy9hY2NvcmRpb24nO1xyXG4gIEBpbXBvcnQgJ2VudGl0aWVzL2dhbGxlcnknO1xyXG4gIEBpbXBvcnQgJ2VudGl0aWVzL2xpbmtlZC1sb2dvcyc7XHJcbiAgQGltcG9ydCAnZW50aXRpZXMvZG93bmxvYWRzJztcclxuICBAaW1wb3J0ICdlbnRpdGllcy9pbWFnZS10ZXh0JztcclxuICBAaW1wb3J0ICdlbnRpdGllcy9yZXNvdXJjZXMnO1xyXG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEltYWdlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9faW1hZ2Utd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiZfX2ltYWdle1xuICBoM3tcbiAgICBjb2xvcjokYy1uYXZ5O1xufVxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBFbnRpdHkgdmlld3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX192aWV3IHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIFF1b3Rlc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cblxuQG1peGluIHJhdGluZygkc3RhcnMpIHtcbiAgJjpudGgtY2hpbGQoLW4gKyAjeyRzdGFyc30pIHtcbiAgICBwYXRoIHtcbiAgICAgIGZpbGw6ICRjLXBpbms7XG4gICAgICBzdHJva2U6ICRjLXBpbms7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogU3R5bGVzXG4gKi9cblxuJl9fcXVvdGUge1xuICBibG9ja3F1b3RlIHtcbiAgICBAaW5jbHVkZSBmb250LXRpdGxlO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgJGJ1bXAvMjtcbiAgICBAaW5jbHVkZSBtcy1yZXNwb25kKGZvbnQtc2l6ZSwgMSk7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgfVxuXG4gICAgZm9vdGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXRpdGxlLWJvbGQ7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICB9XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXDIwMUMnO1xuICAgICAgICAgIGNvbG9yOiAkYy1waW5rO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJy5cXDIwMUQnO1xuICAgICAgICAgIGNvbG9yOiAkYy1waW5rO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGNpdGUge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAubmFtZSB7XG4gICAgICBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgfVxuICB9XG5cbiAgLnJhdGluZyB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYnVtcC8yO1xuXG4gICAgJl9fc3RhciB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgc3Ryb2tlOiAkYy1waW5rO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkc3RhcnMgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAmLS0jeyRzdGFyc30ge1xuICAgICAgICAucmF0aW5nX19zdGFyIHtcbiAgICAgICAgICBAaW5jbHVkZSByYXRpbmcoI3skc3RhcnN9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEFjY29yZGlvbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19hY2NvcmRpb24ge1xuICBoM3tcbiAgICBjb2xvcjokYy1uYXZ5O1xuICB9XG4gIC5hY2NvcmRpb24ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLXByaW1hcnk7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxuICAuYWNjb3JkaW9uX19oZWFkZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgQGluY2x1ZGUgbXMtcmVzcG9uZChmb250LXNpemUsIDEpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRidW1wLzEuNiAkYnVtcC8xLjY3O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkYy1wcmltYXJ5O1xuICAgIG1hcmdpbjogMDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgQGluY2x1ZGUgYmctaW1nKGNvdmVyKTtcbiAgICAgIGhlaWdodDogJGJ1bXAvMjtcbiAgICAgIHdpZHRoOiAkYnVtcC8yO1xuICAgIH1cblxuICAgICY6Zm9jdXMsXG4gICAgJlthcmlhLWV4cGFuZGVkPSd0cnVlJ10ge1xuICAgICAgQGluY2x1ZGUgZm9udC1ib2xkO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gICAgJjpmb2N1c3tcbiAgICAgIG91dGxpbmU6IDNweCBkYXNoZWQgY3VycmVudENvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC5hY2NvcmRpb25fX3RpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6JGMtbmF2eTtcbiAgfVxuXG4gIC5qcy1hY2NvcmRpb25fX3BhbmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmFjY29yZGlvbl9fcGFuZWwge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDBzIGVhc2UsIG1heC1oZWlnaHQgMC4ycyBlYXNlLCBvcGFjaXR5IDAuMnMgZWFzZTtcbiAgICBtYXgtaGVpZ2h0OiAxMDBlbTtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIHRyYW5zaXRpb24tZGVsYXk6IDBzO1xuICAgIHBhZGRpbmc6IDAgJGJ1bXAvMjtcblxuICAgICZbYXJpYS1oaWRkZW49J3RydWUnXSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMHMsIDBzO1xuICAgIH1cblxuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYnVtcC8yO1xuICAgIH1cbiAgfVxuXG4gIC8qIHRpdGxlIG9wZW5lZCAqL1xuICBbYXJpYS1leHBhbmRlZD0ndHJ1ZSddOmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL2ljb24tYXJyb3ctZG93biBuYXZ5LWljb24tYXJyb3ctZG93bi5zdmcnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAvKiB0aXRsZSBjbG9zZWQgKi9cbiAgW2FyaWEtZXhwYW5kZWQ9J2ZhbHNlJ106YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvaWNvbi1hcnJvdy1kb3duIG5hdnktaWNvbi1hcnJvdy1kb3duLnN2ZycpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKTtcbiAgfVxuXG4gIC8vIC8qIHRpdGxlIHNlbGVjdGVkICovXG4gIC8vIFthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXTphZnRlciB7XG4gIC8vICAgY29udGVudDogXCIgKHNlbClcIjtcbiAgLy8gfVxuICAvLyAvKiB0aXRsZSBub24gc2VsZWN0ZWQgKi9cbiAgLy8gW2FyaWEtc2VsZWN0ZWQ9XCJmYWxzZVwiXTphZnRlciB7XG4gIC8vICAgY29udGVudDogXCIgKHVuc2VsYylcIjtcbiAgLy8gfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEdhbGxlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19nYWxsZXJ5IHtcbiAgaDN7XG4gICAgY29sb3I6JGMtbmF2eTtcbiAgfVxuICBhIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIExpbmtlZCBsb2dvc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2xpbmtlZC1sb2dvcyB7XG4gIGgze1xuICAgIGNvbG9yOiRjLW5hdnk7XG4gIH1cbiAgLmxvZ29zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgfVxuXG4gIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogJGJ1bXAvMjtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC43O1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiA4MHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBEb3dubG9hZHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19kb3dubG9hZHMge1xuICBoM3tcbiAgICBjb2xvcjokYy1uYXZ5O1xuICB9XG4gIC5maWxlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgQGluY2x1ZGUgYmctaW1nKCRidW1wLzIpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbi9pY29uLWRvd25sb2FkLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAkYnVtcC8xLjU7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBJbWFnZSAmIFRleHRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19pbWFnZS10ZXh0IHtcbiAgaDN7XG4gICAgY29sb3I6JGMtbmF2eTtcbn1cbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MCUgMWZyO1xuICBnYXA6ICRidW1wLzEuNTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogJGJ1bXAvMjtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIFJlc29sdXJjZXNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19yZXNvdXJjZXMge1xuICBAaW5jbHVkZSBsaS1yZXNldDtcbiAgbWFyZ2luLXRvcDogLSRidW1wO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgbWFyZ2luLXRvcDogLSRidW1wLzI7XG4gIH1cblxuICBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuICB9XG59XG4iLCImX19hdWRpb3tcbiAgICBoM3tcbiAgICAgICAgY29sb3I6JGMtbmF2eTtcbiAgICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEZvcm1zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW5wdXQsXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBAaW5jbHVkZSBmb250LWJvZHk7XG4gIGNvbG9yOiAkYy1wcmltYXJ5O1xuICByZXNpemU6IG5vbmU7XG4gIHBhZGRpbmc6ICRidW1wLzIgJGJ1bXA7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYy1wcmltYXJ5O1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyAkZWFzaW5nO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbn1cblxuaW5wdXRbdHlwZT0nc2VhcmNoJ10sXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdzdWJtaXQnXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLmZvcm0tYWN0aW9ucyBpbnB1dCxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG5idXR0b24ge1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDA7XG59XG5cbi8vIENoZWNrYm94ZXNcblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblt0eXBlPSdjaGVja2JveCddOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUsXG5bdHlwZT0nY2hlY2tib3gnXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICBib3JkZXI6IDJweCBzb2xpZCAkYy1wcmltYXJ5O1xufVxuW3R5cGU9J2NoZWNrYm94J106Y2hlY2tlZCArIGxhYmVsOmFmdGVyLFxuW3R5cGU9J2NoZWNrYm94J106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgY29udGVudDogJ1xcMjcxNFxcMDAyMCc7XG4gIGNvbG9yOiAkYy1wcmltYXJ5O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMXB4O1xuICBsZWZ0OiAzLjVweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgJGVhc2luZztcbn1cblt0eXBlPSdjaGVja2JveCddOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zZm9ybTogc2NhbGUoMCk7XG59XG5bdHlwZT0nY2hlY2tib3gnXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIge1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xufVxuXG4vLyBSYWRpb3Ncblt0eXBlPSdyYWRpbyddOmNoZWNrZWQsXG5bdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAtOTk5OXB4O1xufVxuW3R5cGU9J3JhZGlvJ106Y2hlY2tlZCArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nLWxlZnQ6IDI4cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgY29sb3I6ICRjLXByaW1hcnk7XG59XG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6YmVmb3JlLFxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsOmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgYm9yZGVyOiAycHggc29saWQgJGMtcHJpbWFyeTtcbiAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG59XG5bdHlwZT0ncmFkaW8nXTpjaGVja2VkICsgbGFiZWw6YWZ0ZXIsXG5bdHlwZT0ncmFkaW8nXTpub3QoOmNoZWNrZWQpICsgbGFiZWw6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgd2lkdGg6IDEycHg7XG4gIGhlaWdodDogMTJweDtcbiAgYmFja2dyb3VuZDogJGMtcHJpbWFyeTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDRweDtcbiAgbGVmdDogNHB4O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyAkZWFzaW5nO1xufVxuW3R5cGU9J3JhZGlvJ106bm90KDpjaGVja2VkKSArIGxhYmVsOmFmdGVyIHtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbn1cblt0eXBlPSdyYWRpbyddOmNoZWNrZWQgKyBsYWJlbDphZnRlciB7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gTWFpbiBuYXZcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG5AbWl4aW4gbmF2LWhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmF2eTtcbiAgY29sb3I6ICRjLXdoaXRlO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudGl6ZSgkYy13aGl0ZSwgMC4yKTtcbiAgICBjb2xvcjogJGMtcHJpbWFyeTtcblxuICAgIC5zdWItbWVudS10b2dnbGVyIHtcbiAgICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIH1cbiAgfVxufVxuXG4kaGVhZGVyLWhlaWdodDogNjlweDtcbi8vIEFjY291bnRpbmcgZm9yIGxvZ2dlZCBpbiB1c2Vyc1xuJGxvZ2dlZC1pbjogMTA2cHg7XG4kbG9nZ2VkLWluLXRvb2xiYXI6IDE0N3B4O1xuXG5Aa2V5ZnJhbWVzIHNsaWRlSW4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIGZpbHRlcjogYmx1cigxcHgpO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZVkoMCk7XG4gICAgZmlsdGVyOiBibHVyKDApO1xuICB9XG59XG5cbkBrZXlmcmFtZXMgc2xpZGVPdXQge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApIHJvdGF0ZVkoMCk7XG4gICAgZmlsdGVyOiBibHVyKDApO1xuICB9XG5cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMCUpIHJvdGF0ZVkoOTBkZWcpO1xuICAgIGZpbHRlcjogYmx1cigxcHgpO1xuICB9XG59XG5cbi8qKlxuICogU3R5bGVzXG4gKi9cblxuLm0tbWFpbi1uYXYge1xuICB1bCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpO1xuICAgICAgZmlsdGVyOiBibHVyKDFweCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogJGhlYWRlci1oZWlnaHQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgei1pbmRleDogMjA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZVkoOTBkZWcpO1xuICAgICAgZmlsdGVyOiBibHVyKDFweCk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiAwIDUwJTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNDdweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB6LWluZGV4OiAyMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICBhbmltYXRpb246IHNsaWRlSW4gMC4xNXMgJGVhc2luZyBmb3J3YXJkcztcbiAgICB9XG5cbiAgICBbZGF0YS1uYXY9J2Nsb3NlZCddICYge1xuICAgICAgYW5pbWF0aW9uOiBzbGlkZU91dCAwLjE1cyAkZWFzaW5nIGZvcndhcmRzO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgIC8vIHdpZHRoOiAxMDAlO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnRvdWNoICYgbGk6aG92ZXIgLmxldmVsIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5leHBhbmRlZCB7XG4gICAgICAgIC5vcGVuLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvc2UtaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLXRyaWFuZ2xlLWRvd24uc3ZnJyk7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogN3B4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sZXZlbCB7XG5cbiAgICAgIC8vIEhpZGUgc3VibmF2XG4gICAgICAubGV2ZWwge1xuICAgICAgICBsZWZ0OiAtMTAwMDBweDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzO1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgICAgICAvLyBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgcG9zaXRpb246IHN0YXRpYztcbiAgICAgICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC4ycyAkZWFzaW5nO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgIH1cblxuICAgICAgICAvLyAmLmV4cGFuZGVkIHtcbiAgICAgICAgLy8gICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAvLyAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgLy8gICB9XG4gICAgICAgIC8vIH1cbiAgICAgIH1cblxuICAgICAgLy8gT24gbmF2IGRyb3Bkb3duXG4gICAgICAubmF2LW5vLXRvdWNoICY+bGk6aG92ZXIsXG4gICAgICAmPmxpOmZvY3VzIHtcbiAgICAgICAgJj4ubGV2ZWwge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG5cbiAgICAgICAgJj5hIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLm5hdi1uby10b3VjaCAmPmxpIHtcblxuICAgICAgICAmOm50aC1jaGlsZCgxKSxcbiAgICAgICAgJjpudGgtY2hpbGQoNCkge1xuICAgICAgICAgICYubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwge1xuICAgICAgICAgICAgJj5hIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMjQ0MDtcbiAgICAgICAgICAgICAgY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9BcnJvdy13aGl0ZS5zdmcnKTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuXG4gICAgICAgICAgICAmPmEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyNDQwO1xuICAgICAgICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL0Fycm93LXdoaXRlLnN2ZycpO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgnPG1kJykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAmLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICAgICY+YSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL0Fycm93LWJsYWNrLnN2ZycpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM0MTY2O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmhvdmVyIHtcblxuICAgICAgICAgICAgJj5hIHtcblxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9BcnJvdy1ibGFjay5zdmcnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjNDE2NjtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDMpLFxuICAgICAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAgICAgJi5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbCB7XG4gICAgICAgICAgICAmPmEge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9BcnJvdy1ibGFjay5zdmcnKTtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3YWNiZTtcblxuICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG5vbmU7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJjpob3ZlciB7XG5cbiAgICAgICAgICAgICY+YSB7XG5cbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvQXJyb3ctYmxhY2suc3ZnJyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzN2FjYmU7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAmLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlsIHtcbiAgICAgICAgICAgICY+YSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL0Fycm93LWJsYWNrLnN2ZycpO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM0MTY2O1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbm9uZTtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAgICAgICAgICY6aG92ZXIge1xuXG5cbiAgICAgICAgICAgICY+YSB7XG5cbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvQXJyb3ctYmxhY2suc3ZnJyk7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzQxNjY7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBub25lO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAudG91Y2ggJiBsaTpob3ZlciAubGV2ZWwge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxMDAwcHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5sZXZlbC0xIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+PW1kJykge1xuICAgICAgICAmPmxpPmEge1xuXG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi10cmlhbmdsZS1kb3duLnN2ZycpO1xuICAgICAgICAgIC8vIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGhlaWdodDogMTBweDtcbiAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDI1cHggc29saWQgJGMtd2hpdGU7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogOTUlO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogN3B4O1xuXG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9BcnJvdy13aGl0ZS5zdmcnKTtcbiAgICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi5sZXZlbC0xIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJz49bWQnKSB7XG4gICAgICAgICAgJj5saSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgID5hIHtcblxuICAgICAgICAgICAgICAgICsubGV2ZWwge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjNDE2NjtcblxuICAgICAgICAgICAgICAgICAgLm1lbnUtLW92ZXJsYXkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM0MTY2O1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RjNDE2NjtcbiAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwMDAwXG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSxcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDYpIHtcbiAgICAgICAgICAgICAgPmEge1xuXG4gICAgICAgICAgICAgICAgKy5sZXZlbCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdhY2JlO1xuXG4gICAgICAgICAgICAgICAgICAubWVudS0tb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzN2FjYmU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdhY2JlO1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDBcbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDUpIHtcbiAgICAgICAgICAgICAgPmEge1xuXG4gICAgICAgICAgICAgICAgKy5sZXZlbCB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM0MTY2O1xuXG4gICAgICAgICAgICAgICAgICAubWVudS0tb3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNkYzQxNjY7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDA7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGM0MTY2O1xuICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDAwMDBcbiAgICAgICAgICAgICAgICB9XG5cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cblxuXG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjI4dnc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL01lZGl1bS1MaW5lcy5zdmcnKTtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTE0JSA5JTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmF2eTtcbiAgICAgICAgcGFkZGluZzogJGJ1bXAvMyAwO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgfVxuXG4gICAgICBsaS5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hIHtcbiAgICAgICAgLy8gQGluY2x1ZGUgbmF2LWhvdmVyO1xuXG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGV2ZWwtMiB7XG4gICAgICAvLyBAaW5jbHVkZSBiZy1pbWcoNzV2dyk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9NZWRpdW0tTGluZXMuc3ZnJyk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtMTclIDIwJTtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzl2dztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6ICRoZWFkZXItaGVpZ2h0O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB6LWluZGV4OiAyMDA7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXZ5O1xuXG4gICAgICAubWVudS0tb3ZlcmxheSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdnk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG5cbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cblxuXG4gICAgICAudXNlci1sb2dnZWQtaW4gJiB7XG4gICAgICAgIHRvcDogJGxvZ2dlZC1pbjtcbiAgICAgIH1cblxuICAgICAgLnRvb2xiYXItdHJheS1vcGVuICYge1xuICAgICAgICB0b3A6ICRsb2dnZWQtaW4tdG9vbGJhcjtcbiAgICAgIH1cblxuICAgICAgLy8gTGV2ZWwgMlxuICAgICAgdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAkY29udGFpbmVyLXdpZHRoO1xuICAgICAgICBtYXJnaW46ICRidW1wIDAgMDtcbiAgICAgICAgcGFkZGluZzogJGJ1bXAvMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAzO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgZ2FwOiAkYnVtcC8yO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RhcnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBtYXJnaW46IDAgMDtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBnYXA6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgICAgICBAaW5jbHVkZSBtcy1yZXNwb25kKGZvbnQtc2l6ZSwgMSk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJ1bXA7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBtcy1yZXNwb25kKGZvbnQtc2l6ZSwgMCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE5cHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcGFkZGluZzogMnB4IDE4cHggMnB4IDhweDtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmlzLWFjdGl2ZSxcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgICAgICAgY29sb3I6ICRjLW5hdnk7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVudS1pdGVtLS1hY3RpdmUtdHJhaWwge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogJGMtbmF2eTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAubGV2ZWwtMyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zdWItbWVudS10b2dnbGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6ICRidW1wO1xuICAgICAgd2lkdGg6ICRidW1wO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICBmb250LXNpemU6ICRidW1wO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZ3JpZDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICAgICAgIC5vcGVuLWljb24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9pY29uLXRyaWFuZ2xlLWRvd24uc3ZnJyk7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlO1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogN3B4O1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgc3BhbiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICBoZWlnaHQ6ICRidW1wO1xuICAgICAgICB3aWR0aDogJGJ1bXA7XG4gICAgICB9XG5cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmFjdGl2ZSB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgIC5jbG9zZS1pY29uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBMZXZlbCAxXG4gIC5lbnUtaXRlbS0tYWN0aXZlLXRyYWlsPmEge1xuICAgIEBpbmNsdWRlIG5hdi1ob3ZlcjtcbiAgfVxuXG4gIGEge1xuXG4gICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICBAaW5jbHVkZSBtcy1yZXNwb25kKGZvbnQtc2l6ZSwgMCk7XG4gICAgcGFkZGluZzogMnB4IDE4cHggMnB4IDRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgbWFyZ2luLXJpZ2h0OiAkYnVtcC8zO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBmb250LXNpemU6IDI5cHg7XG4gICAgICBmb250LXdlaWdodDogOTAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgLy8ganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6ICRidW1wLzMgJGJ1bXAvNTtcbiAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgIC8vIEBpbmNsdWRlIG5hdi1ob3ZlcjtcbiAgICB9XG4gIH1cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gQmFubmVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm0tbm8tYmFubmVyIHtcbiAgcGFkZGluZy10b3A6ICRidW1wO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgaDEge1xuICAgICYuZmVhdHVyZWQtdGV4dCB7XG4gICAgICBmb250LXNpemU6IDQ3cHg7XG4gICAgICBsaW5lLWhlaWdodDogNTdweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZm9udC1zaXplOiAyOXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIHBhZGRpbmctdG9wOiAkYnVtcC8yO1xuICB9XG5cbiAgcCB7XG4gICAgQGluY2x1ZGUgZm9udC1mb2N1cztcblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4ubS1iYW5uZXIge1xuICBhIHtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cblxuICBoMSB7XG4gICAgY29sb3I6ICRjLW5hdnk7XG5cbiAgICAmLmZlYXR1cmVkLXRleHQge1xuICAgICAgZm9udC1zaXplOiA0N3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDU3cHg7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICAuc2VhcmNoLXJlc3VsdHMge1xuICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZS1yZWd1bGFyO1xuICAgIG1hcmdpbi10b3A6IDJweDtcblxuICAgIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXRpdGxlLWJvbGQ7XG4gICAgfVxuICB9XG5cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDUwJSA1MCU7XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbiAgfVxuXG4gIGZpZ3VyZSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICB9XG5cbiAgLmdyaWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJi0tbGlzdGluZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgYmctaW1nKDc4dncpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE2MyUgLTIydmg7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvTWVkaXVtLUxpbmVzLnN2ZycpO1xuICAgIHBhZGRpbmc6ICRidW1wIDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZzogJGJ1bXAvMiAkYnVtcC80O1xuXG4gICAgICAuY29sLXNtLTU6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgIG1hcmdpbjogJGJ1bXAgMCAwO1xuICAgICAgLy8gQGluY2x1ZGUgZm9udC1mb2N1cztcbiAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYtLWJhbm5lciB7XG4gICAgei1pbmRleDogMTtcbiAgfVxuXG4gICYtLWhvbWUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwdnc7XG4gICAgLy8gYmFja2dyb3VuZC1jb2xvcjogJGMtdGVhbDtcbiAgICAvLyB6LWluZGV4OiAtMTtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9NZWRpdW0tTGluZXMuc3ZnJyksIHVybCgnLi4vaW1nL01lZGl1bS1MaW5lcy5zdmcnKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtOTkzcHggLTEyNHB4LCA2MDVweCA1NDRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhICgnPHNtJykge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwN3B4IDI1NHB4LCA2MDVweCA1NDRweDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjUwJTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAtd2Via2l0LWZpbGwtYXZhaWxhYmxlO1xuICAgICAgd2lkdGg6IC1tb3otYXZhaWxhYmxlO1xuICAgICAgaGVpZ2h0OiA3MCU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogNzh2dztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXRlYWw7XG4gICAgICB6LWluZGV4OiAtMTtcbiAgICAgIC8vIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL01lZGl1bS1MaW5lcy5zdmcnKTtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC0xNzElIDMwJTtcbiAgICAgIG1hcmdpbjogMCAkYnVtcDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEgKCc8bGcnKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgaGVpZ2h0OiA3NSU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgbWFyZ2luOiAwICRidW1wLzI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgIG1heC1oZWlnaHQ6IDc2MHB4O1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSAoJzxzbScpIHtcbiAgICAgICAgbWFyZ2luOiAwICRidW1wLzU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgIGhlaWdodDogMzA0cHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLm0tYmFubmVyX192aWRlbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAyMHB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKSB7XG4gICAgICAgIGxlZnQ6IDhweDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDE2cHgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tLWJhbm5lcl9fY29udHJvbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm0tYmFubmVyX19pbm5lciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAkYnVtcC8yO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDQwcHgpO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAwICRidW1wICogMjtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50aXplKCRjLXByaW1hcnksIDAuNik7XG4gICAgICB6LWluZGV4OiAzO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSAoJzxzbScpIHtcbiAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTZweCk7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICAgIH1cblxuICAgICAgaDEge1xuICAgICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTB2aCk7XG4gICAgICAgIG1heC13aWR0aDogNjUlO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDF2aCk7XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMHZoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb3B5IHtcbiAgICBncmlkLWNvbHVtbjogMS8zO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIHBhZGRpbmc6ICRidW1wIDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgcGFkZGluZzogJGJ1bXAvMiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAvLyBAaW5jbHVkZSBmb250LWZvY3VzO1xuICAgICAgZm9udC1zaXplOiAyOXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGdyaWQtY29sdW1uOiAyO1xuICAgIGdyaWQtcm93OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IDU0OXB4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgfVxuXG4gICAgJl9fcGVyc29uIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbn1cblxuLm0tbGFuZGluZy1zaWducG9zdCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG59XG4ubS1sYW5kaW5nX19oaWdobGlnaHRlZC1jb250ZW50e1xuICBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gICAgcGFkZGluZy1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgfVxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBIZWFkZXIgbGlua3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ubS1oZWFkZXItbGlua3Mge1xuICBtYXJnaW4tbGVmdDogYXV0bztcblxuICAmX19saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LXRpdGxlO1xuICAgIG1hcmdpbi1yaWdodDogJGJ1bXAvMS41O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgQGluY2x1ZGUgcm0tdGV4dDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkYnVtcC8zO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAkYnVtcC81O1xuICAgIH1cblxuICAgIHBhdGgge1xuICAgICAgZmlsbDogIzMzQTJCMztcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgJGVhc2luZztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgcGF0aCB7XG4gICAgICAgIGZpbGw6ICRjLW5hdnk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gRm9vdGVyIG5ld3NsZXR0ZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ubS1mb290ZXItbmV3c2xldHRlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRjLWx0LXBpbms7XG4gIHBhZGRpbmc6ICRidW1wIC8gMS41O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICRjLXByaW1hcnk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB9XG5cbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgfVxuXG4gIGEge1xuICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgQGluY2x1ZGUgbXMtcmVzcG9uZChmb250LXNpemUsIDEpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgQGluY2x1ZGUgYnRuO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXBpbms7XG4gICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgcGFkZGluZzogJGJ1bXAvNCAkYnVtcCAqIDEuNzUgJGJ1bXAvNCAkYnVtcC8xLjU7XG4gICAgbWFyZ2luOiAwIDAgMCAkYnVtcDtcbiAgICBAaW5jbHVkZSBiZy1pbWcoJGJ1bXApO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNhbGMoMTAwJSAtIDE1cHgpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1lbnZlbG9wZS5zdmcnKTtcblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1waW5rO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBAaW5jbHVkZSBiZy1pbWcoJGJ1bXApO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogaW5oZXJpdDtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGluaGVyaXQ7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgbWFyZ2luOiAkYnVtcC8yIDAgMDtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBGb290ZXIgaW5mb1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5tLWZvb3Rlci1pbmZvIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgZ2FwOiAkYnVtcDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6ICRidW1wLzI7XG4gIH1cblxuICAmLS1tZW51IHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtdGl0bGUtYm9sZDtcbiAgICAgIC8vIEBpbmNsdWRlIGZvbnQtYm9sZDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1ib3R0b206ICRidW1wLzM7XG4gICAgfVxuICB9XG5cbiAgJi0tY29sIHtcbiAgICBmbGV4LWJhc2lzOiAxNSU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2NyZWRpdHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIHN2ZyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYnVtcDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJ1bXAvMjtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgYVtocmVmKj0ndW4udGl0bGVkJ10ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiA0OHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIGcge1xuICAgICAgICAgIGZpbGw6ICRjLXBpbms7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tZW51IHtcbiAgICBtaW4td2lkdGg6IDI1dnc7XG4gICAgY29sdW1uczogMjtcbiAgICBjb2x1bW4tZ2FwOiAkYnVtcCozLjU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgY29sdW1uczogMTtcblxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX3NvY2lhbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNjJweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBoNCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIEBpbmNsdWRlIG1zLXJlc3BvbmQoZm9udC1zaXplLCAwKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGMtd2hpdGU7XG4gICAgcGFkZGluZy1ib3R0b206ICRidW1wLzEwO1xuICAgIG1hcmdpbi1ib3R0b206ICRidW1wLzU7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgd2lkdGg6IDE5NHB4O1xuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbi5tLWZvb3Rlci1wYXJ0bmVycyB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtYXV0by1mbG93OiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIGEge1xuICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICBpbWcge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgaW1nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMXB4O1xuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gTGVhcm4gbW9yZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5tLWxlYXJuLW1vcmUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXZ5O1xuICBAaW5jbHVkZSBiZy1pbWcoMTIwMHB4KTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlICsgMzAwcHgpIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvTWVkaXVtLUxpbmVzLnN2ZycpO1xuICBwYWRkaW5nOiAkYnVtcCAqIDEuNSAwO1xuXG4gIGgyIHtcbiAgICBjb2xvcjogJGMtd2hpdGU7XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgY29sdW1uczogMztcbiAgICBjb2x1bW4tZ2FwOiAkYnVtcC8xLjU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIG1lZGlhICgnPHNtJyl7XG4gICAgICBjb2x1bW5zOiB1bnNldDtcbiAgICB9XG4gICAgLy8gLmEtdGl0bGUtLXNpbmdsZXtcbiAgICAvLyAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgLy8gICBjb2xvcjogJGMtbmF2eTtcbiAgICAvLyAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCw1dncsMjlweCk7XG4gICAgLy8gICBsaW5lLWhlaWdodDogY2xhbXAoMjhweCw1dncsMzlweCk7XG4gICAgLy8gfVxuXG4gICAgLm8tdGVhc2VyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRidW1wLzEuNTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBIb21lcGFnZSBzZWN0aW9uXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm0taG9tZXBhZ2Utc2VjdGlvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMzclIDU4JTtcbiAgZ2FwOiAkYnVtcCoxLjU7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIC8vIG1hcmdpbjogJGJ1bXAvMiAwO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgbWFyZ2luOiAkYnVtcCAqIDEuNSAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBtYXJnaW46ICRidW1wIDA7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNTAlO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBnYXA6ICRidW1wLzI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICB9XG5cbiAgJl9fY29weSB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJ1bXAvMjtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICBcbiAgfVxuXG4gIC5tLWVudGl0eSB7XG4gICAgbWFyZ2luOiAwO1xuXG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICAubS1lbnRpdHlfX2N0YSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cbiAgfVxuXG59XG5cbi5tLXJpZ2h0LWNvcHkge1xuXG4gIC5hLXNvY2lhbC1saW5rcyB7XG4gICAgbWFyZ2luLXRvcDogLTUwcHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSAoJzxzbScpIHtcbiAgICAgIG1hcmdpbi10b3A6IHVuc2V0O1xuICAgIH1cbiAgfVxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBTZWFyY2ggYmFyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm0tc2VhcmNoLWJhciB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxMDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkYnVtcC8yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzdBQ0JFO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uOiAwLjFzICRlYXNpbmc7XG4gIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkYy13aGl0ZTtcbiAgQGluY2x1ZGUgYmctaW1nKDc4dncpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNjMlIC0yMnZoO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9NZWRpdW0tTGluZXMuc3ZnJyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgW2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB9XG5cbiAgLnVzZXItbG9nZ2VkLWluICYge1xuICAgIHRvcDogMzlweDtcbiAgfVxuXG4gIC50b29sYmFyLXRyYXktb3BlbiAmIHtcbiAgICAvLyB0b3A6IDc5cHg7XG4gIH1cblxuICAuc2VhcmNoLWZvcm0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMTAwcHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6ICRidW1wLzI7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICA6OnBsYWNlaG9sZGVyIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiAkYy1uYXZ5O1xuICAgIH1cblxuXG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgJGJ1bXA7XG4gICAgfVxuICB9XG5cbiAgLm8tZmlsdGVycyB7XG4gICAgJl9faW5uZXIge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgJl9fc2VhcmNoIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LWZhbWlseTogJGZvbnQtdGl0bGUtYm9sZDtcbiAgICAgICAgY29sb3I6ICRjLW5hdnk7XG4gICAgICB9XG4gICAgICAmX19ob21le1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZm9ybS1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6ICRidW1wLzIgMDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcbiAgICAgICAgQGluY2x1ZGUgbXMtcmVzcG9uZChmb250LXNpemUsIDMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogJGMtbmF2eTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tYWN0aW9ucyB7XG4gICAgICAuYS1idG4ge1xuICAgICAgICBAaW5jbHVkZSBidG4taWNvbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgIHdpZHRoOiAkYnVtcDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29uL2ljb24tc2VhcmNoLS13aGl0ZS5zdmcnKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1zZWFyY2gtLWJsYWNrLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gIH1cblxuICBoMyB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fc2VhcmNoLW1vZGFsIHtcbiAgICAmX19zZWFyY2hzdWdnZXN0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiA4cHg7XG5cblxuICAgIH1cbiAgfVxuXG4gIGgzIHtcbiAgICAmLm0tc2VhcmNoLWJhcl9fc2VhcmNoLW1vZGFsX19zZWFyY2hzdWdnZXN0aW9uc19fdGl0bGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuXG59IiwiI3NsaWRpbmctcG9wdXAge1xyXG4gICAgJi5zbGlkaW5nLXBvcHVwLWJvdHRvbSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzM3QUNCRTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIC0ycHggMjhweCAwIHJnYigyOSAyOSAyNyAvIDYlKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuXHJcbiAgICAgICAgJj4uZXUtY29va2llLWNvbXBsaWFuY2UtYmFubmVyIHtcclxuICAgICAgICAgICAgLmV1LWNvb2tpZS1jb21wbGlhbmNlIHtcclxuICAgICAgICAgICAgICAgICYtbWVzc2FnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NSU7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDI0NDA7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxNi44cHg7XHJcbiAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgJi1jb250ZW50IHtcclxuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggYXV0bztcclxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNDQwcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuXHJcblxyXG4gICAgICAgICAgICAgICAgJi1kZWZhdWx0LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkYy1uYXZ5O1xyXG4gICAgICAgICAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZS1ib2xkO1xyXG4gICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICYtc2Vjb25kYXJ5LWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweCA4cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICNmZmZmZmY7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRmb250LXRpdGxlLWJvbGQgIWltcG9ydGFudDtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRjLW5hdnk7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAyNDQwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLWhvdmVyO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIC8vIG1hcmdpbjogMzBweCAwIDAgMDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG5cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBIZWFkZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby1oZWFkZXIge1xuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAubS1oZWFkZXItbGlua3N7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1hdXRvLWZsb3c6IGNvbHVtbjtcbiAgICB9XG4gICBcbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIG1hcmdpbi1yaWdodDogMjRweDtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuXG4gICAgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgICB3aWR0aDogMTAwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHdpZHRoOiAxMzJweDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5ncmlkLFxuICAuY29sLXNtLTEyIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICAgIHBhZGRpbmc6IDVweCA1cHg7XG4gICAgfVxuICB9XG59XG4uby1wZXJzb24sLm8tcmVzZWFyY2gtcHJvamVjdCwuby1yZXNvdXJjZSB7XG4gIC5hLWNvbnRhaW5lci0td2lkZXtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NCwyMDQsMzksMC4yNSk7XG4gIH1cbn1cbi5vLWxpc3RpbmctcGFnZXtcbiAgLmEtY29udGFpbmVyLS13aWRle1xuICAgIGJhY2tncm91bmQtY29sb3I6I0UxRjJGNTtcbiAgfVxuXG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gRm9vdGVyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8tZm9vdGVyIHtcbiAgY29sb3I6ICRjLXdoaXRlO1xuXG4gIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyxcbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgfVxuXG4gICZfX292ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbmF2eTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIHotaW5kZXg6IDA7XG4gIH1cblxuICAmX190b3Age1xuICAgIC8vIEBpbmNsdWRlIGJnLWltZyg1MHZ3KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDk2dnc7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvTWVkaXVtLUxpbmVzLnN2ZycpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDEzMCUgMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXZ5O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDExMjclIDc0JTtcbiAgICBwYWRkaW5nOiAkYnVtcC8yIDA7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBzdmcge1xuICAgICAgZmlsbDogJGMtd2hpdGU7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKSB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNiUgNjMlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMjclO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvdHRvbSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGMtcHJpbWFyeTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNHJlbTtcblxuICAgIC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYnVtcC8zO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuXG4gICAgICBsaSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRidW1wLzQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGJ1bXAvNDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJGMtd2hpdGU7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgICBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG4gICAgICAgICAgbWluLXdpZHRoOiA0OHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIFZpZXdzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBTZWFyY2ggcmVzdWx0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiNzZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm8tc2VhcmNoLXJlc3VsdHMtd3JhcHBlciB7XG4gIGgyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnJlc3VsdF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYnVtcCAqIDI7XG5cbiAgICBvbCB7XG4gICAgICBAaW5jbHVkZSBsaS1yZXNldDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkYnVtcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBzaWRlYmFyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8tc2lkZWJhciB7XG4gIG1hcmdpbi10b3A6IDgwcHg7XG4gIG1hcmdpbi1ib3R0b206IDBweDtcbiAgYXtcbiAgICBcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMsXG4gICAgJjphY3RpdmUge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgICAmOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IDNweCBkYXNoZWQgY3VycmVudENvbG9yICFpbXBvcnRhbnQ7XG4gIFxuICAgICAgQGluY2x1ZGUgZm9jdXMtdmlzaWJsZSgpIHtcbiAgICAgICAgb3V0bGluZTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIHBhZGRpbmc6IDE1cHggMCAhaW1wb3J0YW50O1xuICB9XG5cbiAgcGFkZGluZzogMjRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGMtb3JhbmdlO1xuXG4gIGgzIHtcbiAgICBjb2xvcjogJGMtbmF2eTtcbiAgfVxuXG4gICZfX2xhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gICZfX25ld3MtYXJ0aWNsZSB7XG5cbiAgICAubmV3cy1hcnRpY2xlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgbWFyZ2luOiAyNHB4IDA7XG4gICAgICBhe1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgIH1cblxuICAgID5kaXY6bGFzdC1vZi10eXBlIHtcbiAgICAgIC5uZXdzLWFydGljbGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgIH1cblxuICAmX19yZXNlYXJjaC1wcm9qZWN0IHtcbiAgICBhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwMDAwO1xuICAgICAgbWFyZ2luOiAyNHB4IDA7XG5cbiAgICAgIC50cnVuY2F0ZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6b25seS1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG5cbiAgICAgIH1cblxuICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgJl9fbWVudSB7XG4gICAgdWwge1xuICAgICAgQGluY2x1ZGUgbGktcmVzZXQ7XG5cbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogJGJ1bXAvMS42O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAmOjptYXJrZXIsJjo6YmVmb3Jle1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRidW1wLzM7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIEBpbmNsdWRlIGJnLWltZyhjb250YWluKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9waXBwaXAvYXNzZXRzL2ljb24vaWNvbi10cmlhbmdsZS1ibGFjay5zdmcnKTtcbiAgICAgICAgICAgIGhlaWdodDogJGJ1bXAvMztcbiAgICAgICAgICAgIHdpZHRoOiAkYnVtcC8zO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkYnVtcC8xMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsaS5tZW51LWl0ZW0tLWFjdGl2ZS10cmFpbD5hLFxuICAgIGEuaXMtYWN0aXZlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5LWJvbGQ7XG4gICAgfVxuICAgIGxpLm1lbnUtaXRlbS0tYWN0aXZlLXRyYWlse1xuICAgICBcbiAgICAgIHVse1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIGxpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1pbmZvIHtcbiAgICBhe1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuICAgIC5hLWJ0bi0tYm9va3tcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdnk7XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1jYWxlbmRhci0td2hpdGUuc3ZnJyk7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLW5hdnk7XG4gICAgICAgIGNvbG9yOiAkYy13aGl0ZTtcbiAgICAgIH1cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pY29uL2ljb24tY2FsZW5kYXIuc3ZnJyk7XG4gICAgICAgIGNvbG9yOiAkYy1uYXZ5O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy13aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgc3Ryb25nIHtcbiAgICAgIEBpbmNsdWRlIGZvbnQtdGl0bGU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogJGJ1bXAgLyAyIDAgMDtcblxuICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdGltZXtcbiAgICAmOmZvY3Vze1xuICAgICAgb3V0bGluZTogM3B4IGRvdHRlZCBjdXJyZW50Q29sb3I7XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIFRlYXNlcnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby10ZWFzZXIge1xuICAvLyBhIHtcblxuICAvLyAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIFxuICAvLyAgICY6aG92ZXIsXG4gIC8vICAgJjpmb2N1cyxcbiAgLy8gICAmOmFjdGl2ZSB7XG4gIC8vICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIC8vICAgfVxuICAvLyB9XG5cbiAgJl9fdGh1bWIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1wcmltYXJ5O1xuXG4gICAgLmEtaW1hZ2UtY3JlZGl0IHtcbiAgICAgIGxlZnQ6ICRidW1wLzEuNTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbGVmdDogJGJ1bXAvMjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IDAuMnMgJGVhc2luZztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGltZyB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgaDMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJ1bXAvMi41O1xuICAgICAgY29sb3I6ICRjLW5hdnk7XG5cbiAgICAgICYucXVhZHJ1cGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC10aXRsZTtcblxuICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDV2dywgNDdweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyOHB4LCA1dncsIDU3cHgpO1xuXG4gICAgICAgIGEge1xuXG4gICAgICAgICAgLy8gd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiAnLic7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAvLyAgbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICAgICAgICBjb2xvcjogJGMtcGluaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLmZlYXR1cmVkLWRvdDo6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNpbmdsZS1kb3Qge1xuICAgICAgICAmLmZlYXR1cmVkLWRvdDo6YWZ0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiAnLic7XG5cbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG5cbiAgICAgICYuaGlnaGxpZ2h0IHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0N3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1N3B4O1xuICAgICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICY6Zm9jdXMsXG4gICAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgfVxuXG5cbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6IC04cHg7XG4gICAgICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB9XG4gICAgICAgICBcbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgIFxuICAgICAgXG4gICAgICAgIH1cblxuICAgICAgXG5cbiAgICAgIGEge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAvLyB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAvLyBAaW5jbHVkZSBmb250LWJvbGQ7XG4gICAgICAvLyBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjFweDtcblxuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiAkYnVtcDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRidW1wLzI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19idXR0b25zIHtcbiAgICBtYXJnaW4tdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDAgJGJ1bXAvMS41O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIGdhcDogMTZweDtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZzogMCAkYnVtcC8yO1xuICAgICAgZ2FwOiAkYnVtcC8yLjU7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9ucy1pbmxpbmUge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgKiBTcGVjaWZpYyBkaXNwbGF5IG1vZGVzXG4gICovXG5cbiAgJi10ZWFzZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNEREVGRjE7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyxcbiAgICAgICY6YWN0aXZlIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDI0cHg7XG5cbiAgICAgICZfX3JvbGUge1xuXG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC1ib2R5LWJvbGQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1ib2R5O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuXG4gICAgICB9XG5cbiAgICAgIC5hLXRpdGxlLS1zaW5nbGUge1xuICAgICAgICAmOjphZnRlciB7XG5cbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgIC8vIGNvbG9yOiAkYy1waW5rO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHBhZGRpbmc6ICRidW1wLzI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1mZWF0dXJlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0RERUZGMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDMyLjMlO1xuICAgIGdhcDogJGJ1bXA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gICAgYXtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzLFxuICAgICAgJjphY3RpdmUge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6ICRidW1wIC8gMS41ICRidW1wICogMjtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKSB7XG4gICAgICAgIHBhZGRpbmc6ICRidW1wIC8gMS41ICRidW1wIC8gMjtcblxuICAgICAgfVxuICAgIH1cblxuICAgIC5hLWltYWdlLWNyZWRpdCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyBsZWZ0OiAwO1xuICAgICAgLy8gdG9wOiAwO1xuICAgICAgLy8gbWFyZ2luLWJvdHRvbTogJGJ1bXAvMjtcbiAgICB9XG4gIH1cblxuICAmLWhpZ2hsaWdodGVkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTAwJTtcbiAgICAvLyBtYXJnaW4tYm90dG9tOiAkYnVtcCAqIDEuNTtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgJl9fdGh1bWIge1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICBncmlkLXJvdzogMTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZyxcbiAgICAgICAgICAgIHJnYmEoMCwgMCwgMCwgMCkgMCUsXG4gICAgICAgICAgICAjMDAwMDAwIDQwJSxcbiAgICAgICAgICAgICMwMDAwMDAgNTAlLFxuICAgICAgICAgICAgcmdiYSgwLCAwLCAwLCAwKSAxMDAlKTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICB9XG5cbiAgICAgIGltZyB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgIGdyaWQtcm93OiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBjb2xvcjogJGMtd2hpdGU7XG4gICAgICBwYWRkaW5nOiAkYnVtcCAqIDIgJGJ1bXAgKiAzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgICBwYWRkaW5nOiAkYnVtcCAkYnVtcCAqIDEuNTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgcGFkZGluZzogJGJ1bXA7XG4gICAgICB9XG4gICAgICBoM3tcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuXG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX2J1dHRvbnMge1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmEtYnRuIHtcbiAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBAaW5jbHVkZSBidG47XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zaWducG9zdCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDU1JSAxZnI7XG4gICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xuICAgIGdhcDogMjRweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206ICRidW1wICogMjtcblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDU1JTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvO1xuICAgICAgfVxuXG4gICAgICAuby10ZWFzZXJfX3RodW1iIHtcbiAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBvcmRlcjogdW5zZXQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cblxuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgIGdhcDogJGJ1bXAvMjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1MCUgMWZyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGJ1bXAvMS42O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdhcDogMDtcbiAgICB9XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWx0LXBpbms7XG4gICAgICBwYWRkaW5nOiAkYnVtcCAqIDIgJGJ1bXAgKiAxLjU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGF7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJjphY3RpdmUge1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgXG4gICAgICB9XG5cbiAgICAgIC5hLXRpdGxlLS1zaW5nbGUge1xuICAgICAgICAmOjphZnRlciB7XG5cbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtNXB4O1xuICAgICAgICAgIC8vIGNvbG9yOiAkYy1waW5rO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgIHBhZGRpbmc6ICRidW1wO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBwYWRkaW5nOiAkYnVtcC8yO1xuICAgICAgfVxuXG4gICAgICAuYS1idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDU1JTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBub25lO1xuICAgICAgfVxuXG4gICAgICAuby1zaWducG9zdF9fdGh1bWIge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLWxpc3Rpbmcge1xuICAgIG1hcmdpbi1ib3R0b206ICRidW1wLzI7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjLXByaW1hcnk7XG4gICAgcGFkZGluZy1ib3R0b206ICRidW1wLzI7XG5cbiAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAkYnVtcC8zO1xuICAgIH1cblxuICAgIHA6bGFzdC1vZi10eXBlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIEZpbHRlcnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby1maWx0ZXJzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI0NERUFFRTtcbiAgcGFkZGluZzogJGJ1bXAvMS41IDAgJGJ1bXAvMztcbiAgbWFyZ2luLXRvcDogJGJ1bXA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBpbml0aWFsO1xuICB9XG5cbiAgJi0tc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8vIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDE2cHg7XG4gICAgZmxleC1mbG93OiBpbmhlcml0O1xuXG4gICAgaW5wdXRbdHlwZT0ndGV4dCddIHtcblxuICAgICAgd2lkdGg6IDI5OHB4O1xuICAgIH1cblxuICAgIC5zaG93LW1lLWJ1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICYtLWZvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDE2cHg7XG4gICAgICBmbGV4LWZsb3c6IGluaGVyaXQ7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgJi5saXN0aW5nZmlsdGVyIHtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtdGVhbDtcbiAgICAgICAgICB6LWluZGV4OiA1O1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMjh2dztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL01lZGl1bS1MaW5lcy5zdmcpO1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDclIDE4MiU7XG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICBnYXA6IDNweDtcblxuICAgICAgICAgIC5qcy1mb3JtLWl0ZW0ge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkYnVtcC81O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIC5qcy1mb3JtLXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMCAkYnVtcC81O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRidW1wLzEuMztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cblxuICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjlweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICAgICAgICBjb2xvcjogYmxhY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkYnVtcC8xLjY2O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zaG93LW1lLWJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG5cblxuICAgIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXZ5O1xuICAgICAgY29sb3I6IHdoaXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgfVxuICB9XG5cbiAgaDQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgcGFkZGluZy10b3A6IDdweDtcbiAgICBjb2xvcjogJGMtbmF2eTtcbiAgfVxuXG4gIGgzIHtcbiAgICBtYXJnaW46IDAgJGJ1bXAvMiAkYnVtcC8zIDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmpzLWZvcm0taXRlbSB7XG4gICAgbWluLXdpZHRoOiAyMDVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAkYnVtcC8zO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICYuanMtZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgLy8gd2lkdGg6IDI5OHB4O1xuXG4gICAgICAucmVzb3VyY2VzICYge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJj5pbnB1dCxcbiAgICBzZWxlY3Qge1xuICAgICAgcGFkZGluZzogJGJ1bXAvNCAzNXB4ICRidW1wLzQgJGJ1bXAvMjtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRidW1wLzU7XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgcGFkZGluZzogJGJ1bXAvNCAzNXB4ICRidW1wLzMuMyAkYnVtcC8yO1xuICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3RleHQnXSB7XG4gICAgICBAaW5jbHVkZSBiZy1pbWcoMjBweCk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjYWxjKDEwMCUgLSAxMHB4KSBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1zZWFyY2gtLXJlZC5zdmcnKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG5cbiAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1zZWFyY2gtLWJsYWNrLnN2ZycpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLnZpZXdzLWVsZW1lbnQtY29udGFpbmVyIHtcbiAgICBvcmRlcjogMTA7XG4gICAgd2lkdGg6IDczNXB4O1xuICAgIG1hcmdpbi1ib3R0b206ICRidW1wLzM7XG5cbiAgICAvLyBtYXJnaW4tbGVmdDogLTE2cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIG9yZGVyOiA5O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmZvcm0tYWN0aW9ucyB7XG4gICAgb3JkZXI6IDEwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAxNXB4O1xuXG4gICAgLy8gbWFyZ2luLWxlZnQ6IDhweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgLy8gd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkYnVtcC8zO1xuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogM3B4IGRhc2hlZCBibGFjaztcbiAgICB9XG5cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogJGJ1bXAvNCAwO1xuICAgIH1cblxuICAgICYuYS1idG4ge1xuICAgICAgZm9udC1mYW1pbHk6ICRmb250LXRpdGxlO1xuXG5cbiAgICAgICZbZGF0YS1kcnVwYWwtc2VsZWN0b3I9J2VkaXQtcmVzZXQnXSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRidW1wO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1sdC10ZWFsO1xuICAgICAgICBjb2xvcjogJGMtcHJpbWFyeTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgIEBpbmNsdWRlIGJnLWltZygyNHB4KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA4NyUgY2VudGVyO1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaWNvbi9pY29uLXJlZnJlc2gtbmF2eS1pY29uLXJlZnJlc2guc3ZnJyk7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0NERUFFRTtcbiAgICAgICAgICBjb2xvcjogJGMtbmF2eTtcbiAgICAgICAgICBmb250LWZhbWlseTogJGZvbnQtdGl0bGUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBAaW5jbHVkZSBiZy1pbWcoMjRweCk7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogODclIGNlbnRlcjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi1yZWZyZXNoLW5hdnktaWNvbi1yZWZyZXNoLnN2ZycpO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZm9udC10aXRsZTtcbiAgICAgICAgICBjb2xvcjogJGMtbmF2eTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLmNob2ljZXMge1xuICAgICZfX2lubmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLXdoaXRlO1xuICAgICAgYm9yZGVyLXJhZGl1czogJGJ1bXAvNTtcbiAgICAgIHBhZGRpbmc6ICRidW1wLzQgJGJ1bXAvMiAwICRidW1wLzI7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIHRyYW5zaXRpb246IDAuMXMgJGVhc2luZztcbiAgICB9XG5cbiAgICAmLmlzLW9wZW4ge1xuICAgICAgLmNob2ljZXNfX2lubmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJltkYXRhLXR5cGUqPSdzZWxlY3Qtb25lJ10ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAvLyBtYXgtd2lkdGg6IDIwNXB4O1xuICAgICAgJjpmb2N1c3tcbiAgICAgICAgb3V0bGluZTogM3B4IGRhc2hlZCBjdXJyZW50Q29sb3I7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhICgnPHNtJykge1xuICAgICAgICBtYXgtd2lkdGg6IHVuc2V0O1xuICAgICAgfVxuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogJGMtcGluayB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA4cHg7XG4gICAgICB9XG5cbiAgICAgICYuaXMtb3BlbiB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICRjLXByaW1hcnkgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgbWFyZ2luLXRvcDogLTkuNXB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5jaG9pY2VzX19pbm5lciB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhICgnPHNtJykge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbGlzdCB7XG4gICAgICBwYWRkaW5nOiA0cHggMTZweCAwIDRweDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC5jaG9pY2VzX19pbnB1dCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjLW5hdnk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRidW1wLzY7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMSAkZWFzaW5nO1xuICAgICAgfVxuXG4gICAgICAmLS1kcm9wZG93biB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRidW1wLzU7XG4gICAgICAgIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDA7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAwO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHotaW5kZXg6IDQ7XG5cbiAgICAgICAgLmNob2ljZXNfX2l0ZW0tLXNlbGVjdGFibGUge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcblxuICAgICAgICAgICYuaXMtaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbHQtcGluaztcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIDo6LXdlYmtpdC1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjLXByaW1hcnk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuXG4gIDotbXMtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkYy1wcmltYXJ5O1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cblxuICA6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJGMtcHJpbWFyeTtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbiNibG9jay1yZXNvdXJjZXMtZmlsdGVycyB7XG4gIC5qcy1mb3JtLXR5cGUtdGV4dGZpZWxkIHtcbiAgICBvcmRlcjogdW5zZXQ7XG4gIH1cbn1cblxuI3ZpZXdzLWV4cG9zZWQtZm9ybS1wZW9wbGUtbGlzdGluZy1wZW9wbGUtbGlzdGluZyB7XG4gIC5vLWZpbHRlcnMge1xuICAgIC5qcy1mb3JtLWl0ZW0ge1xuICAgICAgaW5wdXRbdHlwZT10ZXh0XSB7XG4gICAgICAgIHdpZHRoOiAyMzJweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuanMtZm9ybS10eXBlLXRleHRmaWVsZCB7XG4gICAgICAgIHdpZHRoOiAyMzJweDtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSAoJzxzbScpIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIEhvbWVwYWdlIHNlYXJjaFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5vLXNlYXJjaCB7XG4gIC8vIGJhY2tncm91bmQtY29sb3I6ICRjLXRlYWw7XG5cbiAgQGluY2x1ZGUgYmctaW1nKDc4dncpO1xuICAvLyBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9NZWRpdW0tTGluZXMuc3ZnJyk7XG4gIC8vIGJhY2tncm91bmQtcG9zaXRpb246IDI0NyUgLTcwJTtcbiAgbWFyZ2luOiAwICRidW1wO1xuXG4gIEBpbmNsdWRlIG1lZGlhICgnPHNtJykge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gICZfX2lubmVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRidW1wICogMS41IDA7XG5cbiAgICBoMiB7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIuXCI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgICAuby1maWx0ZXJzLS1ob21lc2VhcmNoIHtcbiAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICBwYWRkaW5nOiAkYnVtcC8yIDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4MCUgMjAlO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nOiAkYnVtcC8yIDAgMDtcbiAgICB9XG5cbiAgICAuby1maWx0ZXJzIHtcbiAgICAgIG1hcmdpbjogJGJ1bXAgLyAyIDAgJGJ1bXAgKiAyO1xuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBtYXJnaW46IC0kYnVtcC8yIDAgJGJ1bXAvMjtcbiAgICAgIH1cblxuICAgICAgJl9faW5uZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAuanMtZm9ybS1pdGVtIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuXG4gICAgICBpbnB1dFt0eXBlPSd0ZXh0J10ge1xuICAgICAgICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1yaWdodC1yYWRpdXM6IDA7XG4gICAgICAgIHBhZGRpbmc6ICRidW1wO1xuICAgICAgICBtaW4td2lkdGg6IDI1dnc7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gICAgICAgIG1heC13aWR0aDogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIHBhZGRpbmc6ICRidW1wLzI7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRjLWx0LXBpbms7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgcm0tdGV4dDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAkYnVtcC81O1xuICAgICAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogJGJ1bXAvNTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtd2hpdGU7XG4gICAgICAgIEBpbmNsdWRlIGJnLWltZygkYnVtcCAqIDEuMjUpO1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ljb24vaWNvbi10cm93ZWwuc3ZnJyk7XG4gICAgICAgIHdpZHRoOiAkYnVtcCAqIDIuNTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogJGJ1bXA7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUsXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGMtbHQtcGluaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHAsXG4gIC5jbG9zZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG59IiwiLm8tc2Vjb25kYXJ5LWxhbmRpbmctcGFnZXtcbiAgICAuYS1jb250YWluZXItLXdpZGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYy1uYXZ5O1xuICAgICAgICBoMSxoMixoMyxwLGEsbGl7XG4gICAgICAgICAgICBjb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgfVxuICAgIH1cblxufSIsIi5vLXJlbGF0ZWR7XG4gICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAzcHg7XG59IiwiLm8tbGlzdGluZy1wYWdlIHtcbiAgICAubS12aWV3cy1saXN0aW5nIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICAgICAgZ2FwOiAyNHB4O1xuXG4gICAgICAgICZfX3Blb3BsZSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbiAgICAgICAgICAgIGdhcDogMjRweDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgnPHNtJykge1xuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKSB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuby1maWx0ZXJzIHtcbiAgICAgICAgLmpzLWZvcm0taXRlbSB7XG4gICAgICAgICAgICAmLmpzLWZvcm0tdHlwZS10ZXh0ZmllbGQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyOThweDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/