/**
 * ----------------------
 * Un.titled
 * Main - Global
 * ----------------------
 */
/**
 * 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;
  }
}

/**
 * Config
 */
/**
 * ----------------------
 * Un.titled
 * Config - Fonts
 * ----------------------
 */
@font-face {
  font-family: "open_sansbold";
  src: url("../font/opensans-bold-webfont.woff2") format("woff2"), url("../font/opensans-bold-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "open_sansregular";
  src: url("../font/opensans-regular-webfont.woff2") format("woff2"), url("../font/opensans-regular-webfont.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
/**
 * ----------------------
 * Un.titled
 * Config - Vars
 * ----------------------
 */
:root {
  --c-primary: #1f1d1e;
  --c-secondary: #ffb7a3;
  --c-white: #ffffff;
  --c-black: #000000;
  --c-grey: #F9F9F9;
  --c-text: #1f1d1e;
  --c-bg: #fff;
  --c-pompeii: #862633;
  --c-m_red: #af1e2d;
  --c-b_red: #bf2e00;
  --c-stone: transparentize(#445a3e, 0.9);
  --c-blue: #56abb0;
  --c-s_blue: #004f71;
  --c-green: #445a3e;
  --c-slate: #625754;
  --c-exhibition: #006400;
  --c-talks: #7A007A;
  --c-tours: #444444;
  --c-evening: #445a3e;
  --c-families: #17597E;
  --c-workshops: #008080;
  --c-offsite-touring: #b68cc1;
  --c-soane-lates: #862633;
  --c-course: #DF3600;
  --font-oslo: "open_sansregular", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --font-body: "open_sansregular", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --font-bold: "open_sansbold", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --font-title: "open_sansbold", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --font-title-reg: "open_sansregular", -apple-system, BlinkMacSystemFont,
    "Segoe UI", Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue",
    sans-serif;
  --font-title: "open_sansbold", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, Oxygen, Ubuntu, Cantarell, "Open Sans", "Helvetica Neue", sans-serif;
  --fontSize: 100%;
  --fontSmall: 70%;
  --lineHeight: 1.5;
  --bump: 30px;
  --baseUnit: 8px;
  --fontSizeBody: 18px;
  --lineHeightBody: 27px;
  --containerWidth: 100rem;
  --containerWidth: 1245px;
  --easing: cubic-bezier(0.83, 0, 0.17, 1);
  --transition: 0.3s var(--easing);
}

/**
 * Breakpoints
 */
/**
 * Helpers
 */
/**
 * ----------------------
 * 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
 * ----------------------
 */
@keyframes shakeHorizontal {
  10%, 90% {
    transform: translate3d(-1px, 0, 0);
  }
  20%, 80% {
    transform: translate3d(2px, 0, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(-1px, 0, 0);
  }
  40%, 60% {
    transform: translate3d(2px, 0, 0);
  }
}
@keyframes shakeVertical {
  10%, 90% {
    transform: translate3d(0, -1px, 0);
  }
  20%, 80% {
    transform: translate3d(0, 2px, 0);
  }
  30%, 50%, 70% {
    transform: translate3d(0, -1px, 0);
  }
  40%, 60% {
    transform: translate3d(0, 2px, 0);
  }
}
/**
 * ----------------------
 * 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}
 */
body.baguetteBox-open #baguetteBox-overlay .full-image {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}
body.baguetteBox-open #baguetteBox-overlay .full-image figure {
  height: auto;
  display: inline-block;
  position: relative;
}
body.baguetteBox-open #baguetteBox-overlay .full-image figcaption {
  top: auto;
  background-color: rgba(255, 255, 255, 0.7);
  color: var(--c-text);
  width: 100%;
}
body.baguetteBox-open #baguetteBox-overlay .full-image figcaption:before {
  content: "i";
  position: relative;
  color: var(--c-white);
  z-index: 4;
  cursor: help !important;
  height: 19px;
  width: 19px;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background-color: var(--c-black);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  font-size: 15px;
  margin: 0 10px 0 0;
}

/* Arrows */
.slick-prev,
.slick-next {
  font-size: 0;
  line-height: 0;
  cursor: pointer;
  color: transparent;
  border: none;
  outline: none;
  z-index: 1;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
}
.m-entity__quote-with-image .slick-prev,
.m-entity__quote-with-image .slick-next {
  width: 32px;
  height: 32px;
  padding: 0;
  box-shadow: 0 2px 10px 2px rgba(31, 29, 30, 0.05);
  background-color: var(--c-white);
  display: flex;
  align-items: center;
  justify-content: center;
}
@media (max-width: 767px) {
  .m-entity__quote-with-image .slick-prev,
  .m-entity__quote-with-image .slick-next {
    bottom: 0;
    top: 100%;
    width: 36px;
    height: 36px;
  }
}
.m-entity__quote-with-image .slick-prev:before,
.m-entity__quote-with-image .slick-next:before {
  opacity: 0.75;
  height: 56px;
  width: 56px;
}
.m-banner--carousel .slick-prev,
.m-banner--carousel .slick-next {
  background: transparent;
}
.slick-prev:before,
.slick-next:before {
  display: flex;
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  background-color: transparent;
}
.slick-prev:hover, .slick-prev:focus, .slick-prev:hover, .slick-prev:focus,
.slick-next:hover,
.slick-next:focus,
.slick-next:hover,
.slick-next:focus {
  color: transparent;
  outline: none;
  background: transparent;
}
.slick-prev:hover:before, .slick-prev:focus:before, .slick-prev:hover:before, .slick-prev:focus:before,
.slick-next:hover:before,
.slick-next:focus:before,
.slick-next:hover:before,
.slick-next:focus:before {
  opacity: 1;
}
.slick-prev:focus,
.slick-next:focus {
  outline: 3px dashed var(--c-black);
}
.slick-prev.slick-disabled:before,
.slick-next.slick-disabled:before {
  opacity: 0.25;
}

.m-entity__quote-with-image .slick-prev {
  left: -70px;
}
@media (max-width: 767px) {
  .m-entity__quote-with-image .slick-prev {
    left: 0;
  }
}
.m-entity__quote-with-image .slick-prev:before {
  content: "";
  background-image: url("../img/left-control.png");
}
.m-banner--carousel .slick-prev {
  left: var(--bump);
}
@media (max-width: 767px) {
  .m-banner--carousel .slick-prev {
    left: calc(var(--bump) / 3);
  }
}
.m-banner--carousel .slick-prev:before {
  content: "";
  background-image: url("../img/left-chevron.svg");
  width: 17px;
  height: 30px;
}
.m-banner--carousel .slick-prev:after {
  content: "";
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-7.5%, -15%);
  background-color: black;
  height: 150%;
  width: 110%;
  z-index: -1;
  opacity: 0.7;
  border-radius: 10%;
  filter: blur(17.5px);
}

.m-entity__quote-with-image .slick-next {
  right: -70px;
}
@media (max-width: 767px) {
  .m-entity__quote-with-image .slick-next {
    right: 0;
  }
}
.m-entity__quote-with-image .slick-next:before {
  content: "";
  background-image: url("../img/right-control.png");
}
.m-banner--carousel .slick-next {
  right: var(--bump);
}
@media (max-width: 767px) {
  .m-banner--carousel .slick-next {
    right: calc(var(--bump) / 3);
  }
}
.m-banner--carousel .slick-next:before {
  content: "";
  background-image: url("../img/right-chevron.svg");
  width: 17px;
  height: 30px;
}
.m-banner--carousel .slick-next:after {
  content: "";
  display: flex;
  position: absolute;
  top: 0;
  left: 0;
  transform: translate(-7.5%, -15%);
  background-color: black;
  height: 150%;
  width: 110%;
  z-index: -1;
  opacity: 0.7;
  border-radius: 10%;
  filter: blur(17.5px);
}

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px;
}

.slick-dots {
  display: flex;
  justify-content: center;
  gap: calc(var(--bump) / 6);
  width: 100%;
  margin: 0;
  list-style: none;
  text-align: center;
}
.slick-dots li {
  position: relative;
  margin: calc(var(--bump) / 2) 0;
  padding: 0;
  cursor: pointer;
}
.slick-dots li button {
  font-size: 0;
  line-height: 0;
  padding: 0;
  margin: 0;
  cursor: pointer;
  color: transparent;
  border: 0;
  outline: none;
  background: transparent;
  display: flex;
  align-content: center;
}
.slick-dots li button:before {
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  opacity: 0.1;
  border-radius: 25px;
  text-align: center;
  background: var(--c-black);
}
.slick-dots li button:hover, .slick-dots li button:focus {
  outline: none;
}
.slick-dots li button:hover:before, .slick-dots li button:focus:before {
  opacity: 1;
}
.slick-dots li.slick-active > button:before {
  opacity: 0.5;
}

/**
 * Base
 */
/**
 * ----------------------
 * Un.titled
 * Base - Defaults
 * ----------------------
 */
.grid {
  max-width: var(--containerWidth);
}

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

img {
  backface-visibility: hidden;
  transition: var(--transition);
}
img.lazy {
  opacity: 0;
}
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  @supports (-webkit-appearance: none) {
    img.lazy {
      opacity: 1;
    }
  }
}
img.loaded {
  opacity: 1;
}

.svg {
  transition: all var(--transition);
}

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

.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%;
}

.ct__page .o-header {
  position: relative;
  color: var(--c-black);
}
.ct__page .o-header .a-nav-toggle__wrapper:before,
.ct__page .o-header .o-header__logo:before {
  display: none;
}
@media (max-width: 575px) {
  .ct__page .o-header {
    color: var(--c-white);
  }
}

.ct__homepage .o-homepage section.m-entity__text-block .m-entity__text__title,
.ct__homepage .o-homepage section.m-entity__text-block .m-entity__text-block__body-text {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}

body.member header.o-header {
  position: relative;
}

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

.sliding-popup-bottom .eu-cookie-withdraw-tab {
  left: 2px;
  transform: none;
  top: auto;
  bottom: 100%;
}

/**
 * ----------------------
 * Un.titled
 * Base - Typography
 * ----------------------
 */
/**
 * Config
 */
/**
 * Heading
 */
h1,
.h1,
h2,
.h2,
h3,
.h3,
h4,
.h4,
h5,
.h5,
h6,
.h6 {
  margin-top: 0;
  font-family: var(--font-title);
  font-weight: bold;
  color: var(--c-pompeii);
}

h1,
.h1 {
  font-size: clamp(34px, 5vw, 42px);
  line-height: clamp(44px, 5vw, 57px);
}

h2,
.h2 {
  font-size: clamp(28px, 2.5vw, 34px);
  line-height: clamp(38px, 5vw, 44px);
}
h2.alt,
.h2.alt {
  color: #fff;
}
h2.fixednav,
.h2.fixednav {
  clear: both;
}

h3,
.h3 {
  font-size: clamp(22px, 2.5vw, 28px);
  line-height: clamp(32px, 5vw, 38px);
}
h3.story,
.h3.story {
  font-family: var(font-title-reg);
}
h3.story strong,
.h3.story strong {
  font-family: "droid_sansbold";
}

h4,
.h4 {
  font-size: clamp(20px, 2.5vw, 22px);
  line-height: clamp(29px, 5vw, 32px);
}

h5,
.h5,
h6,
.h6 {
  font-size: clamp(18px, 2.5vw, 18px);
  line-height: clamp(27px, 5vw, 27px);
}
@media (max-width: 575px) {
  h5,
  .h5,
  h6,
  .h6 {
    margin-bottom: 0.5rem;
  }
}

/**
 * Paragraphs
 */
p {
  margin: 1.5em 0;
  font-size: 18px;
  line-height: 27px;
}
p:first-of-type {
  margin-top: 0;
}
p:last-of-type {
  margin-bottom: 0;
}

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

/**
 * Links
 */
a {
  color: inherit;
  font-weight: inherit;
  text-decoration: underline;
  outline: 0;
  color: var(--c-pompeii);
}
a:hover, a:focus, a:active {
  text-decoration: none;
  color: currentColor;
}
a.ext:after {
  content: " ";
  display: inline-block;
  height: 15px;
  width: 15px;
  background: url("../img/ext.png") center center no-repeat;
  background-size: cover;
  margin-left: 5px;
}
a.alt.ext:after {
  background-image: url("../img/ext-alt.png");
}
a.alt.ext:hover:after {
  background-image: url("../img/ext.png");
}
a:focus {
  outline: 1px dashed currentColor;
}
.js-focus-visible a:focus:not(.focus-visible) {
  outline: 0;
}
a.no-link {
  pointer-events: none;
}

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

::-moz-selection {
  background-color: var(--c-secondary);
  color: var(--c-primary);
}

::selection {
  background-color: var(--c-secondary);
  color: var(--c-primary);
}

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

/**
 * Inline
 */
strong {
  font-weight: bold;
  font-family: var(--fontBold);
}

em {
  font-family: var(--fontItalic);
  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%;
}

hr {
  border: solid var(--c-primary);
  border-width: 0 0 1px 0;
  width: 100%;
}

figure {
  margin: 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: var(--bump);
  flex-wrap: wrap;
}
.pager li {
  list-style: none;
  margin: 0;
  padding: 0;
}
@media (max-width: 767px) {
  .pager {
    margin-top: calc(var(--bump) / 2);
  }
}
.pager li {
  display: inline-block;
}
.pager li a {
  display: block;
  padding: 0 5px;
  font-size: 18px;
  line-height: 25px;
}
.pager li a:hover {
  color: var(--c-primary);
  text-decoration: none;
}
.pager li:last-child a {
  border-right: 0;
  padding-right: 5px;
}
.pager li.is-active a {
  color: var(--c-primary);
  font-family: var(--font-bold);
  text-decoration: none;
}

.admin-functions {
  position: sticky;
  top: 0;
  width: 100%;
  background-color: var(--c-primary);
  max-width: 100%;
  z-index: 31;
}
.toolbar-tray-open .admin-functions {
  top: 79px;
}
@media (max-width: 991px) {
  .toolbar-tray-open .admin-functions {
    top: 39px;
  }
}
.admin-functions [class*=col-] {
  padding: 0 calc(var(--bump) / 2);
}
.admin-functions ul {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
  margin: calc(var(--bump) / 2) 0;
  padding: 0;
}
.admin-functions ul li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.admin-functions ul li {
  margin-right: var(--bump);
  display: inline-block;
}
.admin-functions ul li a {
  color: var(--c-white);
}
.admin-functions__admin .m-block--page-title-block {
  display: none;
}
.admin-functions__admin .m-block--system-breadcrumb-block {
  display: none;
}

.toolbar-tray-open > .toolbar {
  background-color: #2d2d2d;
  box-shadow: none;
}

.toolbar-loading #toolbar-administration {
  overflow: visible;
}

.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: bold;
  color: var(--c-white);
  background-color: var(--c-primary);
  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 - Main
 * ----------------------
 */
/**
 * Styles
 */
html,
body {
  -moz-font-smoothing: grayscale;
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  color: var(--c-text);
  font-size: 18px;
  line-height: 27px;
  height: 100%;
  font-family: var(--font-body);
}

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

body {
  display: flex;
  flex-direction: column;
}
body[data-nav=open], body[data-searchoverlay=open], body.freeze {
  overflow: hidden;
}

/**
* Atoms
*/
/**
 * ----------------------
 * Un.titled
 * Atoms - Grid
 * ----------------------
 */
/**
 * Styling
 */
.a-grid {
  display: grid;
  gap: calc(var(--bump) / 2);
}
.a-grid--1 {
  grid-template-columns: 1fr;
}
.a-grid--2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .a-grid--2 {
    grid-template-columns: 1fr;
  }
}
.a-grid--3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .a-grid--3 {
    grid-template-columns: 1fr;
  }
}
.a-grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 575px) {
  .a-grid--4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Nav Toggle
 * ----------------------
 */
/**
 * Config
 */
/**
 * Styles
 */
.a-nav-toggle {
  border: 0;
  padding: 0;
  background-color: transparent;
  width: 25px;
  height: 20px;
  transition: var(--transition);
  position: relative;
  display: block;
  outline: none;
  margin-left: auto;
}
.a-nav-toggle:focus {
  outline: 1px dotted var(--c-primary);
}
.a-nav-toggle__wrapper {
  position: relative;
  height: 44px;
  width: 44px;
  opacity: 1;
  background-color: transparent;
  border: 0;
  transition: none;
  margin: 0 0 0 var(--bump);
}
@media (max-width: 767px) {
  .a-nav-toggle__wrapper {
    margin: 0 0 0 auto;
  }
}
[data-nav=open] .a-nav-toggle__wrapper {
  z-index: 2;
}
[data-searchoverlay=open] .a-nav-toggle__wrapper, [data-nav=open] .a-nav-toggle__wrapper {
  position: absolute;
}
.a-nav-toggle__wrapper:hover .a-nav-toggle__line-2 {
  width: 15px;
}
.a-nav-toggle__line {
  display: block;
  background: var(--c-white);
  width: 25px;
  height: 3px;
  position: absolute;
  left: 0;
  border-radius: 50px;
  transition: var(--transition);
}
[data-nav=open] .a-nav-toggle__line {
  background: var(--c-white) !important;
}
.a-nav-toggle__line-1 {
  top: 0;
}
[data-nav=open] .a-nav-toggle__line-1 {
  transform: translateY(10px) 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%;
}
[data-nav=open] .a-nav-toggle__line-3 {
  transform: translateY(-10px) translateX(0) rotate(-45deg);
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Buttons
 * ----------------------
 */
/**
 * Config
 **/
/**
 * Styles
 **/
.a-btn {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
}
@media (max-width: 767px) {
  .a-btn {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.a-btn:hover, .a-btn:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.a-btn:focus {
  outline: 1px dashed var(--c-black);
}
.a-btn--alt {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  background: var(--c-pompeii);
  color: #fff;
  text-transform: uppercase;
  min-width: 120px;
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
@media (max-width: 767px) {
  .a-btn--alt {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.a-btn--alt:hover, .a-btn--alt:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.a-btn--alt:focus {
  outline: 1px dashed var(--c-black);
}
.a-btn--alt:hover, .a-btn--alt:active {
  background: #fff;
  color: var(--c-pompeii);
}
.a-btn--alt:focus {
  outline: 1px dashed var(--c-black);
  color: #fff;
}
.a-btn--arrow {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
}
@media (max-width: 767px) {
  .a-btn--arrow {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.a-btn--arrow:hover, .a-btn--arrow:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.a-btn--arrow:focus {
  outline: 1px dashed var(--c-black);
}
.a-btn--arrow::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  margin-left: 5px;
  background-image: url("../img/arrow-up.svg");
  background-repeat: no-repeat;
  height: 14px;
  width: 10px;
  background-position: center;
  transition: 0.3s var(--easing);
}
.a-btn--arrow:hover::after {
  content: "";
  animation: shakeVertical 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px;
}
.a-btn--black {
  color: var(--c-white);
  background: var(--c-black);
}
.a-btn--black:hover {
  color: var(--c-black);
  background-color: var(--c-white);
}
.a-btn--red {
  color: var(--c-white);
  background: var(--c-b_red);
  border: 1px solid var(--c-white);
}
.a-btn--red:hover {
  background-color: var(--c-white);
  color: var(--c-b_red);
  border: 1px solid var(--c-b_red);
}
.a-btn--white {
  background-color: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.a-btn--white:hover {
  color: var(--c-white);
  background: var(--c-pompeii);
  border: 1px solid var(--c-white);
}
.a-btn--underline {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 28px;
  color: var(--c-pompeii);
}
.a-btn--underline:hover {
  color: var(--c-pompeii);
}

.btn {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
}
@media (max-width: 767px) {
  .btn {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.btn:hover, .btn:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.btn:focus {
  outline: 1px dashed var(--c-black);
}
.btn--alt {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  background: var(--c-pompeii);
  color: #fff;
  text-transform: uppercase;
  min-width: 120px;
  text-align: center;
}
@media (max-width: 767px) {
  .btn--alt {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.btn--alt:hover, .btn--alt:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.btn--alt:focus {
  outline: 1px dashed var(--c-black);
}
.btn--alt:hover, .btn--alt:active {
  background: #fff;
  color: var(--c-pompeii);
}
.btn--alt:focus {
  outline: 1px dashed var(--c-black);
  color: #fff;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Image credits
 * ----------------------
 */
.a-image-credit {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  height: calc(var(--bump) + 5px);
  width: calc(var(--bump) + 5px);
  border: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.a-image-credit[data-visible=false] {
  height: 0;
  opacity: 0;
}
@media (max-width: 767px) {
  .a-image-credit {
    display: none;
  }
}
.a-image-credit span {
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: var(--c-black);
  color: var(--c-white);
  height: calc(var(--bump) / 1.5);
  width: calc(var(--bump) / 1.5);
  border-radius: 20px;
  font-size: 15px;
  padding: 0px 8px;
}
.a-image-credit:focus::before, .a-image-credit:active::before, .a-image-credit:hover::before {
  opacity: 1;
}
.a-image-credit__text {
  height: 0;
  padding: 0;
  opacity: 0;
}
.a-image-credit__text[data-visible=true] {
  height: 100%;
  padding: calc(var(--bump) / 4) 0;
  opacity: 1;
}
@media (max-width: 767px) {
  .a-image-credit__text {
    height: 100%;
    padding: calc(var(--bump) / 4) calc(var(--bump) / 2);
    opacity: 1;
  }
}
.a-image-credit__text:before {
  content: "i";
  display: inline;
  background-color: var(--c-black);
  color: var(--c-white);
  font-size: 15px;
  padding: 0px 8px;
  border-radius: 20px;
  vertical-align: top;
  margin: 0 5px 0 0;
}

/**
* ----------------------
* Un.titled
* Atoms - Breadcrumbs
* ----------------------
*/
/**
* Styling
*/
.a-breadcrumb {
  margin-bottom: var(--bump);
  padding: calc(var(--bump) / 2) 0;
}
@media (max-width: 575px) {
  .a-breadcrumb {
    margin-bottom: calc(var(--bump) / 2);
  }
}
.a-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
.a-breadcrumb ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.a-breadcrumb ol li {
  margin-right: calc(var(--bump) / 6);
  white-space: nowrap;
}
.a-breadcrumb ol li::after {
  content: "/";
  margin-left: calc(var(--bump) / 10);
}
.a-breadcrumb ol li:last-child::after {
  display: none;
}

/**
* ----------------------
* Un.titled
* Atoms - Search button
* ----------------------
*/
/**
* Config
*/
/**
* Styling
*/
.a-search-button {
  position: relative;
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: var(--bumpSmall);
  font-size: var(--fontSizeLg);
  height: 44px;
  width: 44px;
}
@media (max-width: 991px) {
  .a-search-button {
    flex-direction: column-reverse;
    padding-top: 0;
    padding-bottom: 0;
  }
}
@media (max-width: 767px) {
  .a-search-button {
    margin-left: auto;
  }
}
[data-searchoverlay=open] .a-search-button {
  z-index: 2;
}
[data-nav=open] .a-search-button {
  display: none;
}
.a-search-button:hover {
  color: var(--c-secondary);
}
.a-search-button span {
  line-height: 1;
}
@media (min-width: 993px) and (max-width: 1199px) {
  .a-search-button span {
    display: none;
    visibility: hidden;
  }
}
@media (max-width: 991px) {
  .a-search-button span {
    font-size: var(--fontSizeSm);
  }
}
.a-search-button svg {
  width: 20px;
  height: 20px;
  fill: var(--c-secondary);
  display: block;
  visibility: visible;
}
@media (max-width: 767px) {
  .a-search-button svg {
    margin-left: 0;
    height: 20px;
  }
}
[data-searchoverlay=open] .a-search-button svg {
  display: none;
  visibility: hidden;
}
.a-search-button .a-search-button__close {
  margin-left: auto;
  display: none;
  visibility: hidden;
}
.a-search-button .a-search-button__close::before, .a-search-button .a-search-button__close::after {
  content: "";
  display: block;
  background: var(--c-white);
  width: 25px;
  height: 3px;
  position: absolute;
  right: 0;
  border-radius: 0;
  transition: var(--transition);
}
.a-search-button .a-search-button__close::before {
  transform: translateY(13px) translateX(0) rotate(45deg);
}
.a-search-button .a-search-button__close::after {
  transform: translateY(13px) translateX(0) rotate(-45deg);
}
[data-searchoverlay=open] .a-search-button .a-search-button__close {
  display: flex;
  position: relative;
  visibility: visible;
  color: var(--c-black);
  text-align: left;
  text-indent: -9999px;
  height: 32px;
  width: 32px;
  margin: 0;
}
[data-searchoverlay=open] .a-search-button .a-search-button__close::before, [data-searchoverlay=open] .a-search-button .a-search-button__close::after {
  display: block;
}

/**
 * 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: var(--c-primary);
  z-index: 100;
  color: var(--c-white);
  padding: calc(var(--bump) / 2) 0;
  max-height: 30vh;
  border-top: 1px solid var(--c-white);
  display: none;
}
.m-emmsg[data-state=visible] {
  opacity: 0;
  display: block;
  transform: translateY(100%);
  animation: slideInUp 0.2s 0.3s cubic-bezier(0.77, 0.29, 0.35, 0.72) 1 forwards;
}
@media (max-width: 767px) {
  .m-emmsg {
    overflow: scroll;
  }
}
@media (max-width: 575px) {
  .m-emmsg {
    padding: 0;
  }
}
.m-emmsg h3 {
  margin-bottom: 0.5rem;
  width: 85%;
}
.m-emmsg p {
  width: 85%;
}
.m-emmsg button {
  background-color: transparent;
  border: 0;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  padding: 0;
  position: absolute;
  top: calc(var(--bump) / 2);
  right: calc(var(--bump) / 2);
  height: 35px;
  width: 35px;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: var(--transition);
}
.m-emmsg button path {
  fill: var(--c-white);
  transition: var(--transition);
}
.m-emmsg button:hover {
  background-color: var(--c-white);
}
.m-emmsg button:hover path {
  fill: var(--c-secondary);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Entities
 * ----------------------
 */
.m-entity {
  margin: calc(var(--bump) * 2) 0;
  /**
   * ----------------------
   * Un.titled
   * Molecules - Node body copy
   * ----------------------
   */
  /**
   * ----------------------
   * 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 - Image & Text
   * ----------------------
   */
  /**
  * ----------------------
  * Un.titled
  * Molecules - Downloads
  * ----------------------
  */
  /**
  * Config
  */
  /**
  * Styling
  */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Embed
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Person Card
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Quote With Image
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - CTA
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Entity Linked logos
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Entity Video
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - sponsors ECK
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Highlighted content ECK
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules -  Logo list ECK EXhibiton content type
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Imrpoved Image Row ECK
   * ----------------------
   */
}
.m-entity-features .m-entity__featured__title {
  font-size: 28px !important;
}
.m-entity__sponsors {
  margin: 0;
}
.m-entity__feature-medallist {
  display: flex;
}
.ct__homepage .m-entity {
  margin: 25px 0;
}
@media (max-width: 767px) {
  .ct__homepage .m-entity.m-entity__homepage-signpost-with-image, .ct__homepage .m-entity.m-entity__featured-event {
    margin: 0;
  }
}
@media (max-width: 767px) {
  .m-entity {
    margin: var(--bump) 0;
  }
}
.m-entity iframe {
  width: 100%;
}
.m-entity img {
  width: 100%;
  height: auto;
  display: block;
}
.m-entity__cta a {
  text-align: unset;
  -moz-text-align-last: left;
       text-align-last: left;
}
.m-entity__body p a, .m-entity__text p a, .m-entity__accordion p a, .m-entity__image-text p a {
  text-decoration: underline;
}
.m-entity__body p a:hover, .m-entity__text p a:hover, .m-entity__accordion p a:hover, .m-entity__image-text p a:hover {
  text-decoration: none;
}
.m-entity__text ul {
  margin-left: 15px;
}
.m-entity__text ul li {
  list-style: none;
  position: relative;
  margin-bottom: 10px;
}
.m-entity__text ul li::before {
  content: "";
  border-radius: 50%;
  height: 7px;
  width: 7px;
  display: block;
  position: absolute;
  left: -15px;
  top: 11px;
  background-color: var(--c-primary);
}
.m-entity__chapter ul, .m-entity__body ul, .m-entity__accordion ul {
  margin-left: 15px;
}
.m-entity__chapter ul li, .m-entity__body ul li, .m-entity__accordion ul li {
  list-style: none;
  position: relative;
  margin-bottom: 10px;
}
.m-entity__chapter ul li::before, .m-entity__body ul li::before, .m-entity__accordion ul li::before {
  content: "";
  border-radius: 50%;
  height: 7px;
  width: 7px;
  display: block;
  position: absolute;
  left: -15px;
  top: 11px;
  background-color: var(--c-primary);
}
.m-entity__title {
  font-family: var(--font-title-reg);
  font-weight: bold;
  font-size: 22px;
  line-height: 32px;
  margin-bottom: 13px;
}
.m-entity__body {
  margin-top: 0;
}
.m-entity__image-wrapper {
  position: relative;
}
.m-entity__image-wrapper__image-credit {
  position: absolute;
  top: auto;
  background-color: rgba(255, 255, 255, 0.7);
  color: var(--c-text);
  width: 100%;
  transform: translateY(-100%);
  padding: calc(var(--bump) / 3);
}
.m-entity__image-wrapper__image-credit:before {
  content: "i";
  position: relative;
  color: var(--c-white);
  z-index: 4;
  cursor: help !important;
  height: 19px;
  width: 19px;
  border: 0;
  padding: 0;
  border-radius: 50%;
  background-color: var(--c-black);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  align-content: center;
  font-size: 15px;
}
.m-entity__view:first-child {
  margin-top: 0;
}
.m-entity__view:last-child {
  margin-bottom: 0;
}
.m-entity__quote {
  border-left: 2px solid var(--c-pompeii);
  padding-left: 18px;
}
.m-entity__quote blockquote {
  font-family: var(--font-title);
  margin: 0;
  padding: 0 0 calc(var(--bump) / 2);
}
.m-entity__quote blockquote p {
  margin-bottom: 0;
  color: var(--c-pompeii);
}
.m-entity__quote-info {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.m-entity__quote cite {
  font-family: var(--fontBody);
  font-style: italic;
}
.m-entity__quote cite .name {
  font-weight: bold;
}
.m-entity__quote .rating {
  display: inline-flex;
  margin-right: calc(var(--bump) / 2);
}
.m-entity__quote .rating__star {
  width: 24px;
  height: 24px;
  margin-right: 5px;
  stroke: var(--c-primary);
}
.m-entity__quote .rating__star:last-child {
  margin-right: 0;
}
.m-entity__quote .rating--1 .rating__star:nth-child(-n+1) path {
  fill: var(--c-primary);
  stroke: var(--c-primary);
}
.m-entity__quote .rating--2 .rating__star:nth-child(-n+2) path {
  fill: var(--c-primary);
  stroke: var(--c-primary);
}
.m-entity__quote .rating--3 .rating__star:nth-child(-n+3) path {
  fill: var(--c-primary);
  stroke: var(--c-primary);
}
.m-entity__quote .rating--4 .rating__star:nth-child(-n+4) path {
  fill: var(--c-primary);
  stroke: var(--c-primary);
}
.m-entity__quote .rating--5 .rating__star:nth-child(-n+5) path {
  fill: var(--c-primary);
  stroke: var(--c-primary);
}
.m-entity__accordion {
  /* title opened */
  /* title closed */
}
.m-entity__accordion .accordion {
  border-bottom: 1px solid rgba(31, 29, 30, 0.3);
}
.m-entity__accordion .accordion__header {
  display: flex;
  width: 100%;
  color: var(--c-pompeii);
  line-height: 24px;
  text-align: inherit;
  font-family: var(--font-title);
  font-weight: bold;
  border: 0;
  background-color: transparent;
  -moz-text-align-last: left;
       text-align-last: left;
  justify-content: space-between;
  align-items: center;
  padding: 17px 0;
  border-top: 1px solid rgba(31, 29, 30, 0.3);
  text-shadow: none;
}
.m-entity__accordion .accordion__header::after {
  content: "";
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  height: calc(var(--bump) / 2);
  width: calc(var(--bump) / 2);
  min-width: calc(var(--bump) / 2);
  background-size: auto !important;
}
.m-entity__accordion .accordion__header:focus, .m-entity__accordion .accordion__header[aria-expanded=true] {
  font-weight: bold;
  outline: none;
}
.m-entity__accordion .accordion__title {
  margin: 0;
}
.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;
}
.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: var(--bump);
}
.m-entity__accordion [aria-expanded=true]:after {
  background-image: url(/themes/pippip/dist/img/Minus.svg);
}
.m-entity__accordion [aria-expanded=false]:after {
  background-image: url(/themes/pippip/dist/img/Add.svg);
}
.m-entity__gallery__grid {
  display: grid;
  gap: 24px;
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .m-entity__gallery__grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 20px 13px;
  }
}
.m-entity__gallery__grid a {
  position: relative;
}
.m-entity__gallery__grid a:hover {
  opacity: 0.7;
}
.m-entity__gallery__grid a:hover span {
  background: #862633;
  color: #fff;
}
.m-entity__gallery__grid a > span {
  transition: all 0.2s ease-in-out;
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  height: 25px;
  width: 25px;
  background: hsla(0, 0%, 100%, 0.6);
  color: #862633;
  font-size: 25px;
  line-height: 23px;
  transition: 0.15s var(--easing);
}
.m-entity__gallery__grid a > span:after {
  content: "+";
  position: absolute;
  top: 6.25%;
  transform: translateY(-12.5%);
  transition: 0.15s var(--easing);
}
.m-entity__image-text {
  display: grid;
  grid-template-columns: 50% 1fr;
  gap: calc(var(--bump) / 1.5);
  align-items: center;
}
@media (max-width: 991px) {
  .m-entity__image-text {
    grid-template-columns: 1fr;
    gap: calc(var(--bump) / 2);
  }
}
@media (min-width: 993px) {
  .m-entity__image-text .image-right {
    order: 2;
  }
}
.m-entity__image-text__image {
  position: relative;
}
.m-entity__image-text--caption {
  position: absolute;
  bottom: 0;
  display: flex;
  /* text-align: center; */
  background-color: rgba(255, 255, 255, 0.9);
  width: 100%;
  padding: 14px;
}
.m-entity__image-text__title {
  font-family: var(--font-title-reg);
  font-weight: bold;
  font-size: 22px;
  line-height: 32px;
  margin-bottom: 13px;
}
@media (max-width: 767px) {
  .m-entity__image-text__title {
    justify-content: flex-start;
  }
}
.m-entity__image-text__grid {
  gap: 24px;
}
.m-entity__downloads a:hover {
  color: var(--c-pompeii);
}
.m-entity__downloads .file {
  padding-left: 0;
  background-image: none;
  font-family: var(--font-title-reg) !important;
}
.m-entity__embed iframe {
  width: 100%;
}
.m-entity__text-block {
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media (max-width: 767px) {
  .m-entity__text-block {
    text-align: left;
    -moz-text-align-last: left;
         text-align-last: left;
  }
}
.m-entity__text-block__body-text ~ .m-entity__text-block__links {
  margin-top: var(--bump);
}
.m-entity__text-block__body-text h1,
.m-entity__text-block__body-text h2,
.m-entity__text-block__body-text h3,
.m-entity__text-block__body-text h4,
.m-entity__text-block__body-text h5,
.m-entity__text-block__body-text h6 {
  margin: 0;
}
.m-entity__text-block__links {
  display: flex;
  gap: 24px;
  justify-content: center;
  flex-direction: row;
}
@media (max-width: 767px) {
  .m-entity__text-block__links {
    flex-direction: column;
  }
}
.m-entity__person-card .grid [class*=col-] {
  display: grid;
  grid-template-columns: 40% 1fr;
  gap: calc(var(--bump) * 4);
  align-items: center;
}
@media (max-width: 991px) {
  .m-entity__person-card .grid [class*=col-] {
    grid-template-columns: 1fr;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__person-card__title {
  margin: 0 0 calc(var(--bump) / 2);
  font-family: var(--font-title-reg);
  font-weight: normal;
  font-size: 28px;
  line-height: 38px;
}
.m-entity__person-card__content > p ~ a.a-btn {
  margin: 24px 0 0;
}
.m-entity__person-card__grid {
  gap: 24px;
}
.m-entity__quote-with-image__container {
  display: grid !important;
  grid-template-columns: 30% 1fr;
  gap: calc(var(--bump) * 4);
  align-items: center;
  grid-auto-flow: dense;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__quote-with-image__container {
    grid-template-columns: 1fr;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__quote-with-image__quote p {
  font-family: var(--font-body);
  font-size: 22px;
  font-style: italic;
  letter-spacing: 0;
  line-height: 30px;
  color: var(--c-black);
}
.m-entity__quote-with-image__author {
  font-family: var(--font-body);
  font-size: 18px;
  letter-spacing: 0;
  line-height: 24px;
  margin: calc(var(--bump) / 2) 0 0;
  color: var(--c-black);
}
.m-entity__quote-with-image__role {
  font-family: var(--font-bold);
  font-weight: bold;
}
.m-entity__quote-with-image__image-wrapper {
  max-width: 285px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-entity__quote-with-image__image-wrapper {
    max-width: 100%;
  }
}
.m-entity__quote-with-image__image-wrapper img {
  width: 100%;
}
.m-entity__quote-with-image__cta {
  margin: 24px 0 0;
}
.m-entity__featured {
  color: var(--c-white);
}
.m-entity__featured p a {
  color: var(--c-white);
}
.ct__medal-landing .m-entity__featured, .ct__exhibition-landing-page .m-entity__featured, .m-entity__featured-exhibition .m-entity__featured {
  margin: 0 0 calc(var(--bump) * 1.5);
}
.m-entity__featured__title {
  color: var(--c-white);
}
.ct__listing .m-entity__featured__title {
  color: var(--c-pompeii);
  font-family: var(--font-body);
  flex-grow: 1;
}
.ct__homepage .m-entity__featured__title {
  margin: 0 0 calc(var(--bump) / 2);
}
.m-entity__featured__title:not(.ct__homepage .m-entity__featured__title):after {
  content: "";
  display: block;
  background-color: var(--c-bg);
  width: 60px;
  height: 1px;
  transform: translateY(0.415em);
}
.m-entity__homepage-signpost-with-image .m-entity__featured__title {
  margin-top: 0;
  font-family: var(--font-body);
  font-weight: bold;
  color: var(--c-pompeii);
  font-size: clamp(34px, 5vw, 42px);
  line-height: clamp(44px, 5vw, 57px);
}
.m-entity__featured__subtitle {
  color: var(--c-white);
}
.ct__listing .m-entity__featured__subtitle {
  color: var(--c-pompeii);
  font-family: var(--font-body);
}
.ct__homepage .m-entity__featured__subtitle {
  margin: 0 0 var(--bump);
}
.ct__homepage .m-entity__featured__subtitle:after {
  content: "";
  display: block;
  background-color: var(--c-bg);
  width: 60px;
  height: 2px;
  transform: translateY(calc(var(--bump) / 2));
}
.m-entity__featured__booking-links {
  display: flex;
  justify-content: space-between;
  gap: calc(var(--bump) / 2);
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
@media (max-width: 767px) {
  .m-entity__featured__booking-links {
    width: 100%;
    flex-direction: column;
  }
  .m-entity__featured__booking-links .a-btn {
    width: 100%;
  }
}
.m-entity__featured__container {
  display: flex;
  background-color: var(--c-b_red);
}
.ct__exhibition-landing-page .m-entity__featured__container, .ct__medal-landing .m-entity__featured__container, .ct__listing .m-entity__featured__container, .ct__homepage .m-entity__featured__container {
  margin: 0;
}
@media (max-width: 767px) {
  .ct__exhibition-landing-page .m-entity__featured__container, .ct__medal-landing .m-entity__featured__container, .ct__listing .m-entity__featured__container, .ct__homepage .m-entity__featured__container {
    margin: 0;
  }
}
@media (max-width: 767px) {
  .m-entity__featured__container {
    margin: -15px;
  }
}
.ct__homepage .m-entity__featured__container {
  flex-direction: row-reverse;
  max-width: 100%;
}
.m-entity__homepage-signpost-with-image .m-entity__featured__container {
  background-color: var(--c-white);
  flex-direction: row;
}
@media (max-width: 767px) {
  .ct__listing .m-entity__featured__container {
    margin: 0;
  }
}
@media (max-width: 767px) {
  .m-entity__featured__container {
    flex-direction: column;
  }
}
.m-entity__featured__image {
  padding: 0;
}
@media (max-width: 767px) {
  .m-entity__homepage-signpost-with-image .m-entity__featured__image {
    padding: 0 0 calc(var(--bump) / 2);
  }
}
@media (max-width: 767px) {
  .ct__exhibition-landing-page .m-entity__featured__image, .ct__medal-landing .m-entity__featured__image {
    padding: var(--bump) calc(var(--bump) / 2) calc(var(--bump) / 2);
  }
}
.ct__homepage .m-entity__featured__image, .ct__listing .m-entity__featured__image {
  display: flex;
  align-items: center;
}
@media (max-width: 767px) {
  .ct__homepage .m-entity__featured__image, .ct__listing .m-entity__featured__image {
    padding: 0 0 calc(var(--bump) / 2);
  }
}
.m-entity__featured__image picture {
  margin: auto;
  width: 100%;
  height: 100%;
}
.m-entity__featured__image picture img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-entity__featured__info {
  max-width: calc(var(--containerWidth) / 2);
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.m-entity__featured__info h1, .m-entity__featured__info h2, .m-entity__featured__info h3, .m-entity__featured__info h4, .m-entity__featured__info h5, .m-entity__featured__info h6 {
  color: var(--c-white);
}
.ct__homepage .m-entity__featured__info {
  padding: var(--bump) calc(var(--bump) * 3) var(--bump) calc(var(--bump) / 2);
}
@media (max-width: 767px) {
  .ct__homepage .m-entity__featured__info {
    padding: calc(var(--bump) / 3) calc(var(--bump) / 2) var(--bump);
  }
}
.m-entity__homepage-signpost-with-image .m-entity__featured__info {
  padding: var(--bump) calc(var(--bump) / 2) var(--bump) var(--bump);
}
.m-entity__homepage-signpost-with-image .m-entity__featured__info .m-entity__featured__title {
  color: var(--c-pompeii);
}
@media (max-width: 767px) {
  .m-entity__homepage-signpost-with-image .m-entity__featured__info {
    padding: 0 calc(var(--bump) / 2) calc(var(--bump) / 2);
  }
}
.m-entity__featured__info > p,
.m-entity__featured__info .m-entity__featured__field-times,
.m-entity__featured__info .m-entity__featured__field-run-date,
.m-entity__featured__info .m-entity__featured__type {
  margin: 0 0 calc(var(--bump) / 2);
}
.m-entity__featured__info > p p:last-of-type,
.m-entity__featured__info > p h2:last-of-type,
.m-entity__featured__info .m-entity__featured__field-times p:last-of-type,
.m-entity__featured__info .m-entity__featured__field-times h2:last-of-type,
.m-entity__featured__info .m-entity__featured__field-run-date p:last-of-type,
.m-entity__featured__info .m-entity__featured__field-run-date h2:last-of-type,
.m-entity__featured__info .m-entity__featured__type p:last-of-type,
.m-entity__featured__info .m-entity__featured__type h2:last-of-type {
  margin: 0;
}
.m-entity__featured__info p > strong {
  font-family: var(--font-bold);
}
@media (max-width: 767px) {
  .m-entity__featured__info {
    padding: 0 calc(var(--bump) / 2) calc(var(--bump) / 2);
    width: 100%;
    max-width: 100%;
    height: 100%;
  }
}
.m-entity__featured__type {
  margin: 0 0 calc(var(--bump) / 2);
}
.m-entity__featured__type a {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 28px;
  color: var(--c-pompeii);
  text-decoration: none;
  color: var(--c-white);
  font-family: var(--font-bold);
}
.m-entity__featured__type a:hover {
  color: var(--c-pompeii);
}
.ct__homepage .m-entity__featured__type {
  display: none;
}
.m-entity__featured__type--home-page {
  display: none;
}
.ct__homepage .m-entity__featured__type--home-page {
  display: block;
}
.ct__homepage .m-entity__featured__type--home-page a {
  text-decoration: underline;
  font-family: var(--font-body);
}
.ct__homepage .m-entity__featured__type--home-page a:hover {
  color: var(--c-white);
  text-decoration: none;
}
.m-entity__featured__ctas {
  display: flex;
  flex-direction: column;
  gap: calc(var(--bump) / 2);
  align-items: flex-start;
}
@media (max-width: 767px) {
  .m-entity__featured__ctas {
    width: 100%;
  }
  .m-entity__featured__ctas .a-btn {
    width: 100%;
  }
}
.m-entity__linked-logos .m-logos {
  gap: 29px 38px;
}
.m-entity video {
  width: 100%;
  height: auto;
}
.m-entity .m-entity__video__embed iframe {
  width: 100%;
  height: 448px;
}
@media (max-width: 991px) {
  .m-entity .m-entity__video__embed iframe {
    height: 355px;
  }
}
@media (max-width: 575px) {
  .m-entity .m-entity__video__embed iframe {
    height: 200px;
  }
}
.m-entity__latest-articles {
  position: relative;
  margin: 0;
  padding: 41px 0 0 0;
}
.m-entity__latest-articles__image {
  position: absolute;
  opacity: 0.08;
  width: 100%;
  top: 0;
  bottom: 0;
}
.m-entity__latest-articles__image img {
  height: 100%;
  width: 100%;
}
.m-entity__latest-articles__container {
  display: flex;
  width: 100%;
  justify-content: space-between;
  position: relative;
  z-index: 2;
  left: 0px;
  right: 0px;
}
.m-entity__latest-articles__container .view__latest_news .views-row:first-of-type .m-entity__latest-articles__teaser__link,
.m-entity__latest-articles__container .view__latest_blog .views-row:first-of-type .m-entity__latest-articles__teaser__link {
  margin: 0 0 calc(var(--bump) * 1.5);
}
.m-entity__latest-articles__container .view__latest_news .views-row:first-of-type .m-entity__latest-articles__teaser__link:after,
.m-entity__latest-articles__container .view__latest_blog .views-row:first-of-type .m-entity__latest-articles__teaser__link:after {
  content: "";
  height: 1px;
  background-color: var(--c-pompeii);
  width: 100%;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(20px);
}
@media (max-width: 767px) {
  .m-entity__latest-articles__container .view__latest_news .views-row:first-of-type .m-entity__latest-articles__teaser__link:after,
  .m-entity__latest-articles__container .view__latest_blog .views-row:first-of-type .m-entity__latest-articles__teaser__link:after {
    display: none;
  }
}
@media (max-width: 767px) {
  .m-entity__latest-articles__container .view__latest_news .views-row:not(:first-child),
  .m-entity__latest-articles__container .view__latest_blog .views-row:not(:first-child) {
    display: none;
  }
}
.m-entity__latest-articles__teaser {
  margin: 0 0 0 calc(var(--bump) * 5);
}
@media (max-width: 767px) {
  .m-entity__latest-articles__teaser {
    margin: auto;
  }
}
.m-entity__latest-articles__teaser__date {
  position: absolute;
  left: calc(var(--bump) / 2);
  color: var(--c-pompeii);
}
@media (max-width: 767px) {
  .m-entity__latest-articles__teaser__date {
    position: relative;
    left: 0;
    margin: 0 0 calc(var(--bump) / 3);
  }
}
.m-entity__latest-articles__teaser__title {
  position: relative;
  color: var(--c-primary);
  margin: 0 0 calc(var(--baseUnit) * 5);
}
.m-entity__latest-articles__teaser__title:after {
  content: "";
  height: 1px;
  background-color: var(--c-black);
  width: 60px;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(20px);
}
.m-entity__latest-articles__teaser__body {
  margin: 0 0 calc(var(--bump) / 2);
}
.m-entity__latest-articles__teaser__link {
  position: relative;
  display: block;
}
.m-entity__large-signpost {
  position: relative;
}
.m-entity__large-signpost .overlay {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: block;
  margin: 15px;
}
@media (max-width: 767px) {
  .m-entity__large-signpost {
    overflow: hidden;
  }
}
.m-entity__large-signpost > .grid > .col-sm-12 > picture {
  position: relative;
}
.m-entity__large-signpost__container {
  display: flex;
  align-items: center;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: var(--c-white);
  z-index: 2;
  margin: auto;
}
@media (max-width: 767px) {
  .m-entity__large-signpost__container {
    justify-content: flex-end;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    padding: var(--bump) var(--bump) var(--bump) 0;
  }
  .m-entity__large-signpost__container .grid {
    margin: 0;
    align-content: flex-end;
  }
}
.m-entity__large-signpost__container > .grid {
  width: 100%;
}
.m-entity__large-signpost__content, .m-entity__large-signpost__cta {
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.m-entity__large-signpost__content {
  align-items: flex-start;
}
.m-entity__large-signpost__content h2 {
  font-family: var(--font-bold);
  color: var(--c-white);
}
.m-entity__related-content__container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: calc(var(--baseUnit) * 3);
}
@media (max-width: 767px) {
  .m-entity__related-content__container {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__related-content__container .o-teaser {
  width: 100%;
  padding: 0;
}
.m-entity__previous-winners__container {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .m-entity__previous-winners__container {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__previous-winners .o-teaser {
  width: 100%;
}
.m-entity__sponsors .m-sponsors {
  display: grid;
  gap: 29px 38px;
  align-items: flex-end;
}
.m-entity__highlighted-content {
  background-color: #862633;
  padding: 16px 24px;
}
.m-entity__highlighted-content a {
  color: white;
  text-decoration: underline;
}
.m-entity__highlighted-content a:hover {
  text-decoration: none;
}
.m-entity__highlighted-content .a-btn {
  background-color: black;
  padding: 0;
  margin-top: 24px;
}
.m-entity__highlighted-content .a-btn:hover {
  background-color: white;
}
.m-entity__highlighted-content .a-btn a {
  color: white;
  text-decoration: none;
  padding: 8px 20px;
  min-height: 41px;
  display: flex;
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
  justify-content: center;
}
.m-entity__highlighted-content .a-btn a:hover {
  color: black;
}
.m-entity__highlighted-content h2,
.m-entity__highlighted-content h3,
.m-entity__highlighted-content p {
  color: white;
}
.m-entity__highlighted-content ul {
  margin-left: 15px;
}
.m-entity__highlighted-content ul li {
  position: relative;
}
.m-entity__highlighted-content ul li::marker {
  content: "";
}
.m-entity__highlighted-content ul li::before {
  content: "" !important;
  border-radius: 50%;
  height: 7px;
  width: 7px;
  display: block;
  position: absolute;
  left: -15px;
  top: 18px;
  background-color: white;
}
.m-entity__medallist-signposts__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: space-between;
  gap: calc(var(--baseUnit) * 3);
}
@media (max-width: 767px) {
  .m-entity__medallist-signposts__container {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__exhibition-signposts__container {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  justify-content: space-between;
  gap: calc(var(--baseUnit) * 3);
}
@media (max-width: 767px) {
  .m-entity__exhibition-signposts__container {
    grid-template-columns: repeat(1, 1fr);
  }
}
.m-entity__logo-list {
  word-spacing: normal;
  letter-spacing: normal;
}
.m-entity__logo-list .m-donors {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 1%;
}
.m-entity__logo-list .m-donors a {
  position: relative;
}
.m-entity__logo-list .m-donors .donor_logo {
  height: 100%;
}
.m-entity__logo-list .m-donors .donor_logo img {
  width: 100%;
  height: 100%;
}
.m-entity__logo-list .m-donors .donor_logo:hover {
  opacity: 0.6;
  transition: 0.15s cubic-bezier(0.83, 0, 0.17, 1);
}
.m-entity__logo-list .m-donors .donor_logo:hover span {
  background: #862633;
  color: white;
}
.m-entity__logo-list .m-donors span {
  position: absolute;
  top: 0;
  right: 0;
  display: flex;
  justify-content: center;
  height: 25px;
  width: 25px;
  background: hsla(0, 0%, 100%, 0.6);
  color: #862633;
  font-size: 25px;
  line-height: 23px;
  transition: 0.15s cubic-bezier(0.83, 0, 0.17, 1);
}
.m-entity__logo-list .m-donors span::after {
  content: "+";
  position: absolute;
  top: 6.25%;
  transform: translateY(-12.5%);
  transition: 0.15s cubic-bezier(0.83, 0, 0.17, 1);
}
.m-entity__improved-image-row {
  display: block;
}
.m-entity__improved-image-row picture img {
  width: 100%;
}
.m-entity__improved-image-row p {
  margin-top: 16px;
}
.m-entity__chapter p {
  margin: 0 0 var(--bump);
}
.m-entity__chapter p:last-of-type {
  margin: 0 0 var(--bump);
}
.m-entity__chapter__title {
  display: flex;
  justify-content: space-between;
}
.m-entity__chapter__title .scroll.top {
  font-size: 18px;
  line-height: 25px;
  font-family: var(--font-body);
}
@media (max-width: 767px) {
  .m-entity__chapter__title {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__story__image img {
  width: 100%;
}
.m-entity__story__image__wrapper {
  display: flex;
  gap: calc(var(--baseUnit) * 2);
  align-items: center;
  margin: 0 0 var(--bump);
}
.m-entity__collection__title {
  display: flex;
  justify-content: space-between;
}
.m-entity__collection__title .scroll.top {
  font-size: 18px;
  line-height: 25px;
  font-family: var(--font-body);
  font-weight: normal;
}
@media (max-width: 767px) {
  .m-entity__collection__title {
    flex-direction: column;
    gap: calc(var(--bump) / 2);
  }
}
.m-entity__collection .listing.collection {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 767px) {
  .m-entity__collection .listing.collection {
    grid-template-columns: repeat(2, 1fr);
  }
}
.m-entity__collection .listing.collection li {
  list-style: none;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Forms
 * ----------------------
 */
input,
input[type=text],
input[type=password],
input[type=email],
input[type=submit],
textarea,
select {
  font-family: var(--fontBody);
  color: var(--c-primary);
  resize: none;
  padding: calc(var(--bump) / 2) var(--bump);
  -webkit-border-radius: 0px;
  border-radius: 0;
  outline: 0;
  border: 1px solid var(--c-primary);
  transition: all var(--transition);
  background-color: var(--c-white);
}
input:focus,
input[type=text]:focus,
input[type=password]:focus,
input[type=email]:focus,
input[type=submit]:focus,
textarea:focus,
select:focus {
  border: 1px solid var(--c-secondary);
}

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;
}

.js-form-item {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  margin-bottom: calc(var(--bump) / 2);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Main nav
 * ----------------------
 */
[data-nav=open] .m-main-nav:not(.m-main-nav__modal) {
  margin: 0 50px 0 0;
}
@media (max-width: 767px) {
  [data-nav=open] .m-main-nav:not(.m-main-nav__modal) {
    margin: 0;
  }
}
.m-main-nav > ul {
  display: flex;
  align-items: center;
  flex-flow: row wrap;
  align-content: center;
  justify-content: flex-end;
  -moz-column-gap: calc(var(--bump) / 2 + 1px);
       column-gap: calc(var(--bump) / 2 + 1px);
  width: 100%;
}
@media (max-width: 767px) {
  .m-main-nav > ul {
    display: none;
  }
}
.m-main-nav > ul > li:last-of-type > a {
  margin: auto calc(var(--smallBump) / 2);
}
.m-main-nav > ul > li.menu-item-li {
  display: flex;
  justify-content: center;
  position: relative;
  font-family: var(--font-title);
  font-size: 18px;
  line-height: 28px;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
}
.m-main-nav > ul > li.menu-item-li:last-of-type {
  margin-right: 0;
}
.m-main-nav > ul > li.menu-item-li > a {
  padding: 0;
  color: var(--c-white);
  text-decoration: none;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.m-main-nav > ul > li.menu-item-li:after {
  content: "";
  position: absolute;
  margin: 0 auto;
  bottom: 0;
  width: 0;
  height: 2px;
  background-color: var(--c-white);
}
.m-main-nav > ul > li.menu-item-li:hover:after {
  width: 100%;
}
.m-main-nav > ul > li > a.menu-item-li {
  display: flex;
  position: relative;
  margin: calc(var(--bump) / 4) 0;
}
.m-main-nav__modal {
  display: none;
}
[data-nav=open] .m-main-nav__modal {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  position: fixed;
  top: 95px;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--c-pompeii);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: 1;
  overflow-y: scroll;
}
.m-main-nav__modal > ul {
  display: flex;
  align-items: center;
  flex-direction: column;
  align-content: center;
  gap: calc(var(--bump) / 2);
  padding: var(--bump) 0;
  max-width: 500px;
  width: 100%;
}
@media (max-width: 767px) {
  .m-main-nav__modal > ul {
    max-width: 70%;
    width: 100%;
  }
}
.m-main-nav__modal > ul > li.menu-item-li {
  font-size: clamp(18px, 4vw, 28px);
  line-height: clamp(28px, 5vw, 38px);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Banner
 * ----------------------
 */
.m-no-banner {
  margin-top: calc(var(--bump) * 3);
}
@media (max-width: 767px) {
  .m-no-banner {
    margin-top: var(--bump);
  }
}

.m-banner-homepage {
  position: relative;
  /* browser specific letter spacing css fixes for text circle */
}
@media (max-width: 767px) {
  .m-banner-homepage {
    margin: 0;
  }
}
.m-banner-homepage__content {
  display: flex;
  flex-direction: column;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  color: var(--c-white);
  z-index: 1;
  background-color: rgba(0, 0, 0, 0.3);
}
.m-banner-homepage__content__grid {
  margin: auto;
  width: 100%;
}
.m-banner-homepage__image {
  position: relative;
}
.m-banner-homepage__image-credit {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 16px;
}
.m-banner-homepage__image-credit .grid .col-12 {
  padding: 0;
}
.m-banner-homepage__image--video-present {
  display: block;
  top: 0;
  position: absolute;
  bottom: 0;
  opacity: 1;
  transition: var(--transition);
}
.m-banner-homepage__image--video-present[data-playstate=play] {
  opacity: 0;
}
@media (max-width: 767px) {
  .m-banner-homepage__image--video-present[data-playstate=play] {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .m-banner-homepage__image--video-present {
    position: relative;
    display: block;
  }
}
.m-banner-homepage__video-icon {
  position: absolute;
  bottom: 2px;
  cursor: pointer;
  z-index: 1;
}
.m-banner-homepage__video-icon.playing .m-banner__video-icon--item.play {
  display: none;
}
.m-banner-homepage__video-icon.paused .m-banner__video-icon--item.pause {
  display: none;
}
.m-banner-homepage__video-icon--item {
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 10px;
  grid-gap: 10px;
}
.m-banner-homepage__video-icon--item h4 {
  margin-bottom: 0;
}
.m-banner-homepage__video-container {
  width: 100%;
  height: 100%;
  z-index: -1;
  position: relative;
  padding-bottom: 57.175%;
  display: block;
  opacity: 0;
}
.m-banner-homepage__video-container[data-playstate=play] {
  opacity: 1;
}
.m-banner-homepage__video-container[data-playstate=pause] {
  opacity: 0;
}
@media (max-width: 767px) {
  .m-banner-homepage__video-container {
    display: none;
  }
}
.m-banner-homepage__video-container--controls {
  position: absolute;
  right: 0;
  bottom: 40px;
  z-index: 1;
  background: transparent;
  border: none;
}
@media (max-width: 1299px) {
  .m-banner-homepage__video-container--controls {
    right: 50px;
  }
}
.m-banner-homepage__video-container--controls-container {
  margin: 0;
  width: 100%;
  display: flex;
  align-self: center;
}
@media (max-width: 767px) {
  .m-banner-homepage__video-container--controls-container {
    display: none;
  }
}
.m-banner-homepage__video-container--pause {
  display: none;
}
[data-playstate=play] .m-banner-homepage__video-container--pause {
  display: block;
}
.m-banner-homepage__video-container--play {
  display: none;
}
[data-playstate=pause] .m-banner-homepage__video-container--play {
  display: block;
}
.m-banner-homepage__body {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  position: relative;
}
.m-banner-homepage__body[data-playstate=play] {
  opacity: 0;
}
.m-banner-homepage__body[data-playstate=pause] {
  opacity: 1;
}
.m-banner-homepage__body:after {
  content: "";
  display: block;
  position: absolute;
  top: -7.5px;
  left: -7.5%;
  background-color: black;
  height: 150%;
  width: 110%;
  z-index: -1;
  opacity: 0.65;
  border-radius: 39px;
  filter: blur(65px);
}
.m-banner-homepage__body .h1,
.m-banner-homepage__body h1 {
  font-size: clamp(34px, 4vw, 42px);
  line-height: clamp(44px, 5vw, 52px);
  margin: 0 0 calc(var(--bump) / 3);
  font-family: var(--font-title-reg);
}
.m-banner-homepage__body .h2,
.m-banner-homepage__body h2 {
  font-size: clamp(18px, 4vw, 18px);
  line-height: clamp(25px, 4vw, 25px);
  font-family: var(--font-title-reg);
  font-weight: normal;
}
.m-banner-homepage__body .h1,
.m-banner-homepage__body h1,
.m-banner-homepage__body h2,
.m-banner-homepage__body .h2 {
  color: var(--c-white);
}
.m-banner-homepage__copy {
  font-size: var(--fontlarge);
  line-height: var(--smallLineHeight);
  font-family: var(--fontSemiBold);
  margin: 0 0 1rem;
}
.m-banner-homepage__overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
  overflow: hidden;
  background-color: var(--c-black);
  opacity: 0.3;
}
.m-banner-homepage video {
  width: 100%;
  height: 100%;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
.m-banner-homepage img {
  width: 100%;
  height: 100%;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-banner-homepage .a-btn {
  display: block;
  width: auto;
}
.m-banner-homepage #container {
  margin: 0%;
}
.m-banner-homepage #circle {
  position: absolute;
  right: 0;
  top: 0;
  width: 100%;
  height: 100%;
}
.m-banner-homepage #circle text {
  font-family: var(--font-body);
  font-size: 14px;
  font-weight: normal;
  letter-spacing: 0.8px;
}
@media not all and (-webkit-min-device-pixel-ratio: 0), not all and (min-resolution: 0.001dpcm) {
  .m-banner-homepage #circle text {
    letter-spacing: 0.175px;
  }
}
@-moz-document url-prefix() {
  .m-banner-homepage #circle text {
    letter-spacing: 0.175px;
  }
}
.m-banner-homepage #circle svg {
  position: absolute;
  top: -75px;
  left: -69px;
  bottom: 0;
  right: 0;
  width: 230px;
  height: 230px;
  -webkit-animation-name: rotate;
  animation-name: rotate;
  -webkit-animation-duration: 5s;
  animation-duration: 5s;
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
  -webkit-animation-timing-function: linear;
  animation-timing-function: linear;
}
[data-playstate=play] .m-banner-homepage #circle svg, .m-banner-homepage #circle svg:hover {
  animation-name: none;
}
@-webkit-keyframes rotate {
  from {
    -webkit-transform: rotate(360deg);
  }
  to {
    -webkit-transform: rotate(0);
  }
}
@-moz-keyframes rotate {
  from {
    -moz-transform: rotate(360deg);
  }
  to {
    -moz-transform: rotate(0);
  }
}
@-ms-keyframes rotate {
  from {
    -ms-transform: rotate(360deg);
  }
  to {
    -ms-transform: rotate(0);
  }
}
@-o-keyframes rotate {
  from {
    -o-transform: rotate(360deg);
  }
  to {
    -o-transform: rotate(0);
  }
}
@keyframes rotate {
  from {
    transform: rotate(360deg);
  }
  to {
    transform: rotate(0);
  }
}

.m-exhibition-content {
  margin: 12px 0 8px 0;
}

.m-banner-default {
  position: relative;
  margin-bottom: 70px;
}
.m-banner-default--video .m-banner__image--video-present {
  display: block;
  top: 0;
  position: absolute;
  bottom: 0;
  opacity: 1;
  transition: var(--transition);
}
.m-banner-default--video .m-banner__image--video-present[data-playstate=play] {
  opacity: 1;
}
@media (max-width: 767px) {
  .m-banner-default--video .m-banner__image--video-present[data-playstate=play] {
    opacity: 1;
  }
}
@media (max-width: 767px) {
  .m-banner-default--video .m-banner__image--video-present {
    display: block;
  }
}
@media (max-width: 991px) {
  .m-banner-default--video .m-banner__image--video-present {
    display: block;
    width: 100%;
  }
}
@media (max-width: 767px) {
  .m-banner-default {
    display: flex;
    flex-direction: column-reverse;
    margin-bottom: 24px;
  }
}
.m-banner-default__video-icon {
  position: absolute;
  bottom: 2px;
  cursor: pointer;
  z-index: 1;
}
.m-banner-default__video-icon.playing .m-banner__video-icon--item.play {
  display: none;
}
.m-banner-default__video-icon.paused .m-banner__video-icon--item.pause {
  display: none;
}
.m-banner-default__video-icon--item {
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 10px;
  grid-gap: 10px;
}
.m-banner-default__video-icon--item h4 {
  margin-bottom: 0;
}
.m-banner-default__video-container {
  width: 100%;
  height: 100%;
  z-index: -1;
  position: relative;
  padding-bottom: 37.625%;
  display: block;
}
.m-banner-default__video-container.ct-banner-video {
  width: 100%;
  height: 100%;
  z-index: -1;
  position: unset;
  padding-bottom: 37.625%;
  display: block;
}
@media (max-width: 767px) {
  .m-banner-default__video-container.ct-banner-video {
    z-index: 1;
  }
}
.m-banner-default__video-container.ct-banner-video .video-modal.active .video-container video {
  height: auto;
}
.m-banner-default__video-container.ct-banner-video .video-modal.active .video-container button {
  background-image: url("../img/icon-pause.svg");
  right: 40px;
  top: -15px;
}
.m-banner-default__video-container.ct-banner-video .video-modal.active .video-container button[data-playstate=pause] {
  background-image: url("../img/icon-play.svg");
}
.m-banner-default__video-container--controls {
  position: absolute;
  transform: translateY(-100%);
  z-index: 1;
  background: var(--c-primary);
  color: var(--c-white);
  border: none;
  display: flex;
  gap: calc(var(--bump) / 2);
  align-items: center;
  justify-content: center;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  padding: calc(var(--bump) / 2);
  font-size: 32px;
  line-height: 32px;
}
@media (max-width: 767px) {
  .m-banner-default__video-container--controls {
    font-size: 16px;
    line-height: 25px;
    font-family: var(--font-bold);
    gap: calc(var(--bump) / 3);
  }
}
.m-banner-default__video-container--controls svg {
  width: 29px;
  height: 36px;
}
@media (max-width: 767px) {
  .m-banner-default__video-container--controls svg {
    width: 13px;
    height: 17px;
  }
}
.m-banner-default__video-container--controls.button-control[data-playstate=play] {
  display: flex;
}
.m-banner-default__video-container--controls.button-control[data-playstate=pause] {
  display: flex;
}
.m-banner-default__video-container--controls[data-playstate=play] {
  display: none;
}
.m-banner-default__video-container--controls[data-playstate=pause] {
  display: flex;
}
.m-banner-default__video-container--controls--mobile {
  position: relative;
  transform: none;
  width: 100%;
}
.m-banner-default__video-container--controls-container {
  position: absolute;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-banner-default__video-container--controls-container[data-playstate=play] {
  display: none;
}
.m-banner-default__video-container--controls-container[data-playstate=pause] {
  display: flex;
}
@media (max-width: 767px) {
  .m-banner-default__video-container--controls-container {
    height: unset;
    bottom: 0;
    position: fixed;
    z-index: 1;
  }
}
.m-banner-default__video-container--controls-container--mobile {
  position: relative;
  width: 100%;
  margin: calc(var(--bump) / 2) 0;
  height: auto;
  display: none;
}
@media (max-width: 767px) {
  .m-banner-default__video-container--controls-container--mobile {
    display: block;
  }
}
.m-banner-default__image {
  position: relative;
}
.m-banner-default__image-credit {
  position: absolute;
  bottom: 0;
  display: block;
  width: 100%;
  background-color: rgba(255, 255, 255, 0.9);
  font-size: 14px;
  line-height: 16px;
}
.m-banner-default__image-credit .grid .col-12 {
  padding: 0;
}
.m-banner-default__image--video-present {
  display: none;
}
.m-banner-default__body {
  margin: 0;
  position: absolute;
  bottom: 0;
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  z-index: 1;
  background-color: rgba(255, 255, 255, 0.9);
}
.m-banner-default__body__content {
  min-height: 152px;
  align-items: center;
  display: grid;
}
@media (max-width: 767px) {
  .m-banner-default__body__content {
    min-height: 72px;
  }
}
.m-banner-default--no-image .m-banner-default__body {
  position: relative;
  bottom: auto;
}
@media (max-width: 767px) {
  .m-banner-default__body {
    position: relative;
  }
}
.m-banner-default__body.is-sticky {
  bottom: auto;
  background-color: var(--c-white);
  width: 100% !important;
}
.m-banner-default__body .taxonomy-term h2 {
  margin: 0;
  line-height: 0;
}
.m-banner-default__body .taxonomy-term a {
  font-size: var(--fontSizeBody);
  line-height: var(--lineHeightBody);
  color: var(--c-text);
  text-decoration: none;
}
.m-banner-default__body .taxonomy-term a:hover {
  text-decoration: underline;
}
.m-banner-default__body h1 {
  font-family: var(--font-body);
  font-weight: normal;
  margin: 0;
}
.m-banner-default__body p {
  color: var(--c-pompeii);
}
.m-banner-default__booking {
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-banner-default__booking .a-btn {
  display: block;
  width: 100%;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
}
.m-banner-default__taxonomy {
  display: flex;
  justify-content: flex-start;
  gap: calc(var(--bump) / 2);
  flex-flow: row wrap;
}
.m-banner-default__quick-links {
  display: flex;
  flex-flow: row wrap;
  -moz-column-gap: calc(var(--baseUnit) * 3);
       column-gap: calc(var(--baseUnit) * 3);
  margin: 0;
}
.m-banner-default__quick-links li {
  text-decoration: none;
  list-style: none;
}
.m-banner-default__quick-links li a:hover {
  color: var(--c-pompeii);
}
.m-banner-default img {
  width: 100%;
  height: auto;
  display: block;
}
.m-banner-default video {
  width: 100%;
  height: 100%;
  z-index: -1;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  -o-object-fit: cover;
     object-fit: cover;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Linked logos
 * ----------------------
 */
.m-logos a {
  display: block;
}
.m-logos a:hover {
  opacity: 0.7;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Social links
 * ----------------------
 */
/**
 * Styling
 */
.m-social-links {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: calc(var(--bump) / 3);
  flex-flow: row wrap;
}
.m-social-links__link {
  height: calc(var(--bump) * 1.47);
  width: calc(var(--bump) * 1.47);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
}
.m-social-links__link:last-child {
  margin-right: 0;
}
.m-social-links__link svg {
  width: 33px;
  height: 33px;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-social-links__link rect {
  transition: 0.5s var(--easing);
  fill: var(--c-primary);
}
.m-social-links__link path {
  fill: var(--c-white);
}
.m-social-links__link:hover rect {
  opacity: 0.6;
}
.m-social-links__link:hover path {
  opacity: 0.6;
}

.m-search-overlay {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
}
@media (max-width: 767px) {
  .m-search-overlay {
    position: relative;
    top: 95px;
    padding-bottom: 95px;
  }
}
.m-search-overlay p:last-of-type {
  margin-bottom: calc(var(--bump) * 2);
}
@media (max-width: 767px) {
  .m-search-overlay p:last-of-type {
    margin-bottom: var(--bump);
  }
}
.m-search-overlay p a {
  color: var(--c-white);
}
.m-search-overlay .m-block--views-exposed-filter-blocksite-search-search-block {
  width: 100%;
  margin: 0 0 var(--bump);
}
.m-search-overlay .m-block__suggested-pages.m-suggested-pages a {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  background: var(--c-pompeii);
  color: #fff;
  text-transform: uppercase;
  min-width: 120px;
  text-align: center;
  border: 1px var(--c-white) solid;
}
@media (max-width: 767px) {
  .m-search-overlay .m-block__suggested-pages.m-suggested-pages a {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-search-overlay .m-block__suggested-pages.m-suggested-pages a:hover, .m-search-overlay .m-block__suggested-pages.m-suggested-pages a:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.m-search-overlay .m-block__suggested-pages.m-suggested-pages a:focus {
  outline: 1px dashed var(--c-black);
}
@media (max-width: 767px) {
  .m-search-overlay .m-block__suggested-pages.m-suggested-pages a {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-search-overlay .m-block__suggested-pages.m-suggested-pages a:hover, .m-search-overlay .m-block__suggested-pages.m-suggested-pages a:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.m-search-overlay .m-block__suggested-pages.m-suggested-pages a:focus {
  outline: 1px dashed var(--c-black);
}
.m-search-overlay .m-block__suggested-pages.m-suggested-pages a:hover, .m-search-overlay .m-block__suggested-pages.m-suggested-pages a:active {
  background: #fff;
  color: var(--c-pompeii);
}
.m-search-overlay .m-block__suggested-pages.m-suggested-pages a:focus {
  outline: 1px dashed var(--c-black);
  color: #fff;
}
@media (max-width: 767px) {
  .m-search-overlay .m-block__suggested-pages.m-suggested-pages a {
    width: auto;
  }
}
.m-search-overlay form {
  display: flex;
  gap: 8px;
}
.m-search-overlay form .js-form-item {
  margin: 0;
  width: 100%;
}
.m-search-overlay form .js-form-item input {
  width: 100%;
}
.m-search-overlay form .a-btn.js-form-submit {
  position: relative;
  display: flex;
  align-items: center;
  gap: 5px;
  height: 100%;
  background-color: var(--c-primary);
  color: var(--c-white);
  font-size: 18px;
  line-height: 28px;
}
@media (max-width: 767px) {
  [data-searchoverlay=open] .m-search-overlay form .a-btn.js-form-submit {
    text-align: left;
    text-indent: -9999px;
  }
}
.m-search-overlay form .a-btn.js-form-submit:hover {
  background-color: var(--c-white);
  color: var(--c-pompeii);
}
.m-search-overlay form .a-btn.js-form-submit:hover:after {
  background-image: url("../img/search.svg");
  filter: invert(30%) grayscale(100%) brightness(70%) contrast(4);
}
.m-search-overlay form .a-btn.js-form-submit:after {
  content: "";
  background-image: url("../img/search.svg");
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 32px;
  width: 32px;
}
@media (max-width: 767px) {
  .m-search-overlay form .a-btn.js-form-submit:after {
    height: 21px;
    width: 21px;
  }
}
.m-search-overlay .m-search-copy {
  width: 50%;
}
@media (max-width: 767px) {
  .m-search-overlay .m-search-copy {
    width: 100%;
  }
}
.m-search-overlay__wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: var(--c-pompeii);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  z-index: -10;
  opacity: 0;
  visibility: hidden;
}
@media (max-width: 767px) {
  .m-search-overlay__wrapper {
    overflow-y: scroll;
  }
}
[data-searchoverlay=open] .m-search-overlay__wrapper {
  z-index: 1;
  opacity: 1;
  visibility: visible;
}
.m-search-overlay__wrapper > .grid {
  margin: 0;
}
.m-search-overlay__title {
  color: var(--c-white);
  font-family: var(--font-body);
  font-weight: normal;
}
.m-search-overlay__suggested-pages {
  font-size: 18px;
  line-height: 25px;
  color: var(--c-white);
  margin: 0 0 var(--bump);
}
.m-search-overlay__suggested-pages__links {
  display: flex;
  flex-flow: row wrap;
  -moz-column-gap: 8px;
       column-gap: 8px;
  row-gap: 12px;
}
.m-search-overlay__suggested-pages__links a {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  color: var(--c-white);
  background: var(--c-pompeii);
  border: 1px solid var(--c-white);
}
@media (max-width: 767px) {
  .m-search-overlay__suggested-pages__links a {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.m-search-overlay__suggested-pages__links a:hover, .m-search-overlay__suggested-pages__links a:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.m-search-overlay__suggested-pages__links a:focus {
  outline: 1px dashed var(--c-black);
}
.m-search-overlay__suggested-pages__links a:hover {
  background-color: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}

#sliding-popup.sliding-popup-bottom {
  background-color: var(--c-black);
  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 h2 {
  line-height: 1.2;
  font-size: clamp(18px, 7vw, var(--fontSizeHeadingFour));
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-message p {
  display: inline;
  color: var(--c-darkGrey);
}
#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: var(--c-darkGrey);
  font-family: var(--fontRegular);
  font-size: var(--fontSize);
  line-height: var(--lineHeight);
  font-size: 12px;
  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: var(--containerWidth);
}
@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-buttons {
  max-width: 35%;
  transform: translateX(-10%);
  display: flex;
  align-items: flex-end;
  gap: calc(var(--bump) / 2);
}
@media (max-width: 1199px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-buttons {
    max-width: 40%;
  }
}
@media (max-width: 991px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-buttons {
    max-width: 50%;
  }
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-buttons {
    max-width: 100%;
    width: 100%;
    transform: none;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  border: 1px solid var(--c-white);
  background-color: var(--c-black);
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:hover, #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-secondary-button:focus {
  outline: 1px dashed var(--c-black);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button {
  position: relative;
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  text-shadow: none;
  box-shadow: none;
  border-radius: 0;
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button:hover, #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button:focus {
  outline: 1px dashed var(--c-black);
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button:hover {
  background-color: transparent;
  text-decoration: none;
}
@media (max-width: 767px) {
  #sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button {
    max-width: 100%;
    margin: 30px 0 0 0;
  }
}
#sliding-popup.sliding-popup-bottom > .eu-cookie-compliance-banner .eu-cookie-compliance-default-button:after {
  position: absolute;
  right: 0;
  background-position: right;
  transform: translateX(100%);
}

/**
 * Organisims
 */
.o-node--background {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  opacity: 0.4;
  background: linear-gradient(0deg, rgba(248, 248, 248, 0) 0%, #f8f8f8 100%);
  z-index: -2;
}
.o-node--background:before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  top: 0;
  transform: translateY(-100%);
  box-shadow: inset 0px 200px 25px -150px var(--c-white);
  width: 100%;
  padding-bottom: 62.5%;
  z-index: 1;
}
.o-node--background:after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: url("../img/menu-background-2x.png");
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 62.5%;
  opacity: 0.5;
}
.o-node.o-medal-landing .m-entity {
  margin: 40px 0;
}
.o-node.o-medal-landing .m-entity h2 {
  letter-spacing: normal;
  word-spacing: normal;
}
.o-node.o-medal-landing .m-banner-default {
  margin-bottom: 40px;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Header
 * ----------------------
 */
.o-header {
  position: relative;
  width: 100%;
  z-index: 5;
  transition: all 0.3s var(--easing);
  background-color: var(--c-pompeii);
  color: var(--c-white);
}
.o-header__logo {
  position: relative;
  display: flex;
  align-items: center;
  margin-right: auto;
  flex-shrink: 1;
  padding-right: calc(var(--bump) / 2);
  margin-bottom: 0;
  min-height: 44px;
  transition: 0.15s var(--easing);
}
.o-header__logo:hover {
  opacity: 0.75;
}
[data-nav=open] .o-header__logo {
  z-index: 2;
}
.o-header__logo svg {
  width: 100%;
  max-width: 151px;
  min-width: 100px;
  height: 58px;
}
[data-nav=open] .o-header__logo svg path {
  fill: var(--c-white);
}
[data-nav=open] .o-header__logo svg path:nth-of-type(1), [data-nav=open] .o-header__logo svg path:nth-of-type(2) {
  display: none;
}
.o-header__logo svg path:nth-of-type(1), .o-header__logo svg path:nth-of-type(2) {
  display: none;
}
.o-header__inner {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  align-content: center;
}
@media (max-width: 767px) {
  .o-header__inner {
    padding: 0;
  }
}
.o-header__book a {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  background: var(--c-pompeii);
  color: #fff;
  text-transform: uppercase;
  white-space: nowrap;
}
@media (max-width: 767px) {
  .o-header__book a {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.o-header__book a:hover, .o-header__book a:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.o-header__book a:focus {
  outline: 1px dashed var(--c-black);
}
.o-header__book a:hover, .o-header__book a:active {
  background: #fff;
  color: var(--c-pompeii);
}
.o-header__book a:focus {
  outline: 1px dashed var(--c-black);
  color: #fff;
}
@media (max-width: 767px) {
  .o-header__book {
    display: none;
  }
}
.o-header__search-wrapper {
  text-decoration: none;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Footer
 * ----------------------
 */
.o-footer {
  color: var(--c-white);
  background-color: var(--c-pompeii);
  padding: 0 0 calc(var(--bump) / 3) 0;
}
.o-footer a {
  color: var(--c-white);
}
.o-footer p {
  font-size: 18px;
  line-height: 30px;
}
.o-footer__section-title {
  color: var(--c-white);
  font-size: 20px;
  line-height: 28px;
  margin: 0 0 calc(var(--bump) / 6);
}
@media (max-width: 991px) {
  .o-footer__find-us, .o-footer__stay-in-touch, .o-footer__social {
    width: 100%;
    max-width: 344px;
  }
}
.o-footer__stay-in-touch ul li {
  list-style: none;
}
.o-footer__stay-in-touch ul li a {
  text-decoration: none;
}
.o-footer__row__top h1,
.o-footer__row__top .h1,
.o-footer__row__top h2,
.o-footer__row__top .h2,
.o-footer__row__top h3,
.o-footer__row__top .h3,
.o-footer__row__top h4,
.o-footer__row__top .h4,
.o-footer__row__top h5,
.o-footer__row__top .h5,
.o-footer__row__top h6,
.o-footer__row__top .h6 {
  color: var(--c-white);
  font-size: clamp(18px, 2.5vw, 20px);
  line-height: 28px;
  margin: 0 0 calc(var(--bump) / 3);
}
.o-footer__row__top p {
  font-family: var(--font-body);
  font-size: clamp(18px, 2.5vw, 18px);
  line-height: clamp(28px, 5vw, 32px);
  margin: 0 0 calc(var(--bump) / 3);
}
.o-footer__row__top ul {
  margin: 0;
}
.o-footer__row__top ul li {
  list-style-type: none;
}
.o-footer__row__top a {
  font-family: var(--font-body);
  line-height: 32px;
  text-decoration: none;
}
.o-footer__row__top a:hover {
  text-decoration: underline;
}
.o-footer__row__top nav {
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
.o-footer__row__pre-footer {
  padding: calc(var(--bump) / 2);
  background-color: var(--c-black);
  margin: 0 0 calc(var(--bump) * 1.5);
  padding: var(--bump) 0 var(--bump);
}
@media (max-width: 767px) {
  .o-footer__row__pre-footer {
    padding: 0 0 var(--bump);
    margin: 0 0 calc(var(--bump) / 2);
  }
}
.o-footer__row__pre-footer > .grid {
  display: flex;
  flex-direction: row;
}
@media (max-width: 991px) {
  .o-footer__row__pre-footer > .grid {
    flex-direction: column;
    align-items: center;
  }
}
.o-footer__row__pre-footer > .grid > [class*=col-] {
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
}
@media (max-width: 991px) {
  .o-footer__row__pre-footer > .grid > [class*=col-] {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.o-footer__menu ul {
  display: flex;
  flex-wrap: wrap;
}
@media (max-width: 991px) {
  .o-footer__menu ul {
    flex-direction: column;
  }
}
.o-footer__menu ul li {
  padding: 0 50px 0 0;
}
@media (max-width: 991px) {
  .o-footer__menu ul li {
    margin: 20px 0 0;
    padding: 0;
  }
  .o-footer__menu ul li:first-of-type {
    margin: 0;
  }
}
.o-footer__menu ul li > a {
  font-family: var(--font-bold);
  font-size: 18px;
  line-height: 22px;
  font-weight: bold;
  text-decoration: none;
  text-transform: uppercase;
}
.o-footer__menu ul li > a:hover {
  text-decoration: underline;
}
.o-footer__social {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: var(--bump);
}
@media (max-width: 991px) {
  .o-footer__social {
    align-items: center;
  }
}
.o-footer__social__back-to-top {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  transition: 0.3s var(--easing);
  white-space: nowrap;
  display: inline-flex;
  justify-content: center;
  gap: calc(var(--bump) / 3);
  align-items: center;
  background-color: transparent;
  border: 1px solid var(--c-white);
  color: var(--c-white);
}
@media (max-width: 767px) {
  .o-footer__social__back-to-top {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.o-footer__social__back-to-top:hover, .o-footer__social__back-to-top:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.o-footer__social__back-to-top:focus {
  outline: 1px dashed var(--c-black);
}
.o-footer__social__back-to-top::after {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  content: "";
  margin-left: 5px;
  background-image: url("../img/arrow-up-white.svg");
  background-repeat: no-repeat;
  height: 14px;
  width: 10px;
  background-position: center;
  transition: 0.3s var(--easing);
}
.o-footer__social__back-to-top:hover {
  background-color: var(--c-white);
  color: var(--c-black);
}
.o-footer__social__back-to-top:hover::after {
  content: "";
  animation: shakeVertical 0.82s cubic-bezier(0.36, 0.07, 0.19, 0.97) both;
  transform: translate3d(0, 0, 0);
  backface-visibility: hidden;
  perspective: 1000px;
}
.o-footer__social__back-to-top:hover:after {
  background-image: url("../img/arrow-up-black.svg");
}
.o-footer__social .m-footer---social-links {
  width: 100%;
}
.o-footer__credits {
  display: flex;
  justify-content: flex-end;
}
.o-footer__credits span {
  font-family: var(--font-body);
}
.o-footer__credits span a {
  color: rgba(255, 255, 255, 0.7);
}
.o-footer__separator {
  width: 100%;
  height: 1px;
  background-color: var(--c-bg);
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Views
 * ----------------------
 */
.o-view__listing {
  display: grid;
  gap: calc(var(--bump) / 2);
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 767px) {
  .o-view__listing {
    grid-template-columns: repeat(1, 1fr);
  }
}
.o-view__listing .views-row article {
  height: 100%;
}
.o-view__listing .views-row article .o-teaser {
  width: 100%;
  padding-left: 0;
  padding-right: 0;
}

.view__what_s_on form,
.view__video form,
.view__article form,
.view__what_s_on_archive form {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  flex-direction: column;
  width: 100%;
}
.view__what_s_on form .form-select ul,
.view__video form .form-select ul,
.view__article form .form-select ul,
.view__what_s_on_archive form .form-select ul {
  display: flex;
  flex-flow: row wrap;
  gap: calc(var(--baseUnit) * 1.5);
  margin: 0;
}
.view__what_s_on form .form-select ul li,
.view__video form .form-select ul li,
.view__article form .form-select ul li,
.view__what_s_on_archive form .form-select ul li {
  list-style: none;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a,
.view__video form .js-form-item-type .form-select ul li > a,
.view__article form .js-form-item-type .form-select ul li > a,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  background-color: var(--c-white);
  color: var(--c-pompeii);
  border-width: 1px;
  border-style: solid;
}
@media (max-width: 767px) {
  .view__what_s_on form .js-form-item-type .form-select ul li > a,
  .view__video form .js-form-item-type .form-select ul li > a,
  .view__article form .js-form-item-type .form-select ul li > a,
  .view__what_s_on_archive form .js-form-item-type .form-select ul li > a {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.view__what_s_on form .js-form-item-type .form-select ul li > a:hover, .view__what_s_on form .js-form-item-type .form-select ul li > a:active,
.view__video form .js-form-item-type .form-select ul li > a:hover,
.view__video form .js-form-item-type .form-select ul li > a:active,
.view__article form .js-form-item-type .form-select ul li > a:hover,
.view__article form .js-form-item-type .form-select ul li > a:active,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a:focus,
.view__video form .js-form-item-type .form-select ul li > a:focus,
.view__article form .js-form-item-type .form-select ul li > a:focus,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a:focus {
  outline: 1px dashed var(--c-black);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected {
  background-color: var(--c-pompeii);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[All]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[8]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[8]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[8]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[8]"] {
  border-color: var(--c-exhibition);
  color: var(--c-exhibition);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[8]"]:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[8]"]:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[8]"]:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[8]"]:hover {
  color: var(--c-exhibition) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected {
  background-color: var(--c-exhibition);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[8]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[9]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[9]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[9]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[9]"] {
  border-color: var(--c-talks);
  color: var(--c-talks);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[9]"]:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[9]"]:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[9]"]:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[9]"]:hover {
  color: var(--c-talks) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected {
  background-color: var(--c-talks);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[9]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[10]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[10]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[10]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[10]"] {
  border-color: var(--c-tours);
  color: var(--c-tours);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[10]"]:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[10]"]:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[10]"]:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[10]"]:hover {
  color: var(--c-tours) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected {
  background-color: var(--c-tours);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[10]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[13]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[13]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[13]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[13]"] {
  border-color: var(--c-families);
  color: var(--c-families);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[13]"]:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[13]"]:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[13]"]:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[13]"]:hover {
  color: var(--c-families) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected {
  background-color: var(--c-families);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[13]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[11]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[11]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[11]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[11]"] {
  border-color: var(--c-workshops);
  color: var(--c-workshops);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[11]"]:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[11]"]:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[11]"]:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[11]"]:hover {
  color: var(--c-workshops) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected {
  background-color: var(--c-workshops);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[11]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[14]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[14]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[14]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[14]"] {
  border-color: var(--c-offsite-touring);
  color: var(--c-offsite-touring);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[14]"]:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[14]"]:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[14]"]:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[14]"]:hover {
  color: var(--c-offsite-touring) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected {
  background-color: var(--c-offsite-touring);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[14]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[12]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[12]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[12]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[12]"] {
  border-color: var(--c-soane-lates);
  color: var(--c-soane-lates);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[12]"]:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[12]"]:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[12]"]:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[12]"]:hover {
  color: var(--c-soane-lates) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected {
  background-color: var(--c-soane-lates);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[12]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[282]"],
.view__video form .js-form-item-type .form-select ul li > a[name*="type[282]"],
.view__article form .js-form-item-type .form-select ul li > a[name*="type[282]"],
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[282]"] {
  border-color: var(--c-course);
  color: var(--c-course);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected {
  background-color: var(--c-course);
  color: var(--c-white);
}
.view__what_s_on form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected:hover,
.view__video form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected:hover,
.view__article form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected:hover,
.view__what_s_on_archive form .js-form-item-type .form-select ul li > a[name*="type[282]"].bef-link--selected:hover {
  color: var(--c-white) !important;
}
.view__what_s_on form .js-form-item-run-date .form-select ul,
.view__video form .js-form-item-run-date .form-select ul,
.view__article form .js-form-item-run-date .form-select ul,
.view__what_s_on_archive form .js-form-item-run-date .form-select ul {
  -moz-column-gap: calc(var(--baseUnit) * 6);
       column-gap: calc(var(--baseUnit) * 6);
  padding-right: calc(var(--baseUnit) * -3);
}
.view__what_s_on form .js-form-item-run-date .form-select li,
.view__video form .js-form-item-run-date .form-select li,
.view__article form .js-form-item-run-date .form-select li,
.view__what_s_on_archive form .js-form-item-run-date .form-select li {
  position: relative;
}
.view__what_s_on form .js-form-item-run-date .form-select li:first-child,
.view__video form .js-form-item-run-date .form-select li:first-child,
.view__article form .js-form-item-run-date .form-select li:first-child,
.view__what_s_on_archive form .js-form-item-run-date .form-select li:first-child {
  padding-left: 24px;
  border-left: 1px solid #D8D8D8;
  height: calc(var(--baseUnit) * 3);
}
.view__what_s_on form .js-form-item-run-date .form-select li:after,
.view__video form .js-form-item-run-date .form-select li:after,
.view__article form .js-form-item-run-date .form-select li:after,
.view__what_s_on_archive form .js-form-item-run-date .form-select li:after {
  content: "";
  background-color: #D8D8D8;
  position: absolute;
  right: calc(var(--baseUnit) * -3);
  height: calc(var(--baseUnit) * 3);
  width: 1px;
}
.view__what_s_on form .js-form-item-run-date .form-select li > a,
.view__video form .js-form-item-run-date .form-select li > a,
.view__article form .js-form-item-run-date .form-select li > a,
.view__what_s_on_archive form .js-form-item-run-date .form-select li > a {
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 28px;
  color: var(--c-pompeii);
  color: var(--c-primary);
  text-decoration: none;
  letter-spacing: 0;
  text-transform: none;
}
.view__what_s_on form .js-form-item-run-date .form-select li > a:hover,
.view__video form .js-form-item-run-date .form-select li > a:hover,
.view__article form .js-form-item-run-date .form-select li > a:hover,
.view__what_s_on_archive form .js-form-item-run-date .form-select li > a:hover {
  color: var(--c-pompeii);
}
.view__what_s_on form .js-form-item-run-date .form-select li > a.bef-link--selected,
.view__video form .js-form-item-run-date .form-select li > a.bef-link--selected,
.view__article form .js-form-item-run-date .form-select li > a.bef-link--selected,
.view__what_s_on_archive form .js-form-item-run-date .form-select li > a.bef-link--selected {
  color: var(--c-pompeii);
  font-family: var(--font-bold);
  text-decoration: underline;
}
.view__what_s_on .form-actions,
.view__video .form-actions,
.view__article .form-actions,
.view__what_s_on_archive .form-actions {
  display: none;
}
.view__what_s_on .js-form-item-for ul li > a,
.view__video .js-form-item-for ul li > a,
.view__article .js-form-item-for ul li > a,
.view__what_s_on_archive .js-form-item-for ul li > a {
  font-family: var(--font-title);
  font-weight: bold;
  padding: 8px 20px;
  color: var(--c-white);
  background: var(--c-pompeii);
  display: inline-block;
  text-decoration: none;
  text-transform: uppercase;
  border: 1px solid var(--c-pompeii);
  font-size: 16px;
  line-height: 25px;
  border-width: 1px;
  border-style: solid;
  background-color: var(--c-white);
  color: var(--c-pompeii);
}
@media (max-width: 767px) {
  .view__what_s_on .js-form-item-for ul li > a,
  .view__video .js-form-item-for ul li > a,
  .view__article .js-form-item-for ul li > a,
  .view__what_s_on_archive .js-form-item-for ul li > a {
    text-align: center;
    -moz-text-align-last: center;
         text-align-last: center;
  }
}
.view__what_s_on .js-form-item-for ul li > a:hover, .view__what_s_on .js-form-item-for ul li > a:active,
.view__video .js-form-item-for ul li > a:hover,
.view__video .js-form-item-for ul li > a:active,
.view__article .js-form-item-for ul li > a:hover,
.view__article .js-form-item-for ul li > a:active,
.view__what_s_on_archive .js-form-item-for ul li > a:hover,
.view__what_s_on_archive .js-form-item-for ul li > a:active {
  background: var(--c-white);
  color: var(--c-pompeii);
  border: 1px solid var(--c-pompeii);
}
.view__what_s_on .js-form-item-for ul li > a:focus,
.view__video .js-form-item-for ul li > a:focus,
.view__article .js-form-item-for ul li > a:focus,
.view__what_s_on_archive .js-form-item-for ul li > a:focus {
  outline: 1px dashed var(--c-black);
}
.view__what_s_on .js-form-item-for ul li > a.bef-link--selected,
.view__video .js-form-item-for ul li > a.bef-link--selected,
.view__article .js-form-item-for ul li > a.bef-link--selected,
.view__what_s_on_archive .js-form-item-for ul li > a.bef-link--selected {
  background-color: var(--c-pompeii);
  color: var(--c-white);
}
.view__what_s_on .js-form-item-for ul li > a.bef-link--selected:hover,
.view__video .js-form-item-for ul li > a.bef-link--selected:hover,
.view__article .js-form-item-for ul li > a.bef-link--selected:hover,
.view__what_s_on_archive .js-form-item-for ul li > a.bef-link--selected:hover {
  color: var(--c-white) !important;
}

header .m-entity__view {
  display: flex;
  gap: calc(var(--baseUnit) * 5);
  flex-flow: row wrap;
  margin: 0 0 var(--bump);
}
header .m-entity__view .views-field-field-run-date {
  position: relative;
}
header .m-entity__view .views-field-field-run-date:after {
  content: "";
  background-color: #D8D8D8;
  width: 1px;
  height: 100%;
  position: absolute;
  top: 0;
  right: calc(var(--bump) / -2);
}

.view__what_s_on__filters {
  display: flex;
  flex-flow: row wrap;
  width: 100%;
  -moz-column-gap: calc(var(--baseUnit) * 6);
       column-gap: calc(var(--baseUnit) * 6);
}
.view__what_s_on__archive-link {
  display: block;
  position: relative;
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 28px;
  color: var(--c-pompeii);
  color: var(--c-primary);
  text-decoration: none;
  letter-spacing: 0;
  text-transform: none;
}
.view__what_s_on__archive-link:hover {
  color: var(--c-pompeii);
}
.view__what_s_on__archive-link:after {
  content: "";
  background-color: #D8D8D8;
  position: absolute;
  right: calc(var(--baseUnit) * -3);
  height: calc(var(--baseUnit) * 3);
  width: 1px;
}

.view__what_s_on_archive__filters {
  display: flex;
  -moz-column-gap: calc(var(--baseUnit) * 5);
       column-gap: calc(var(--baseUnit) * 5);
  align-items: flex-start;
}
.view__what_s_on_archive__whats-on-link {
  display: block;
  position: relative;
  font-family: var(--font-bold);
  font-size: 18px;
  line-height: 28px;
  color: var(--c-pompeii);
  text-decoration: underline;
  letter-spacing: 0;
  text-transform: none;
}
.view__what_s_on_archive__whats-on-link:hover {
  color: var(--c-pompeii);
}

.view__site_search header h1 {
  font-size: clamp(28px, 2.5vw, 34px);
  line-height: clamp(38px, 5vw, 44px);
  font-family: var(--font-body);
}
.view__site_search form {
  display: none;
}
.view__site_search .views-row {
  border-bottom: 1px solid #1f1d1e;
  padding-bottom: 30px;
  margin-bottom: 30px;
}
.view__site_search .views-row h2.h4 {
  font-family: var(--font-body);
}
.view__site_search .views-row h2.h4 a {
  text-decoration: none;
}
.view__site_search .views-row h2.h4 a:hover {
  text-decoration: underline;
}

.view__what_s_on_archive__filters {
  display: flex;
  -moz-column-gap: calc(var(--baseUnit) * 5);
       column-gap: calc(var(--baseUnit) * 5);
  justify-content: flex-end;
  align-items: flex-start;
  margin-bottom: calc(var(--bump) / 2);
}
@media (max-width: 767px) {
  .view__what_s_on_archive__filters {
    flex-direction: column;
    justify-content: flex-start;
    row-gap: calc(var(--baseUnit) * 1.25);
  }
}

.archive-filters__years a {
  display: none;
}
.archive-filters__years select {
  padding: 0;
  width: 200px;
  color: var(--c-pompeii);
  font-family: var(--font-regular);
}
.archive-filters__years select option {
  color: var(--c-primary);
}

/**
 * ----------------------
 * 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: calc(var(--bump) * 2);
}
.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 {
  margin-bottom: var(--bump);
}

/**
 * ----------------------
 * Un.titled
 * Organisms - sidebar
 * ----------------------
 */
.o-sidebar {
  padding: var(--bump) 20px calc(var(--bump) * 1.5);
}
.o-sidebar__info-box {
  background-color: var(--c-b_red);
  color: var(--c-white);
}
.o-sidebar__info-box a {
  color: var(--c-white);
  font-family: var(--font-body);
  font-weight: normal;
  text-decoration: underline;
}
.o-sidebar__info-box a:hover {
  text-decoration: none;
}
.o-sidebar__info-box h2 {
  color: var(--c-white);
}
.o-sidebar__info-box h2:last-of-type {
  margin: 0;
}
.o-sidebar__info-box p:last-of-type {
  margin: 1.5em 0;
}
.o-sidebar__info-box .taxonomy-term h2 {
  font-size: clamp(18px, 2.5vw, 18px);
  line-height: clamp(27px, 5vw, 27px);
}
.o-sidebar__info-box .taxonomy-term h2 a {
  color: var(--c-white);
  font-family: var(--font-body);
  font-weight: normal;
  text-decoration: underline;
}
.o-sidebar__info-box .taxonomy-term h2 a:hover {
  text-decoration: none;
}
.o-sidebar__title {
  color: var(--c-white);
}
.o-sidebar__booking-link {
  width: 100%;
  text-align: center;
  -moz-text-align-last: center;
       text-align-last: center;
  margin: calc(var(--bump) / 2) 0 0;
  padding: 8px 15px;
  transition: 0.3s var(--easing);
  text-decoration: none;
  text-transform: none;
}
.o-sidebar__booking-link:hover {
  color: var(--c-pompeii) !important;
  background-color: var(--c-white);
}
.o-sidebar__booking-link[href^=http]:hover {
  color: var(--c-pompeii);
  background-color: transparent;
}
.o-sidebar__booking-link[href^=http]:hover:after {
  background: url("../img/ext-alt-red.png") 50% no-repeat;
  transition: 0.3s var(--easing);
}
.o-sidebar__booking-link[href^=http]:after {
  content: " ";
  display: inline-block;
  height: 15px;
  width: 15px;
  background: url("../img/ext-alt-white.png") 50% no-repeat;
  background-size: cover;
  margin-left: 5px;
}
.o-sidebar__booking-link--external[href^=http]:after {
  background: url("../img/ext-alt-red.png") 50% no-repeat;
}
.o-sidebar__booking-link--external:hover {
  text-decoration: underline;
}
.o-sidebar__tickets-link {
  color: var(--c-pompeii);
}
.o-sidebar__tickets-link:hover {
  color: var(--c-pompeii);
}
.o-sidebar__tickets-link[href^=http]:after {
  content: " ";
  display: inline-block;
  height: 15px;
  width: 15px;
  background: url("../img/ext-alt-red.png") 50% no-repeat;
  background-size: cover;
  margin-left: 5px;
}
.o-sidebar__subnav {
  background-color: var(--c-grey);
  color: var(--c-primary);
}
.o-sidebar__subnav h3 {
  margin: 0;
}
.o-sidebar__subnav h3 a {
  color: var(--c-primary);
  text-decoration: none;
  font-family: var(--font-bold);
}
.o-sidebar__subnav h3:after {
  content: "";
  display: block;
  height: 2px;
  width: 60px;
  background-color: var(--c-primary);
  margin: calc(var(--bump) / 2) 0;
}
.o-sidebar__subnav__menu ul li a {
  color: var(--c-primary);
  text-decoration: none;
}
.o-sidebar__subnav__menu ul li a:hover {
  text-decoration: underline;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Teasers
 * ----------------------
 */
.o-teaser {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  height: 100%;
}
.o-teaser__thumb {
  display: block;
  width: 100%;
  position: relative;
}
.o-teaser__thumb .a-image-credit {
  left: calc(var(--bump) / 1.5);
}
.o-teaser__thumb img {
  width: 100%;
  height: auto;
  display: block;
  transition: var(--transition);
}
.o-teaser__thumb:hover img {
  opacity: 0.6;
}
.o-teaser__date p, .o-teaser__price p {
  margin: 0;
}
.o-teaser__date p:last-of-type, .o-teaser__price p:last-of-type {
  margin: 0;
}
.o-teaser__date:last-of-type, .o-teaser__price:last-of-type {
  margin: 0 0 calc(var(--bump) / 2);
}
.o-teaser__content {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 24px calc(var(--bump) / 2);
  margin: 0 auto;
  background-color: var(--c-grey);
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .o-teaser__content {
    margin: 0;
  }
}
.o-teaser__content > p:last-of-type {
  margin-bottom: var(--bump);
}
@media (max-width: 767px) {
  .o-teaser__content > p:last-of-type {
    margin-bottom: calc(var(--bump) / 2);
  }
}
.o-teaser__title {
  position: relative;
  text-align: left;
  -moz-text-align-last: left;
       text-align-last: left;
  font-weight: normal;
  margin: 0 0 var(--bump);
  font-size: clamp(22px, 2.5vw, 22px);
  line-height: clamp(32px, 5vw, 32px);
}
.o-teaser__title--listing:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  transform: translateY(12px);
  height: 1px;
  width: 32px;
  background-color: var(--c-black);
}
.o-teaser__title a {
  font-family: var(--font-bold);
  text-decoration: none;
}
@media (max-width: 767px) {
  .o-teaser__title {
    text-align: left;
    -moz-text-align-last: left;
         text-align-last: left;
  }
}
.o-teaser__buttons {
  margin-top: auto;
  display: flex;
  flex-flow: row wrap;
  align-self: flex-start;
  gap: calc(var(--baseUnit) * 1.5);
}
@media (max-width: 767px) {
  .o-teaser__buttons {
    width: 100%;
  }
}
.o-teaser__event-type {
  position: absolute;
  bottom: 0;
  left: 0;
  color: var(--c-white);
  width: 100%;
  font-family: var(--font-bold);
  padding: calc(var(--bump) / 3) calc(var(--bump) / 2);
  background-color: var(--c-white);
}
.o-teaser__event-type.exhibitions {
  background-color: var(--c-exhibition);
}
.o-teaser__event-type.talks {
  background-color: var(--c-talks);
}
.o-teaser__event-type.tours {
  background-color: var(--c-tours);
}
.o-teaser__event-type.evening-opening {
  background-color: var(--c-evening);
}
.o-teaser__event-type.families {
  background-color: var(--c-families);
}
.o-teaser__event-type.workshops {
  background-color: var(--c-workshops);
}
.o-teaser__event-type.courses-and-classes {
  background-color: var(--c-course);
}
.o-teaser__event-type.offsite-touring {
  background-color: var(--c-offsite-touring);
}
.o-teaser__event-type.soane-lates {
  background-color: var(--c-soane-lates);
}

/**
 * Templates
 */
@media (max-width: 767px) {
  .m-collection-image img {
    width: 100%;
  }
}

/*---------------------------------- 
   collections overlay import
  ----------------------------------*/
.collection-overlay {
  overflow: scroll;
  display: none;
  position: fixed;
  height: 100%;
  width: 100%;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  z-index: 500;
  text-align: center;
  cursor: pointer;
  padding-top: 8%;
}
.collection-overlay .insert:not(.search-overlay) {
  cursor: default;
  display: block;
  background: #fff;
  padding: 2em;
  width: 100%;
  max-width: 800px;
  border-radius: 3px;
  margin-bottom: 2em;
  text-align: left;
  position: relative;
}
.collection-overlay .insert:not(.search-overlay) h3,
.collection-overlay .insert:not(.search-overlay) .h3 {
  margin-top: 0;
}
.collection-overlay .insert:not(.search-overlay) ul.book-links li {
  display: block;
  padding: 0.5em 0;
  border-bottom: 1px solid var(--c-pompeii);
  text-align: right;
}
.collection-overlay .insert:not(.search-overlay) ul.book-links li .date {
  float: left;
  padding: 0.5em 0;
}
.collection-overlay .insert:not(.search-overlay) ul.book-links li:last-child {
  border-bottom: 0;
}
.collection-overlay .insert:not(.search-overlay) .close {
  display: block;
  position: absolute;
  top: 1.5em;
  right: 1.5em;
  height: 40px;
  width: 40px;
  cursor: pointer;
  text-align: left;
  text-indent: -9999px;
}
.collection-overlay .insert:not(.search-overlay) .close:after {
  text-indent: 0;
  font-family: var(--font-oslo);
  content: "+";
  transform: rotate(45deg);
  color: var(--c-pompeii);
  height: 40px;
  width: 40px;
  display: block;
  float: right;
  text-align: center;
  line-height: 40px;
  transition: all 0.2s ease-in-out;
  font-size: 60px;
}
.collection-overlay .insert:not(.search-overlay) .close:hover:after {
  transform: rotate(-45deg);
  color: var(--c-text);
  line-height: 40px;
}

.collection-overlay .insert.collection-image {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  max-width: 100%;
  margin-bottom: 0;
  border-radius: 0;
  overflow: scroll;
}
.collection-overlay .insert.collection-image .image {
  width: 50%;
  height: 100%;
  float: left;
  margin-right: 2em;
  text-align: center;
  position: relative;
}
@media (max-width: 767px) {
  .collection-overlay .insert.collection-image .image {
    width: 100%;
    height: auto;
    margin: 0 auto;
  }
}
.collection-overlay .insert.collection-image .image img {
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
  vertical-align: middle;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
@media (max-width: 767px) {
  .collection-overlay .insert.collection-image .image img {
    margin: unset;
    position: unset;
  }
}
.collection-overlay .insert.collection-image .image-container {
  display: flex;
  height: 100%;
}
@media (max-width: 767px) {
  .collection-overlay .insert.collection-image .image-container {
    flex-flow: column;
  }
}
.collection-overlay .insert.collection-image .content {
  float: left;
  width: 40%;
  margin: auto;
}
@media (max-width: 767px) {
  .collection-overlay .insert.collection-image .content {
    width: 100%;
    margin: 0 auto;
  }
}
.collection-overlay .insert.collection-image .nav {
  outline: 0;
  font-size: 0;
  color: #fff;
  border: 0;
  cursor: pointer;
  position: absolute;
  right: 1%;
  top: 45%;
  background-color: #fff;
  border-radius: 50%;
  width: 80px;
  height: 80px;
  transform: rotate(-90deg) scale(0.8);
}
.collection-overlay .insert.collection-image .nav:after, .collection-overlay .insert.collection-image .nav:before {
  content: "";
  position: absolute;
  left: 10px;
  width: 0;
  height: 0;
  border: 30px solid transparent;
  border-bottom: 0;
}
.collection-overlay .insert.collection-image .nav:before {
  top: 30px;
  border-top-color: var(--c-pompeii);
  top: 31px;
}
.collection-overlay .insert.collection-image .nav:after {
  top: 30px;
  border-top-color: #fff;
}
.collection-overlay .insert.collection-image .nav.prev-image {
  left: 1%;
  transform: rotate(90deg) scale(0.8);
}
.collection-overlay .insert.collection-image .nav:hover {
  opacity: 0.6;
}

.modal-open-wrapper {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  z-index: 1;
}
@media screen and (max-width: 767px) {
  .modal-open-wrapper {
    display: none;
    visibility: hidden;
  }
}

.modal-open-mobile {
  display: none;
  visibility: hidden;
}
@media screen and (max-width: 767px) {
  .modal-open-mobile {
    display: block;
    visibility: visible;
  }
}

.modal-open:not(body) {
  background-image: url("../images/icon-play.svg");
  background-position: 20px center;
  background-size: 30px;
  background-color: #000;
  color: var(--c-white);
  border: 0;
  text-transform: uppercase;
  font-size: 1.75em;
  padding: 15px 20px 15px 20px;
  border-radius: 2px;
  cursor: pointer;
  transition: 0.2s ease-in-out;
  margin-top: -5em;
}
@media screen and (max-width: 767px) {
  .modal-open:not(body) {
    background-size: 20px;
    margin-top: 1em;
    display: block;
    width: 100%;
  }
}
.modal-open:not(body):hover {
  background-color: var(--c-pompeii);
}

.video-modal {
  position: fixed;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  z-index: 11;
  background-color: #000;
  padding-top: 150px;
  display: none;
}
.video-modal.active {
  display: block;
}
.video-modal button {
  position: absolute;
  transform: translateY(-100%);
  top: 0;
  right: 0;
  background-color: transparent;
  text-align: left;
  text-indent: -9999px;
  border: 0;
  background-image: url("../img/close.svg");
  background-size: cover;
  display: block;
  height: 40px;
  width: 40px;
  cursor: pointer;
  border-radius: 2px;
  transition: 0.2s ease-in-out;
}
.video-modal button:hover {
  background-color: var(--c-pompeii);
}
.video-modal > .grid {
  margin: auto;
}
.video-modal .file {
  padding-top: 4em;
}
.video-modal iframe {
  width: 100%;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,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USxpQkRGSztFSHFsQlg7QUFDRjs7QUk1a0JBO0VDMFhJLDhCRHpYb0I7RUMwWHBCLDJCRDFYb0I7RUMyWHBCLHNCRDNYb0I7RUFDcEI7RUNvR0E7RUFDQTtFQUNBO0VBNENBLG1CQURvQjtFQUVwQix1QkFGb0I7RUFHcEIsZUFIb0I7RUQ5SXBCO0VBQ0E7RUFDQTtFQ05JO0dBQ0E7RUFDQTtFRGNKO0FKK2tCSjtBSXRsQkk7RUNnWEEsOEJEOVd3QjtFQytXeEIsMkJEL1d3QjtFQ2dYeEIsc0JEaFh3QjtFQ0hwQjtFQUNBO0VBQ0E7QUw2bEJSOztBSWhsQkE7RUNrV0ksOEJEaldvQjtFQ2tXcEIsMkJEbFdvQjtFQ21XcEIsc0JEbldvQjtFQ2hCaEI7RUFDQTtFQUNBO0VEZ0JKO0VBQ0E7RUFDQTtFQUNBLGFEckJrQjtFQ29DZDtHQUNBO0VBQ0E7QUp5a0JSO0FJeGxCSTtFQzBWQSw4QkR4VndCO0VDeVZ4QiwyQkR6VndCO0VDMFZ4QixzQkQxVndCO0VDekJwQjtFQUNBO0VBQ0E7QUxxbkJSO0FJemxCSTtFQzRFSTtFQUdKO0VBQ0E7RUQ5RUk7QUo2bEJSOztBS3JxQlE7RUFDSTtHQUVJO0FMdXFCaEI7O0FLMXFCUTtFQUNJO0dBRUk7QUw0cUJoQjs7QUsvcUJRO0VBQ0k7R0FFSTtBTGlyQmhCOztBS3ByQlE7RUFDSTtHQUVJO0FMc3JCaEI7O0FLenJCUTtFQUNJO0dBRUk7QUwyckJoQjs7QUs5ckJRO0VBQ0k7R0FFSTtBTGdzQmhCOztBS25zQlE7RUFDSTtHQUVJO0FMcXNCaEI7O0FLeHNCUTtFQUNJO0dBRUk7QUwwc0JoQjs7QUs3c0JRO0VBQ0k7R0FFSTtBTCtzQmhCOztBS2x0QlE7RUFDSTtHQUVJO0FMb3RCaEI7O0FLdnRCUTtFQUNJO0dBRUk7QUx5dEJoQjs7QUs1dEJRO0VBQ0k7R0FFSTtBTDh0QmhCOztBSXpvQkE7RUN4RlE7SUFDSTtLQUVJO0VMb3VCZDtFS3Z1Qk07SUFDSTtLQUVJO0VMd3VCZDtFSzN1Qk07SUFDSTtLQUVJO0VMNHVCZDtFSy91Qk07SUFDSTtLQUVJO0VMZ3ZCZDtFS252Qk07SUFDSTtLQUVJO0VMb3ZCZDtFS3Z2Qk07SUFDSTtLQUVJO0VMd3ZCZDtFSzN2Qk07SUFDSTtLQUVJO0VMNHZCZDtFSy92Qk07SUFDSTtLQUVJO0VMZ3dCZDtFS253Qk07SUFDSTtLQUVJO0VMb3dCZDtFS3Z3Qk07SUFDSTtLQUVJO0VMd3dCZDtFSzN3Qk07SUFDSTtLQUVJO0VMNHdCZDtFSy93Qk07SUFDSTtLQUVJO0VMZ3hCZDtBQUNGO0FJeHJCQTtFQzVGUTtJQUNJO0tBRUk7RUxzeEJkO0VLenhCTTtJQUNJO0tBRUk7RUwweEJkO0VLN3hCTTtJQUNJO0tBRUk7RUw4eEJkO0VLanlCTTtJQUNJO0tBRUk7RUxreUJkO0VLcnlCTTtJQUNJO0tBRUk7RUxzeUJkO0VLenlCTTtJQUNJO0tBRUk7RUwweUJkO0VLN3lCTTtJQUNJO0tBRUk7RUw4eUJkO0VLanpCTTtJQUNJO0tBRUk7RUxrekJkO0VLcnpCTTtJQUNJO0tBRUk7RUxzekJkO0VLenpCTTtJQUNJO0tBRUk7RUwwekJkO0VLN3pCTTtJQUNJO0tBRUk7RUw4ekJkO0VLajBCTTtJQUNJO0tBRUk7RUxrMEJkO0FBQ0Y7QUl0dUJBO0VDaEdRO0lBQ0k7S0FFSTtFTHcwQmQ7RUszMEJNO0lBQ0k7S0FFSTtFTDQwQmQ7RUsvMEJNO0lBQ0k7S0FFSTtFTGcxQmQ7RUtuMUJNO0lBQ0k7S0FFSTtFTG8xQmQ7RUt2MUJNO0lBQ0k7S0FFSTtFTHcxQmQ7RUszMUJNO0lBQ0k7S0FFSTtFTDQxQmQ7RUsvMUJNO0lBQ0k7S0FFSTtFTGcyQmQ7RUtuMkJNO0lBQ0k7S0FFSTtFTG8yQmQ7RUt2MkJNO0lBQ0k7S0FFSTtFTHcyQmQ7RUszMkJNO0lBQ0k7S0FFSTtFTDQyQmQ7RUsvMkJNO0lBQ0k7S0FFSTtFTGczQmQ7RUtuM0JNO0lBQ0k7S0FFSTtFTG8zQmQ7QUFDRjtBSXB4QkE7RUNwR1E7SUFDSTtLQUVJO0VMMDNCZDtFSzczQk07SUFDSTtLQUVJO0VMODNCZDtFS2o0Qk07SUFDSTtLQUVJO0VMazRCZDtFS3I0Qk07SUFDSTtLQUVJO0VMczRCZDtFS3o0Qk07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TG81Q047RUtwNENNO0lBbEJKLDJCQUZhO0tBSVQ7RUx3NUNOO0VLeDRDTTtJQWxCSiwyQkFGYTtLQUlUO0VMNDVDTjtFSzU0Q007SUFsQkosZ0JBRmE7S0FJVDtFTGc2Q047RUtoNUNNO0lBbEJKLDJCQUZhO0tBSVQ7RUxvNkNOO0VLcDVDTTtJQWxCSiwwQkFGYTtLQUlUO0VMdzZDTjtFS3g1Q007SUFsQkosY0FMUztLQU9MO0VMNDZDTjtBQUNGO0FJMzFDQTtFQ2xFUTtJQWxCSiwyQkFGYTtLQUlUO0VMazdDTjtFS2w2Q007SUFsQkosMkJBRmE7S0FJVDtFTHM3Q047RUt0NkNNO0lBbEJKLGdCQUZhO0tBSVQ7RUwwN0NOO0VLMTZDTTtJQWxCSiwyQkFGYTtLQUlUO0VMODdDTjtFSzk2Q007SUFsQkosMkJBRmE7S0FJVDtFTGs4Q047RUtsN0NNO0lBbEJKLGdCQUZhO0tBSVQ7RUxzOENOO0VLdDdDTTtJQWxCSiwyQkFGYTtLQUlUO0VMMDhDTjtFSzE3Q007SUFsQkosMkJBRmE7S0FJVDtFTDg4Q047RUs5N0NNO0lBbEJKLGdCQUZhO0tBSVQ7RUxrOUNOO0VLbDhDTTtJQWxCSiwyQkFGYTtLQUlUO0VMczlDTjtFS3Q4Q007SUFsQkosMEJBRmE7S0FJVDtFTDA5Q047RUsxOENNO0lBbEJKLGNBTFM7S0FPTDtFTDg5Q047QUFDRjtBSXo0Q0E7RUN0RVE7SUFsQkosMkJBRmE7S0FJVDtFTG8rQ047RUtwOUNNO0lBbEJKLDJCQUZhO0tBSVQ7RUx3K0NOO0VLeDlDTTtJQWxCSixnQkFGYTtLQUlUO0VMNCtDTjtFSzU5Q007SUFsQkosMkJBRmE7S0FJVDtFTGcvQ047RUtoK0NNO0lBbEJKLDJCQUZhO0tBSVQ7RUxvL0NOO0VLcCtDTTtJQWxCSixnQkFGYTtLQUlUO0VMdy9DTjtFS3grQ007SUFsQkosMkJBRmE7S0FJVDtFTDQvQ047RUs1K0NNO0lBbEJKLDJCQUZhO0tBSVQ7RUxnZ0ROO0VLaC9DTTtJQWxCSixnQkFGYTtLQUlUO0VMb2dETjtFS3AvQ007SUFsQkosMkJBRmE7S0FJVDtFTHdnRE47RUt4L0NNO0lBbEJKLDBCQUZhO0tBSVQ7RUw0Z0ROO0VLNS9DTTtJQWxCSixjQUxTO0tBT0w7RUxnaEROO0FBQ0Y7QUl2N0NBO0VDMUVRO0lBbEJKLDJCQUZhO0tBSVQ7RUxzaEROO0VLdGdETTtJQWxCSiwyQkFGYTtLQUlUO0VMMGhETjtFSzFnRE07SUFsQkosZ0JBRmE7S0FJVDtFTDhoRE47RUs5Z0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUxraUROO0VLbGhETTtJQWxCSiwyQkFGYTtLQUlUO0VMc2lETjtFS3RoRE07SUFsQkosZ0JBRmE7S0FJVDtFTDBpRE47RUsxaERNO0lBbEJKLDJCQUZhO0tBSVQ7RUw4aUROO0VLOWhETTtJQWxCSiwyQkFGYTtLQUlUO0VMa2pETjtFS2xpRE07SUFsQkosZ0JBRmE7S0FJVDtFTHNqRE47RUt0aURNO0lBbEJKLDJCQUZhO0tBSVQ7RUwwakROO0VLMWlETTtJQWxCSiwwQkFGYTtLQUlUO0VMOGpETjtFSzlpRE07SUFsQkosY0FMUztLQU9MO0VMa2tETjtBQUNGO0FJcitDQTtFQzlFUTtJQWxCSiwyQkFGYTtLQUlUO0VMd2tETjtFS3hqRE07SUFsQkosMkJBRmE7S0FJVDtFTDRrRE47RUs1akRNO0lBbEJKLGdCQUZhO0tBSVQ7RUxnbEROO0VLaGtETTtJQWxCSiwyQkFGYTtLQUlUO0VMb2xETjtFS3BrRE07SUFsQkosMkJBRmE7S0FJVDtFTHdsRE47RUt4a0RNO0lBbEJKLGdCQUZhO0tBSVQ7RUw0bEROO0VLNWtETTtJQWxCSiwyQkFGYTtLQUlUO0VMZ21ETjtFS2hsRE07SUFsQkosMkJBRmE7S0FJVDtFTG9tRE47RUtwbERNO0lBbEJKLGdCQUZhO0tBSVQ7RUx3bUROO0VLeGxETTtJQWxCSiwyQkFGYTtLQUlUO0VMNG1ETjtFSzVsRE07SUFsQkosMEJBRmE7S0FJVDtFTGduRE47RUtobURNO0lBbEJKLGNBTFM7S0FPTDtFTG9uRE47QUFDRjtBTTl0REE7RUR3TEksbUJDdkxtQjtFRHdMbkIsdUJDeExtQjtFRHlMbkIsZUN6TG1CO0FOa3VEdkI7O0FNL3REQTtFRG9MSSxxQkNuTG1CO0VEb0xuQix5QkNwTG1CO0VEcUxuQixpQkNyTG1CO0FOb3VEdkI7QU0vdERJO0VEMkpBLG9CQzFKeUI7RUQySnpCLHNCQzNKeUI7RUQ0SnpCLGNDNUp5QjtBTm11RDdCOztBTS90REE7RUR5S0ksMkJDeEttQjtFRHlLbkIsK0JDekttQjtFRDBLbkIsdUJDMUttQjtBTm91RHZCOztBTTd0REE7RUR1S0ksdUJDdEt3QjtFRHVLeEIsMkJDdkt3QjtFRHdLeEIsbUJDeEt3QjtBTmt1RDVCOztBTS90REE7RURtS0ksK0JDbEt3QjtFRG1LeEIsbUNDbkt3QjtFRG9LeEIsMkJDcEt3QjtBTm91RDVCOztBTWp1REE7RUQrSkksMEJDOUp3QjtFRCtKeEIsOEJDL0p3QjtFRGdLeEIsc0JDaEt3QjtBTnN1RDVCOztBTW51REE7RUQySkksa0NDMUp3QjtFRDJKeEIsc0NDM0p3QjtFRDRKeEIsOEJDNUp3QjtBTnd1RDVCOztBTWp1REE7RURvTFE7RUF0QkosK0JDN0pxQjtFRDhKckIsdUJDOUpxQjtBTnN1RHpCOztBTW51REE7RURrTFE7RUF4QkosNkJDekpxQjtFRDBKckIscUJDMUpxQjtBTnd1RHpCO0FNcHVEUTtFQUNJO0FOc3VEWjs7QU1qdURBO0VEeUtRLHNCQ3hLaUI7RUQ4SXJCLDJCQzlJcUI7RUQrSXJCLG1CQy9JcUI7QU5zdUR6QjtBTWx1RFE7RUFDSTtBTm91RFo7O0FNL3REQTtFRDhKUSx3QkM3SmlCO0VEbUlyQiw2QkNuSXFCO0VEb0lyQixxQkNwSXFCO0FOb3VEekI7O0FNN3REQTtFRHNLUTtFQTlCSixpQ0N2SXVCO0VEd0l2Qix5QkN4SXVCO0FOa3VEM0I7O0FNL3REQTtFRG9LUTtFQWhDSiwrQkNuSXVCO0VEb0l2Qix1QkNwSXVCO0FOb3VEM0I7QU1qdURJO0VBQ0k7QU5tdURSOztBTS90REE7RURpS1EsMEJDaEttQjtFRDBIdkIsNkJDMUh1QjtFRDJIdkIscUJDM0h1QjtBTm91RDNCOztBTWp1REE7RUR5SlE7RUFsQ0osb0NDdEh1QjtFRHVIdkIsNEJDdkh1QjtBTnN1RDNCOztBTW51REE7RUR1SlE7RUFwQ0osbUNDbEh1QjtFRG1IdkIsMkJDbkh1QjtBTnd1RDNCOztBTWp1REE7RURtSVEsNEJDbElnQjtFRG9HcEIsMkJDcEdvQjtFRHFHcEIsbUJDckdvQjtBTnN1RHhCOztBTW51REE7RUQySFE7RUExQkosOEJDaEdvQjtFRGlHcEIsc0JDakdvQjtBTnd1RHhCOztBTXJ1REE7RUR5SFE7RUE1QkosNEJDNUZvQjtFRDZGcEIsb0JDN0ZvQjtFQUNwQjtBTjB1REo7O0FNdnVEQTtFRHNIUSwyQkNySGdCO0VEdUZwQiwwQkN2Rm9CO0VEd0ZwQixrQkN4Rm9CO0VBQ3BCO0FONHVESjs7QU16dURBO0VEaUhRLDZCQ2hIZ0I7RURrRnBCLDRCQ2xGb0I7RURtRnBCLG9CQ25Gb0I7RUFDcEI7QU44dURKOztBTXZ1REE7RURtSUk7RUFDQTtFQUNBO0FMd21ESjtBTXp1RFE7RUFDSTtBTjJ1RFo7O0FNdHVEQTtFRCtISTtFQUNBO0VBQ0E7QUwybURKO0FNeHVEUTtFQUNJO0VBQ0E7RUFDQTtBTjB1RFo7QU14dURZO0VEMUZSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHEwREo7O0FNenVEQTtFRHFISTtFQUNBO0VBQ0E7QUx3bkRKO0FNM3VEUTtFQUNJO0VBQ0E7RUFDQTtBTjZ1RFo7QU0zdURZO0VEMUdSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTHcxREo7O0FNNXVEQTtFRDJHSTtFQUNBO0VBQ0E7QUxxb0RKO0FNOXVEUTtFQUNJO0VBQ0E7RUFDQTtBTmd2RFo7QU05dURZO0VEMUhSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDIyREo7O0FNL3VEQTtFRGlHSTtFQUNBO0VBQ0E7QUxrcERKO0FNanZEUTtFQUNJO0VBQ0E7RUFDQTtBTm12RFo7QU1qdkRZO0VEMUlSO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBTDgzREo7O0FNNXVESTtFQUNJO0FOK3VEUjs7QU10dURBO0VEckZJO0VBQ0E7RUFDQTtFQWtEQSwwQkNtQ3dCO0VEbEN4Qiw4QkNrQ3dCO0VEakN4QixzQkNpQ3dCO0FO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O0FlbnhFSTs7Ozs7RUFJSTtFQUNBO0VBQ0E7QWZzeEVSO0FlL3dFUTs7Ozs7RUFDSTtBZnF4RVo7QWVqeEVJOztFQUNJO0Fmb3hFUjtBZWh4RVE7O0VBQ0k7QWZteEVaOztBZTV3RVE7RUFDSTtBZit3RVo7QWdCcHpESTtFRDVkSTtJQUlRO0VmZ3hFZDtBQUNGO0FlOXdFWTtFQUNJO0VBQ0E7QWZneEVoQjtBZTV3RVE7RUFDSTtBZjh3RVo7QWdCaDBESTtFRC9jSTtJQUlRO0VmK3dFZDtBQUNGO0FlN3dFWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0FmK3dFaEI7QWU1d0VZO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWY4d0VoQjs7QWV4d0VRO0VBQ0k7QWYyd0VaO0FnQjkxREk7RUQ5YUk7SUFJUTtFZjR3RWQ7QUFDRjtBZTF3RVk7RUFDSTtFQUNBO0FmNHdFaEI7QWV2d0VRO0VBQ0k7QWZ5d0VaO0FnQjEyREk7RURoYUk7SUFJUTtFZjB3RWQ7QUFDRjtBZXh3RVk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBZjB3RWhCO0FldndFWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FmeXdFaEI7O0FlbndFQTtBQUNBO0VBQ0k7QWZzd0VKOztBZW53RUE7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZnN3RUo7QWVwd0VJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QWZzd0VSO0FlcHdFUTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZzd0VaO0FlcHdFWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWZzd0VoQjtBZW53RVk7RUFFSTtBZm93RWhCO0FlbndFZ0I7RUFDSTtBZnF3RXBCO0FlOXZFZ0I7RUFDSTtBZmd3RXBCOztBQXI4RUE7O0VBQUE7QWlCakNBOzs7OztF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O0E0Qmx2SE07RUFDRTtBNUJvdkhSO0E0Qi91SEk7RUFDRTtBNUJpdkhOO0E0Qi91SE07RUFDRTtFQUNBO0VBQ0E7QTVCaXZIUjtBNEIvdUhRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1Qml2SFY7QTRCeHVISTtFQUNFO0E1QjB1SE47QTRCeHVITTtFQUNFO0VBQ0E7RUFDQTtBNUIwdUhSO0E0Qnh1SFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVCMHVIVjtBNEJwdUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUJzdUhKO0E2QngxSEE7RUFDRTtBN0IwMUhGO0E4QjMxSEE7RUFDRTtBOUI2MUhGO0E4QnQxSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJ3MUhKO0E4QnQxSEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUJ3MUhOO0ErQngzSEU7RUFDRTtBL0IwM0hKO0ErQngzSEU7RUFDRTtBL0IwM0hKO0FnQzkySEE7RUFDRTtFQUNBO0FoQ2czSEY7QWdDLzJIRTtFQUNFO0VBQ0E7RUFDQTtBaENpM0hKO0FnQy8ySEk7RUFDRTtFQUNBO0FoQ2kzSE47QWdDNzJIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0FoQysySEo7QWdDNTJIRTtFQUNFO0VBQ0E7QWhDODJISjtBZ0M1MkhJO0VBQ0U7QWhDODJITjtBZ0MxMkhFO0VBQ0U7RUFDQTtBaEM0MkhKO0FnQzEySEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEM0MkhOO0FnQzEySE07RUFDRTtBaEM0MkhSO0FnQ2g2SEk7RUFDRTtFQUNBO0FoQ2s2SE47QWdDcDZISTtFQUNFO0VBQ0E7QWhDczZITjtBZ0N4NkhJO0VBQ0U7RUFDQTtBaEMwNkhOO0FnQzU2SEk7RUFDRTtFQUNBO0FoQzg2SE47QWdDaDdISTtFQUNFO0VBQ0E7QWhDazdITjtB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Q0Y7QWdEanFJSTtFQUNFO0FoRG1xSU47QWdEanFJTTtFQUNFO0FoRG1xSVI7QWdCdjBISTtFZ0NoV0E7SUFRSTtFaERtcUlOO0FBQ0Y7QWdEaHFJSTs7OztFQUlFO0FoRGtxSU47QWdEL3BJUTs7Ozs7Ozs7RUFDRTtBaER3cUlWO0FnRGxxSU07RUFDRTtBaERvcUlSO0FnQi8xSEk7RWdDcFhGO0lBb0RJO0lBQ0E7SUFDQTtJQUNBO0VoRG1xSUo7QUFDRjtBZ0RocUlFO0VBQ0U7QWhEa3FJSjtBZ0RocUlJO0V6QjdLRjtFQUNBO0VBQ0E7RUFDQTtFeUI0S0k7RUFDQTtFQUNBO0FoRHFxSU47QXVCajFJRTtFQUNFO0F2Qm0xSUo7QWdEcnFJSTtFQUNFO0FoRHVxSU47QWdEcHFJSTtFQUNFO0FoRHNxSU47QWdEcHFJTTtFQUNFO0FoRHNxSVI7QWdEcnFJUTtFQUNFO0VBQ0E7QWhEdXFJVjtBZ0R0cUlVO0VBQ0U7RUFDQTtBaER3cUlaO0FnRGpxSUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaERtcUlKO0FnQjc0SEk7RWdDMVJGO0lBT0k7RWhEb3FJSjtFZ0RscUlJO0lBQ0U7RWhEb3FJTjtBQUNGO0F5QzE3SUU7RUFDRTtBekM0N0lKO0EwQy83SUE7RUFDRTtFQUNBO0ExQ2k4SUY7QTBDOTdJRTtFQUNFO0VBQ0E7QTFDZzhJSjtBZ0JoNkhJO0UwQmxpQkY7SUFJSTtFMUNrOElKO0FBQ0Y7QWdCcjZISTtFMEJsaUJGO0lBT0k7RTFDbzhJSjtBQUNGO0FpRHY5SUE7RUFDRTtFQUNBO0VBRUE7QWpEdzlJRjtBaUR0OUlFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakR3OUlKO0FpRHY5SUk7RUFDRTtFQUNBO0FqRHk5SU47QWlEdDlJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRHc5SUo7QWlEbDlJVTs7RUFDRTtBakRxOUlaO0FpRG45SVk7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakRzOUlkO0FnQmw5SEk7RWlDaGdCVTs7SUFDRTtFakRzOUlkO0FBQ0Y7QWdCeDlISTtFaUN6Zkk7O0lBQ0U7RWpEcTlJUjtBQUNGO0FpRGg5SUU7RUFDRTtBakRrOUlKO0FnQmorSEk7RWlDbGZGO0lBSUk7RWpEbTlJSjtBQUNGO0FpRGo5SUk7RUFDRTtFQUNBO0VBQ0E7QWpEbTlJTjtBZ0IzK0hJO0VpQzNlQTtJQU1JO0lBQ0E7SUFDQTtFakRvOUlOO0FBQ0Y7QWlEajlJSTtFQUNFO0VBQ0E7RUFDQTtBakRtOUlOO0FpRGo5SU07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRG05SVI7QWlELzhJSTtFQUNFO0FqRGk5SU47QWlEOThJSTtFQUNFO0VBQ0E7QWpEZzlJTjtBa0RyakpBO0VBQ0k7QWxEdWpKSjtBa0R0akpJO0VBRUk7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBR0E7RUFDQTtBbERxakpSO0FnQnJoSUk7RWtDN2lCSjtJQWlCUTtFbERxakpOO0FBQ0Y7QWtEampKWTtFQUNJO0FsRG1qSmhCO0FrRG5pSkk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWxEcWlKUjtBZ0I5aUlJO0VrQ3RnQkE7SUFrQlE7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VsRHNpSlY7RWtEcmlKVTtJQUNJO0lBQ0E7RWxEdWlKZDtBQUNGO0FrRHBpSlE7RUFDSTtBbERzaUpaO0FrRGxpSkk7RUFFSTtFQUNBO0VBQ0E7QWxEbWlKUjtBa0RoaUpJO0VBQ0k7QWxEa2lKUjtBa0RqaUpRO0VBQ0k7RUFDQTtBbERtaUpaO0FtRHZuSkk7RUFDSTtFQUNBO0VBQ0E7QW5EeW5KUjtBZ0JobElJO0VtQzVpQkE7SUFNUTtFbkQwbkpWO0FBQ0Y7QW1Eem5KUTtFQUNJO0VBQ0E7QW5EMm5KWjtBb0Rwb0pJO0VBQ0k7RUFDQTtFQUNBO0FwRHNvSlI7QWdCOWxJSTtFb0MzaUJBO0lBTVE7RXBEdW9KVjtBQUNGO0FvRHJvSkk7RUFDSTtBcER1b0pSO0EyQzVvSkU7RUFDRTtFQUNBO0VBQ0E7QTNDOG9KSjtBNENqcEpBO0VBQ0U7RUFDQTtBNUNtcEpGO0E0Q2xwSkU7RUFDRTtFQUVBO0E1Q21wSko7QTRDbHBKSTtFQUNFO0E1Q29wSk47QTRDanBKRTtFQUNFO0VBQ0E7RUFDQTtBNUNtcEpKO0E0Q2xwSkk7RUFDRTtBNUNvcEpOO0E0Q2xwSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtPQUFBO0VBQ0E7QTVDb3BKTjtBNENucEpNO0VBQ0U7QTVDcXBKUjtBNENqcEpFOzs7RUFHRTtBNUNtcEpKO0E0Q2pwSkU7RUFDRTtBNUNtcEpKO0E0Q2xwSkk7RUFDRTtBNUNvcEpOO0E0Q25wSk07RUFDRTtBNUNxcEpSO0E0Q25wSk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVDcXBKUjtBcURodEpJO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXJEa3RKUjtBZ0IxcUlJO0VxQzVpQkE7SUFPUTtFckRtdEpWO0FBQ0Y7QXNEM3RKSTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0F0RDZ0SlI7QWdCcnJJSTtFc0M1aUJBO0lBT1E7RXREOHRKVjtBQUNGO0E2Q2p1SkE7RUFDRTtFQUNBO0E3Q211SkY7QTZDbHVKRTtFQUNFO0VBQ0E7RUFDQTtBN0NvdUpKO0E2Q251Skk7RUFDRTtBN0NxdUpOO0E2Q251Skk7RUFDRTtBN0NxdUpOO0E2Q3B1Sk07RUFDRTtFQUNBO0E3Q3N1SlI7QTZDcHVKTTtFQUNFO0VBQ0E7QTdDc3VKUjtBNkNydUpRO0VBQ0U7RUFDQTtBN0N1dUpWO0E2Q251Skk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdDcXVKTjtBNkNudUpNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBN0NxdUpSO0E4Q2p4SkE7RUFDRTtBOUNteEpGO0E4Q2p4Skk7RUFDRTtBOUNteEpOO0E4Q2h4SkU7RUFDRTtBOUNreEpKO0F1RC94Skk7RUFDSTtBdkRpeUpSO0F1RGh5SlE7RUFDSTtBdkRreUpaO0F1RC94Skk7RUFDSTtFQUNBO0F2RGl5SlI7QXVEOXhKWTtFQUNJO0VBQ0E7RUFDQTtBdkRneUpoQjtBZ0Jsd0lJO0V1Q3RpQkE7SUFhUTtJQUNBO0V2RCt4SlY7QUFDRjtBd0RuekpRO0VBQ0k7QXhEcXpKWjtBd0RsekpRO0VBQ0k7RUFDQTtFQUNBO0VBQ0E7QXhEb3pKWjtBeUQ1ekpJO0VBQ0k7RUFDQTtBekQ4ekpSO0F5RDN6Slk7RUFDSTtFQUNBO0VBQ0E7RUFDQTtBekQ2ekpoQjtBZ0IzeElJO0V5QzNpQkE7SUFjUTtJQUNBO0V6RDR6SlY7QUFDRjtBeUR4ekpRO0VBQ0k7RUFDQTtFQUNBO0F6RDB6Slo7QWdCdHlJSTtFeUN2aEJJO0lBTVE7RXpEMnpKZDtBQUNGO0F5RHp6Slk7RUFDSTtBekQyekpoQjs7QTBEMzFKQTs7Ozs7RUFBQTtBQU9BOzs7Ozs7O0VBT0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFENjFKRjtBMEQzMUpFOzs7Ozs7O0VBQ0U7QTFEbTJKSjs7QTBELzFKQTs7O0VBR0U7QTFEazJKRjs7QTBELzFKQTs7RUFFRTtBMURrMkpGOztBMEQvMUpBO0VBQ0U7S0FBQTtVQUFBO0ExRGsySkY7O0EwRC8xSkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0ExRGsySkY7O0EyRHA1SkE7Ozs7O0VBQUE7QUFTSTtFQUNFO0EzRG81Sk47QWdCajNJSTtFMkNwaUJBO0lBR0k7RTNEczVKTjtBQUNGO0EyRGw1SkU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7T0FBQTtFQUNBO0EzRG81Sko7QWdCLzNJSTtFMkM1aEJGO0lBVUk7RTNEcTVKSjtBQUNGO0EyRGo1SlE7RUFDRTtBM0RtNUpWO0EyRC80Sk07RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7QTNEaTVKUjtBMkQvNEpRO0VBQ0U7QTNEaTVKVjtBMkQ5NEpRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7S0FBQTtVQUFBO0VBQ0E7RUFDQTtPQUFBO0EzRGc1SlY7QTJENzRKUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0EzRCs0SlY7QTJEMzRKVTtFQUNFO0EzRDY0Slo7QTJEdjRKUTtFQUNFO0VBQ0E7RUFDQTtBM0R5NEpWO0EyRG40SkU7RUFDRTtBM0RxNEpKO0EyRG40Skk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTNEcTRKTjtBMkRsNEpJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBM0RvNEpOO0FnQjc4SUk7RTJDL2JBO0lBV0k7SUFDQTtFM0RxNEpOO0FBQ0Y7QTJEbDRKUTtFQUNFO0VBQ0E7QTNEbzRKVjs7QTREcGdLQTs7Ozs7RUFBQTtBQU9BO0VBQ0U7QTVEc2dLRjtBZ0JqK0lJO0U0Q3RpQko7SUFJSTtFNUR1Z0tGO0FBQ0Y7O0E0RHBnS0E7RUFDRTtFQTBRQTtBNUQ4dkpGO0FnQjMrSUk7RTRDOWhCSjtJQUtJO0U1RHdnS0Y7QUFDRjtBNER0Z0tFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHdnS0o7QTREdGdLSTtFQUNFO0VBQ0E7QTVEd2dLTjtBNERyZ0tFO0VBQ0U7QTVEdWdLSjtBNER0Z0tJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEd2dLTjtBNER0Z0tRO0VBQ0U7QTVEd2dLVjtBNERuZ0tJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHFnS047QTREbmdLTTtFQUNFO0E1RHFnS1I7QWdCNWhKSTtFNEMxZUU7SUFHSTtFNUR1Z0tSO0FBQ0Y7QWdCamlKSTtFNENsZkE7SUFnQkk7SUFDQTtFNUR1Z0tOO0FBQ0Y7QTREbmdLSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RHFnS047QTREbmdLUTtFQUNFO0E1RHFnS1Y7QTREamdLUTtFQUNFO0E1RG1nS1Y7QTREaGdLTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNURrZ0tSO0E0RGpnS1E7RUFDRTtBNURtZ0tWO0E0RC8vSkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNURpZ0tOO0E0RC8vSk07RUFDRTtBNURpZ0tSO0E0RDkvSk07RUFDRTtBNURnZ0tSO0FnQjdrSkk7RTRDamNBO0lBa0JJO0U1RGdnS047QUFDRjtBNEQ5L0pNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RGdnS1I7QWdCMWxKSTtFNEM1YUU7SUFTSTtFNURpZ0tSO0FBQ0Y7QTRELy9KUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E1RGlnS1Y7QWdCcm1KSTtFNENoYUk7SUFPSTtFNURrZ0tWO0FBQ0Y7QTREOS9KTTtFQUNFO0E1RGdnS1I7QTRELy9KUTtFQUNFO0E1RGlnS1Y7QTRENy9KTTtFQUNFO0E1RCsvSlI7QTREOS9KUTtFQUNFO0E1RGdnS1Y7QTREMy9KRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVENi9KSjtBNEQxL0pJO0VBQ0U7QTVENC9KTjtBNER6L0pJO0VBQ0U7QTVEMi9KTjtBNER4L0pJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RDAvSk47QTREdi9KSTs7RUFFRTtFQUNBO0VBQ0E7RUFDQTtBNUR5L0pOO0E0RHQvSkk7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7QTVEdy9KTjtBNERyL0pJOzs7O0VBSUU7QTVEdS9KTjtBNERwL0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEcy9KSjtBNERwL0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RHMvSko7QTREbi9KRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEcS9KSjtBNERsL0pFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7S0FBQTtBNURvL0pKO0E0RGovSkU7RUFDRTtF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Ozs7RUFFRTtFQUNBO0VBQ0E7QXZCZ2hOSjtBdUI3Z05FOzs7O0VBQ0U7QXZCa2hOSjtBb0UvK01nQzs7OztFQUNJO0VBQ0E7QXBFby9NcEM7QW9Fbi9Nb0M7Ozs7RUFDSTtBcEV3L014QztBb0VwL000Qjs7OztFQUNJO0VBQ0E7QXBFeS9NaEM7QW9Fdi9NZ0M7Ozs7RUFDSTtBcEU0L01wQztBb0UxL01nQzs7OztFQUNJO0VBQ0E7QXBFKy9NcEM7QW9FOS9Nb0M7Ozs7RUFDSTtBcEVtZ054QztBb0UvL000Qjs7OztFQUNJO0VBQ0E7QXBFb2dOaEM7QW9FbGdOZ0M7Ozs7RUFDSTtBcEV1Z05wQztBb0VyZ05nQzs7OztFQUNJO0VBQ0E7QXBFMGdOcEM7QW9FemdOb0M7Ozs7RUFDSTtBcEU4Z054QztBb0UxZ040Qjs7OztFQUNJO0VBQ0E7QXBFK2dOaEM7QW9FN2dOZ0M7Ozs7RUFDSTtBcEVraE5wQztBb0VoaE5nQzs7OztFQUNJO0VBQ0E7QXBFcWhOcEM7QW9FcGhOb0M7Ozs7RUFDSTtBcEV5aE54QztBb0VyaE40Qjs7OztFQUNJO0VBQ0E7QXBFMGhOaEM7QW9FeGhOZ0M7Ozs7RUFDSTtBcEU2aE5wQztBb0UzaE5nQzs7OztFQUNJO0VBQ0E7QXBFZ2lOcEM7QW9FL2hOb0M7Ozs7RUFDSTtBcEVvaU54QztBb0VoaU40Qjs7OztFQUNJO0VBQ0E7QXBFcWlOaEM7QW9FbmlOZ0M7Ozs7RUFDSTtBcEV3aU5wQztBb0V0aU5nQzs7OztFQUNJO0VBQ0E7QXBFMmlOcEM7QW9FMWlOb0M7Ozs7RUFDSTtBcEUraU54QztBb0UzaU40Qjs7OztFQUNJO0VBQ0E7QXBFZ2pOaEM7QW9FOWlOZ0M7Ozs7RUFDSTtBcEVtak5wQztBb0Vqak5nQzs7OztFQUNJO0VBQ0E7QXBFc2pOcEM7QW9FcmpOb0M7Ozs7RUFDSTtBcEUwak54QztBb0V0ak40Qjs7OztFQUNJO0VBQ0E7QXBFMmpOaEM7QW9FempOZ0M7Ozs7RUFDSTtBcEU4ak5wQztBb0U1ak5nQzs7OztFQUNJO0VBQ0E7QXBFaWtOcEM7QW9FaGtOb0M7Ozs7RUFDSTtBcEVx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RUFDQTtFQUVBO0VBRUE7QXRFK2hPcEI7QXNFOWhPb0I7RUFDSTtBdEVnaU94QjtBc0V6aE9JO0VBQ0k7QXRFMmhPUjtBc0V4aE9JO0VBQ0k7RUFDQTtFQUNBO09BQUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RTBoT1I7QXNFeGhPUTtFQUNJO0VBQ0E7QXRFMGhPWjtBc0V0aE9ZO0VBQ0k7RUFDQTtBdEV3aE9oQjtBc0V0aE9nQjtFQUNJO0VBQ0E7QXRFd2hPcEI7QXNFcmhPWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F0RXVoT2hCO0FzRWpoT2dCO0VBQ0k7QXRFbWhPcEI7QXNFL2dPWTtFQUNJO0F0RWloT2hCO0FzRTVnT0k7RUFDSTtBdEU4Z09SO0FzRTdnT1E7RUFDSTtBdEUrZ09aO0FzRTNnT1k7RUFDSTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEU2Z09oQjtBc0V4Z09JO0VBQ0k7RUFDQTtBdEUwZ09SO0FzRXhnT1E7RUFDSTtBdEUwZ09aO0FzRXpnT1k7RUFDSTtFQUNBO0VBQ0E7QXRFMmdPaEI7QXNFeGdPWTtFQUNJO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdEUwZ09oQjtBc0VuZ09vQjtFQUNJO0VBQ0E7QXRFcWdPeEI7QXNFcGdPd0I7RUFDSTtBdEVzZ081Qjs7QXVFbnFPQTs7Ozs7RUFBQTtBQWNBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkU4cE9GO0F1RTVwT0U7RUFDRTtFQUNBO0VBQ0E7QXZFOHBPSjtBdUU1cE9JO0VBQ0U7QXZFOHBPTjtBdUUzcE9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXZFNnBPTjtBdUV6cE9NO0VBQ0U7QXZFMnBPUjtBdUVwcE9JO0VBQ0U7QXZFc3BPTjtBdUVycE9NO0VBQ0U7QXZFdXBPUjtBdUVucE9JO0VBQ0U7QXZFcXBPTjtBdUVqcE9FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F2RW1wT0o7QWdCenFOSTtFdURuZkY7SUFhSTtFdkVtcE9KO0FBQ0Y7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RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QUE0dE9GO0FBMXRPRTtFQWpCRjtJQWtCSTtJQUNBO0lBQ0E7SUFDQTtFQTZ0T0Y7QUFDRjtBQTN0T0U7RUFDRTtBQTZ0T0o7O0FBenRPQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFFQTtBQTJ0T0Y7QUF6dE9FO0VBQ0U7QUEydE9KO0FBeHRPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FBMHRPSjtBQXh0T0k7RUFDRTtBQTB0T047QUF0dE9FO0VBQ0U7QUF3dE9KO0FBcnRPRTtFQUNFO0FBdXRPSjtBQXB0T0U7RUFDRTtBQXN0T0osQyIsInNvdXJjZXMiOlsid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2dsb2JhbC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9iYWd1ZXR0ZWJveC5qcy9zcmMvYmFndWV0dGVCb3guc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvbm9ybWFsaXplLnNjc3Mvbm9ybWFsaXplLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL3JlZmxleC1ncmlkL3Njc3MvaW5jbHVkZXMvX3ZhcmlhYmxlcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL3JlZmxleC1ncmlkL3Njc3MvaW5jbHVkZXMvX21peGlucy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL19oZWxwZXJzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvY29uZmlnL19mb250cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2NvbmZpZy9fdmFycy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX2ZvY3VzLXZpc2libGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19mb250LXNtb290aGluZy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX21peGlucy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX2tleWZyYW1lcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX3RhYmxlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fYmFndWV0dGVCb3guc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9oZWxwZXJzL19zbGljay1jYXJvdXNlbC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19kZWZhdWx0cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19kcnVwYWw4LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fbWFpbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX25hdi10b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19pbWFnZS1jcmVkaXQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fc2VhcmNoLWJ1dHRvbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fZW1tc2cuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2VudGl0eS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fYm9keS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW1hZ2Uuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3ZpZXcuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3F1b3RlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19hY2NvcmRpb24uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2dhbGxlcnkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ltYWdlLXRleHQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2Rvd25sb2Fkcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZW1iZWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3BlcnNvbi1jYXJkLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19xdW90ZS13aXRoLWltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19jdGEuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2xpbmtlZC1sb2dvcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fdmlkZW8uc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3Nwb25zb3JzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19oaWdobGlnaHRlZC1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19sb2dvLWxpc3Quc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ltcHJvdmVkLWltYWdlLXJvdy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fdGV4dC1ibG9jay5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZmVhdHVyZWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2xhdGVzdC1hcnRpY2xlcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fbGFyZ2Utc2lnbnBvc3Quc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3JlbGF0ZWQtY29udGVudC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fcHJldmlvdXMtd2lubmVycy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fbWVkYWxsaXN0LXNpZ25wb3N0cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZXhoaWJpdGlvbi1zaWducG9zdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2NoYXB0ZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3N0b3J5LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19jb2xsZWN0aW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19mb3Jtcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbmF2LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19iYW5uZXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2xpbmtlZC1sb2dvcy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fc29jaWFsLWxpbmtzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19zZWFyY2gtb3ZlcmxheS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fcG9wdXAuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX25vZGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL192aWV3cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2VhcmNoLXJlc3VsdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3NpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3RlYXNlci5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNYWluIC0gR2xvYmFsXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBEZXBlbmRlbmNpZXNcbiAqL1xuQGltcG9ydCAnfmJhZ3VldHRlYm94LmpzL3NyYy9iYWd1ZXR0ZUJveCc7XG5AaW1wb3J0ICd+aW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhJztcbkBpbXBvcnQgJ35ub3JtYWxpemUuc2Nzcy9ub3JtYWxpemUuc2Nzcyc7XG5AaW1wb3J0ICd+cmVmbGV4LWdyaWQvc2Nzcy9yZWZsZXguc2Nzcyc7XG4vLyBAaW1wb3J0ICd+Y2hvaWNlcy5qcy9wdWJsaWMvYXNzZXRzL3N0eWxlcy9jaG9pY2VzLm1pbi5jc3MnO1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG5AaW1wb3J0ICdjb25maWcvZm9udHMnO1xuQGltcG9ydCAnY29uZmlnL3ZhcnMnO1xuXG4vKipcbiAqIEhlbHBlcnNcbiAqL1xuQGltcG9ydCAnaGVscGVycy9mb2N1cy12aXNpYmxlJztcbkBpbXBvcnQgJ2hlbHBlcnMvZm9udC1zbW9vdGhpbmcnO1xuQGltcG9ydCAnaGVscGVycy9taXhpbnMnO1xuQGltcG9ydCAnaGVscGVycy9rZXlmcmFtZXMnO1xuQGltcG9ydCAnaGVscGVycy90YWJsZSc7XG5AaW1wb3J0ICdoZWxwZXJzL2JhZ3VldHRlQm94JztcbkBpbXBvcnQgJ2hlbHBlcnMvc2xpY2stY2Fyb3VzZWwnO1xuXG4vKipcbiAqIEJhc2VcbiAqL1xuQGltcG9ydCAnYmFzZS9kZWZhdWx0cyc7XG5AaW1wb3J0ICdiYXNlL3R5cG9ncmFwaHknO1xuQGltcG9ydCAnYmFzZS9kcnVwYWw4JztcbkBpbXBvcnQgJ2Jhc2UvbWFpbic7XG5cbi8qKlxuKiBBdG9tc1xuKi9cbkBpbXBvcnQgJ2F0b21zL2dyaWQnO1xuQGltcG9ydCAnYXRvbXMvbmF2LXRvZ2dsZSc7XG5AaW1wb3J0ICdhdG9tcy9idXR0b25zJztcbkBpbXBvcnQgJ2F0b21zL2ltYWdlLWNyZWRpdCc7XG5AaW1wb3J0ICdhdG9tcy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdhdG9tcy9zZWFyY2gtYnV0dG9uJztcblxuLyoqXG4gKiBNb2xlY3VsZXNcbiAqL1xuQGltcG9ydCAnbW9sZWN1bGVzL2VtbXNnJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9lbnRpdHknO1xuQGltcG9ydCAnbW9sZWN1bGVzL2Zvcm1zJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9uYXYnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2Jhbm5lcic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvbGlua2VkLWxvZ29zJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9zb2NpYWwtbGlua3MnO1xuQGltcG9ydCAnbW9sZWN1bGVzL3NlYXJjaC1vdmVybGF5JztcbkBpbXBvcnQgJ21vbGVjdWxlcy9wb3B1cCc7XG5cbi8qKlxuICogT3JnYW5pc2ltc1xuICovXG5AaW1wb3J0ICdvcmdhbmlzbXMvbm9kZSc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvaGVhZGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9mb290ZXInO1xuQGltcG9ydCAnb3JnYW5pc21zL3ZpZXdzJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9zZWFyY2gtcmVzdWx0cyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2lkZWJhcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvdGVhc2VyJztcblxuLyoqXG4gKiBUZW1wbGF0ZXNcbiAqL1xuXG5cblxuXG5cbi5tLWNvbGxlY3Rpb24taW1hZ2V7XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKXtcbiAgICBpbWd7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuXG5cbiAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0gXG4gICAgY29sbGVjdGlvbnMgb3ZlcmxheSBpbXBvcnRcbiAgIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gXG4uY29sbGVjdGlvbi1vdmVybGF5IHtcbiAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgei1pbmRleDogNTAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgcGFkZGluZy10b3A6IDglO1xuICAuaW5zZXJ0Om5vdCguc2VhcmNoLW92ZXJsYXkpIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGgzLFxuICAgIC5oMyB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICB1bC5ib29rLWxpbmtzIHtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAuNWVtIDA7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1jLXBvbXBlaWkpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIHBhZGRpbmc6IDAuNWVtIDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5jbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMS41ZW07XG4gICAgICByaWdodDogMS41ZW07XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICB3aWR0aDogNDBweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW9zbG8pO1xuICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICAgICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tYy10ZXh0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cbi5jb2xsZWN0aW9uLW92ZXJsYXkge1xuICAuaW5zZXJ0LmNvbGxlY3Rpb24taW1hZ2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIC5pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICB9XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpe1xuICAgICAgICAgICAgICBtYXJnaW46IHVuc2V0O1xuICAgICAgICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpe1xuICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG4gICAgLmNvbnRlbnQge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cbiAgICB9XG4gICAgLm5hdiB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxJTtcbiAgICAgICAgdG9wOiA0NSU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgd2lkdGg6IDgwcHg7XG4gICAgICAgIGhlaWdodDogODBweDtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSBzY2FsZSgwLjgpO1xuICAgICAgICAmOmFmdGVyLFxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMzBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgdG9wOiAzMHB4O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbiAgICAgICAgICAgIHRvcDogMzFweDtcbiAgICAgICAgfVxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHRvcDogMzBweDtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2LWltYWdlIHtcbiAgICAgICAgICAgIGxlZnQ6IDElO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpIHNjYWxlKDAuOCk7XG4gICAgICAgICAgICAvLyAmOmFmdGVyIHtcbiAgICAgICAgICAgIC8vIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBWaWRlbyBtb2RhbCBwbGF5ZXJcbi5tb2RhbC1vcGVuLXdyYXBwZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxufVxuXG4ubW9kYWwtb3Blbi1tb2JpbGUge1xuICBkaXNwbGF5OiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNzY3cHgpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbi5tb2RhbC1vcGVuOm5vdChib2R5KSB7XG4gIC8vIEBpbmNsdWRlIGJnLWltZztcbiAgLy8gQGluY2x1ZGUgZm9udC10aXRsZS1yZWc7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1hZ2VzL2ljb24tcGxheS5zdmcnKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjBweCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogMzBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICBib3JkZXI6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIGZvbnQtc2l6ZTogMS43NWVtO1xuICBwYWRkaW5nOiAxNXB4IDIwcHggMTVweCAyMHB4O1xuICBib3JkZXItcmFkaXVzOiAycHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogMC4ycyBlYXNlLWluLW91dDtcbiAgbWFyZ2luLXRvcDogLTVlbTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NjdweCkge1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxZW07XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICB9XG59XG5cbi52aWRlby1tb2RhbCB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgcGFkZGluZy10b3A6IDE1MHB4O1xuICAvLyBvdmVyZmxvdzogc2Nyb2xsO1xuICBkaXNwbGF5OiBub25lO1xuXG4gICYuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9jbG9zZS5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICB0cmFuc2l0aW9uOiAwLjJzIGVhc2UtaW4tb3V0O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgIH1cbiAgfVxuXG4gICYgPiAuZ3JpZCB7XG4gICAgbWFyZ2luOiBhdXRvO1xuICB9XG5cbiAgLmZpbGUge1xuICAgIHBhZGRpbmctdG9wOiA0ZW07XG4gIH1cblxuICBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59IiwiLyohXG4gKiBiYWd1ZXR0ZUJveC5qc1xuICogQGF1dGhvciAgZmVpbW9zaVxuICogQHZlcnNpb24gJSVJTkpFQ1RfVkVSU0lPTiUlXG4gKiBAdXJsIGh0dHBzOi8vZ2l0aHViLmNvbS9mZWltb3NpL2JhZ3VldHRlQm94LmpzXG4gKi9cblxuI2JhZ3VldHRlQm94LW92ZXJsYXkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTAwMDAwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjIyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgLjVzIGVhc2U7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIC5mdWxsLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBmaWd1cmUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyAgICAgIC8vIG5lZWRlZCBmb3IgbW9iaWxlXG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7ICAgLy8gT3BlcmEgMTIgaW1hZ2Ugc3RyZXRjaGluZyBmaXhcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICAvLyBJRTggZml4XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcblxuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgOHB4IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICB9XG5cbiAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjogI2NjYztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLC42KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogNTAlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDotMXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jYmFndWV0dGVCb3gtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgdHJhbnNpdGlvbjogbGVmdCAuNHMgZWFzZSwgdHJhbnNmb3JtIC40cyBlYXNlO1xuXG4gICAgJi5ib3VuY2UtZnJvbS1yaWdodCB7XG4gICAgICAgIGFuaW1hdGlvbjogYm91bmNlRnJvbVJpZ2h0IC40cyBlYXNlLW91dDtcbiAgICB9XG5cbiAgICAmLmJvdW5jZS1mcm9tLWxlZnQge1xuICAgICAgICBhbmltYXRpb246IGJvdW5jZUZyb21MZWZ0IC40cyBlYXNlLW91dDtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlRnJvbVJpZ2h0e1xuICAgIDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICA1MCUgeyBtYXJnaW4tbGVmdDogLTMwcHg7IH1cbiAgICAxMDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VGcm9tTGVmdHtcbiAgICAwJSB7IG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgNTAlIHsgbWFyZ2luLWxlZnQ6IDMwcHg7IH1cbiAgICAxMDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbn1cblxuJWFycm93LWJ1dHRvbiB7XG4gICAgdG9wOiA1MCU7XG4gICAgdG9wOiBjYWxjKDUwJSAtIDMwcHgpO1xuICAgIHdpZHRoOiA0NHB4O1xuICAgIGhlaWdodDogNjBweDtcbn1cblxuLmJhZ3VldHRlQm94LWJ1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAxNSU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMyMzIzMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLDUwLDUwLC41KTtcbiAgICBjb2xvcjogI2RkZDtcbiAgICBmb250OiAxLjZlbSBzYW5zLXNlcmlmO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgLjRzIGVhc2U7XG5cbiAgICAmOmZvY3VzLFxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUwLDUwLDUwLC45KTtcbiAgICB9XG5cbiAgICAmI25leHQtYnV0dG9uIHtcbiAgICAgICAgQGV4dGVuZCAlYXJyb3ctYnV0dG9uO1xuICAgICAgICByaWdodDogMiU7XG4gICAgfVxuXG4gICAgJiNwcmV2aW91cy1idXR0b24ge1xuICAgICAgICBAZXh0ZW5kICVhcnJvdy1idXR0b247XG4gICAgICAgIGxlZnQ6IDIlO1xuICAgIH1cblxuICAgICYjY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICByaWdodDogMiU7XG4gICAgICAgIHJpZ2h0OiBjYWxjKDIlICsgNnB4KTtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogMzBweDtcbiAgICB9XG5cbiAgICAvLyBGaXJlZm94IGZpeFxuICAgIHN2ZyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLypcbiAgICBQcmVsb2FkZXJcbiAgICBCb3Jyb3dlZCBmcm9tIGh0dHA6Ly90b2JpYXNhaGxpbi5jb20vc3BpbmtpdC9cbiovXG5cbi5iYWd1ZXR0ZUJveC1zcGlubmVyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTIwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IC0yMHB4O1xufVxuXG4uYmFndWV0dGVCb3gtZG91YmxlLWJvdW5jZTEsXG4uYmFndWV0dGVCb3gtZG91YmxlLWJvdW5jZTIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvcGFjaXR5OiAuNjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYW5pbWF0aW9uOiBib3VuY2UgMnMgaW5maW5pdGUgZWFzZS1pbi1vdXQ7XG59XG5cbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMiB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMXM7XG59XG5cbkBrZXlmcmFtZXMgYm91bmNlIHtcbiAgICAwJSwgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMCk7XG4gICAgfSA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbn1cbiIsIi8qISBub3JtYWxpemUuc2NzcyB2MC4xLjAgfCBNSVQgTGljZW5zZSB8IGJhc2VkIG9uIGdpdC5pby9ub3JtYWxpemUgKi9cblxuLyoqXG4gKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICogMi4gUHJldmVudCBpT1MgdGV4dCBzaXplIGFkanVzdCBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2UsIHdpdGhvdXQgZGlzYWJsaW5nXG4gKiAgICB1c2VyIHpvb20uXG4gKi9cblxuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAqL1xuXG5ib2R5IHtcbiAgbWFyZ2luOiAwO1xufVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBhbnkgSFRNTDUgZWxlbWVudCBpbiBJRSA4LzkuXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICogYW5kIEZpcmVmb3guXG4gKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYG1haW5gIGluIElFIDExLlxuICovXG5cbmFydGljbGUsXG5hc2lkZSxcbmRldGFpbHMsXG5maWdjYXB0aW9uLFxuZmlndXJlLFxuZm9vdGVyLFxuaGVhZGVyLFxuaGdyb3VwLFxubWFpbixcbm1lbnUsXG5uYXYsXG5zZWN0aW9uLFxuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gKi9cblxuYXVkaW8sXG5jYW52YXMsXG5wcm9ncmVzcyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xufVxuXG4vKipcbiAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gKiBSZW1vdmUgZXhjZXNzIGhlaWdodCBpbiBpT1MgNSBkZXZpY2VzLlxuICovXG5cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gKi9cblxuW2hpZGRlbl0sXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qIExpbmtzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICovXG5cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cblxuLyoqXG4gKiBJbXByb3ZlIHJlYWRhYmlsaXR5IHdoZW4gZm9jdXNlZCBhbmQgYWxzbyBtb3VzZSBob3ZlcmVkIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwO1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICovXG5cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHZhcmlhYmxlIGBoMWAgZm9udC1zaXplIGFuZCBtYXJnaW4gd2l0aGluIGBzZWN0aW9uYCBhbmQgYGFydGljbGVgXG4gKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICovXG5cbm1hcmsge1xuICBiYWNrZ3JvdW5kOiAjZmYwO1xuICBjb2xvcjogIzAwMDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTtcbn1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtO1xufVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICovXG5cbmltZyB7XG4gIGJvcmRlcjogMDtcbn1cblxuLyoqXG4gKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAqL1xuXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gKi9cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gKi9cblxuaHIge1xuICAtbW96LWJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgb2RkIGBlbWAtdW5pdCBmb250IHNpemUgcmVuZGVyaW5nIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5jb2RlLFxua2JkLFxucHJlLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgZm9udC1zaXplOiAxZW07XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gKi9cblxuLyoqXG4gKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAqIDIuIENvcnJlY3QgZm9udCBwcm9wZXJ0aWVzIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICBmb250OiBpbmhlcml0OyAvKiAyICovXG4gIG1hcmdpbjogMDsgLyogMyAqL1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICovXG5cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKipcbiAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gKi9cblxuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG59XG5cbi8qKlxuICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAqL1xuXG5idXR0b25bZGlzYWJsZWRdLFxuaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICovXG5cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgRmlyZWZveCA0KyBzZXR0aW5nIGBsaW5lLWhlaWdodGAgb24gYGlucHV0YCB1c2luZyBgIWltcG9ydGFudGAgaW5cbiAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICovXG5cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbn1cblxuLyoqXG4gKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICpcbiAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICovXG5cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICovXG5cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZVxuICogICAgKGluY2x1ZGUgYC1tb3pgIHRvIGZ1dHVyZS1wcm9vZikuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC13ZWJraXQtYm94LXNpemluZzogY29udGVudC1ib3g7IC8qIDIgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG59XG5cbi8qKlxuICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gKi9cblxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi8qKlxuICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICovXG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgbWFyZ2luOiAwIDJweDtcbiAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAqL1xuXG5sZWdlbmQge1xuICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMiAqL1xufVxuXG4vKipcbiAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bztcbn1cblxuLyoqXG4gKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAqL1xuXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xufVxuXG4vKiBUYWJsZXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICovXG5cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7XG59XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCB2YXJpYWJsZXNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIFByZWZpeFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gWW91IGNhbiBvcHRpb25hbGx5IG5hbWVzcGFjZSByZWZsZXggY2xhc3NlcyB0byBhdm9pZCBjbGFzaGluZyB3aXRoIG90aGVyIGNzcyBmcmFtZXdvcmtzXG4vLyBlLmcuIHNldHRpbmcgJHJlZmxleC1wcmVmaXggYXMgXCJyZWZsZXgtXCIgaGVyZSB3b3VsZCBjYXVzZSBjb2wtc20tNiB0byBiZWNvbWUgcmVmbGV4LWNvbC1zbS02XG4vLyBFeGFtcGxlOiAkcmVmbGV4LXByZWZpeDogcmVmbGV4LTtcbi8vIEJ5IGRlZmF1bHQgdGhpcyBpcyBhbiBlbXB0eSBzdHJpbmdcbiRyZWZsZXgtcHJlZml4OiBudWxsICFkZWZhdWx0O1xuXG5cbi8vIExlZ2FjeSBzdXBwb3J0XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZWZsZXggYWRkcyBhIGxvdCBvZiBjc3MgcHJvcGVydGllIHRvIHN1cHBvcnQgb2xkZXIgYnJvd3NlcnMgdGhhdCBkb24ndCBzdXBwb3J0IGZsZXhib3ggbGF5b3V0LlxuLy8gSWYgeW91IHByZWZlciB0byB1c2UgdGhpcyBhcyBhIHB1cmVseSBmbGV4Ym94IGdyaWQgd2l0aG91dCBsZWdhY3kgc3VwcG9ydCB0aGVuIHNldCB0aGlzIHRvIGZhbHNlXG4kbGVnYWN5LXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBoZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBSZWZsZXggaGFzIHNvbWUgZ2VuZXJpYyB2aXNpYmlsaXR5IGNsYXNzZXMgdG8gaGlkZSBlbGVtZW50cyBhdCBkaWZmZXJlbnQgYnJlYWtwb2ludHMuXG4vLyBJZiB5b3Ugd2FudCB0byBkaXNhYmxlIHRoZXNlIHRoZW4gc2V0IHRoaXMgdG8gZmFsc2VcbiR2aXNpYmlsaXR5LWhlbHBlcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIEdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgtY29sdW1uczogMTIgIWRlZmF1bHQ7IC8vIG51bWJlciBvZiBjb2x1bW5zXG5cbi8vIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcmVmbGV4LXhzOiA1NzZweCAhZGVmYXVsdDtcbiRyZWZsZXgtc206IDc2OHB4ICFkZWZhdWx0O1xuJHJlZmxleC1tZDogOTkycHggIWRlZmF1bHQ7XG4kcmVmbGV4LWxnOiAxMjAwcHggIWRlZmF1bHQ7XG4kcmVmbGV4LXhsZzogMTYwMHB4ICFkZWZhdWx0O1xuXG4kcmVmbGV4LXh4cy1tYXg6ICgkcmVmbGV4LXhzIC0gMSk7XG4kcmVmbGV4LXhzLW1heDogKCRyZWZsZXgtc20gLSAxKTtcbiRyZWZsZXgtc20tbWF4OiAoJHJlZmxleC1tZCAtIDEpO1xuJHJlZmxleC1tZC1tYXg6ICgkcmVmbGV4LWxnIC0gMSk7XG4kcmVmbGV4LWxnLW1heDogKCRyZWZsZXgteGxnIC0gMSk7XG5cbiRyZWZsZXgtYnJlYWtwb2ludHM6IChcbiAgeHhzOiAwcHgsXG4gIHhzOiAkcmVmbGV4LXhzLFxuICBzbTogJHJlZmxleC1zbSxcbiAgbWQ6ICRyZWZsZXgtbWQsXG4gIGxnOiAkcmVmbGV4LWxnLFxuICB4bGc6ICRyZWZsZXgteGxnXG4pO1xuXG4vLyBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4kcmVmbGV4LWdyaWQtc3BhY2luZzogMTVweCAhZGVmYXVsdDtcblxuLy8gQ3VzdG9tIHByb3BlcnRpZXMgc28gb3RoZXJzIGNhbiByZWZlcmVuY2UgdGhlIHZhcmlhYmxlcy5cbjpyb290IHtcbiAgLS1yZWZsZXgtY29sdW1uczogI3sgJHJlZmxleC1jb2x1bW5zIH07XG4gIC0tcmVmbGV4LWdyaWQtc3BhY2luZzogI3sgJHJlZmxleC1ncmlkLXNwYWNpbmcgfTtcbiAgLS1yZWZsZXgteHM6ICN7ICRyZWZsZXgteHMgfTtcbiAgLS1yZWZsZXgtc206ICN7ICRyZWZsZXgtc20gfTtcbiAgLS1yZWZsZXgtbWQ6ICN7ICRyZWZsZXgtbWQgfTtcbiAgLS1yZWZsZXgtbGc6ICN7ICRyZWZsZXgtbGcgfTtcbiAgLS1yZWZsZXgteGxnOiAjeyAkcmVmbGV4LXhsZyB9O1xuICAtLXJlZmxleC14eHMtbWF4OiAjeyAkcmVmbGV4LXh4cy1tYXggfTtcbiAgLS1yZWZsZXgteHMtbWF4OiAjeyAkcmVmbGV4LXhzLW1heCB9O1xuICAtLXJlZmxleC1zbS1tYXg6ICN7ICRyZWZsZXgtc20tbWF4IH07XG4gIC0tcmVmbGV4LW1kLW1heDogI3sgJHJlZmxleC1tZC1tYXggfTtcbiAgLS1yZWZsZXgtbGctbWF4OiAjeyAkcmVmbGV4LWxnLW1heCB9O1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBjb250YWluZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1jb250YWluZXIsXG4uI3skcmVmbGV4LXByZWZpeH1jb250YWluZXItZnVsbCB7XG4gICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgcGFkZGluZy1yaWdodDogKCRyZWZsZXgtZ3JpZC1zcGFjaW5nICogMik7XG4gICAgcGFkZGluZy1sZWZ0OiAoJHJlZmxleC1ncmlkLXNwYWNpbmcgKiAyKTtcblxuICAgIC4jeyRyZWZsZXgtcHJlZml4fWdyaWQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kcmVmbGV4LWdyaWQtc3BhY2luZztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0kcmVmbGV4LWdyaWQtc3BhY2luZztcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWNvbnRhaW5lciB7XG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LXhzO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC1zbTtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgtbWQ7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LWxnO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgteGxnO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBncmlkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1ncmlkIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGRpc3BsYXktZmxleCgpO1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcCgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIEBpbmNsdWRlIHNldHVwLXdoaXRlc3BhY2UoKTtcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LXdoaXRlc3BhY2UoKTtcbiAgICB9XG5cbiAgICAvLyBoYW5kbGUgd2hlbiBsaXN0cyBhcmUgdXNlZCBhcyBhIGdyaWRcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggY29sIGRlZmF1bHRzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5bY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIEBpbmNsdWRlIHJlc2V0LXdoaXRlc3BhY2UoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBwYWRkaW5nOiAkcmVmbGV4LWdyaWQtc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgICAgIEBpbmNsdWRlIHJlc2V0LXdoaXRlc3BhY2UoKTtcbiAgICB9XG5cbiAgICAvLyBoYW5kbGUgZ3JpZHMgbmVzdGVkIGluIGNvbHVtbnNcbiAgICAuI3skcmVmbGV4LXByZWZpeH1ncmlkIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleCgxLCAxLCBhdXRvKTtcbiAgICAgICAgbWFyZ2luOiAtJHJlZmxleC1ncmlkLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAqZGlzcGxheTogaW5saW5lO1xuICAgICAgICB6b29tOiAxO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBncmlkIGdlbmVyYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLSk7XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wteHMtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC1zbS0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLW1kLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtbGctKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wteGxnLSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggY29sLWF1dG9cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1hdXRvIHtcbiAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICAuI3skcmVmbGV4LXByZWZpeH1jb2wteHMtYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICAuI3skcmVmbGV4LXByZWZpeH1jb2wtc20tYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICAuI3skcmVmbGV4LXByZWZpeH1jb2wtbWQtYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICAuI3skcmVmbGV4LXByZWZpeH1jb2wtbGctYXV0byB7XG4gICAgICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xuICAgIH1cbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Y29sLXhsZy1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IG9yZGVyIGhlbHBlcnMgZ2VuZXJhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWFrZS1vcmRlci1oZWxwZXJzKCk7XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhzKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICctc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLW1kJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LWxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy1sZycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLXhsZycpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IG9mZnNldCBoZWxwZXJzIGdlbmVyYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIG1ha2Utb2Zmc2V0LWhlbHBlcnMoKTtcblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICcteHMnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICctc20nKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbWQpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICctbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICctbGcnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxLCAnLXhsZycpO1xufVxuIiwiLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBncmlkIGdlbmVyYXRpb24gbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gbWFrZS1yZWZsZXgtZ3JpZCgkY2xhc3MpIHtcbiAgICBAaW5jbHVkZSBsb29wLXJlZmxleC1jb2x1bW5zKCRyZWZsZXgtY29sdW1ucywgJGNsYXNzLCB3aWR0aCk7XG59XG5cbkBtaXhpbiBjYWxjLXJlZmxleC1jb2x1bW5zKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICAgIEBpZiAkdHlwZSA9PSB3aWR0aCBhbmQgJGluZGV4ID4gMCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fSN7JGNsYXNzfSN7JGluZGV4fSB7XG4gICAgICAgICAgICB3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJHJlZmxleC1jb2x1bW5zKSk7XG4gICAgICAgICAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAgICAgICAgICp3aWR0aDogcGVyY2VudGFnZSgoJGluZGV4IC8gJHJlZmxleC1jb2x1bW5zKSkgLSAuMTsgLy8gaWU3IGNzcyBoYWNrXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBtaXhpbiBsb29wLXJlZmxleC1jb2x1bW5zKCRpbmRleCwgJGNsYXNzLCAkdHlwZSkge1xuICAgIEBpZiAkaW5kZXggPj0gMCB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGMtcmVmbGV4LWNvbHVtbnMoJGluZGV4LCAkY2xhc3MsICR0eXBlKTtcbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1yZWZsZXgtY29sdW1ucygoJGluZGV4IC0gMSksICRjbGFzcywgJHR5cGUpO1xuICAgIH1cbn1cblxuLy8gZGVmYXVsdHMgZm9yIGF1dG8gY29sc1xuQG1peGluIHNldHVwLWF1dG8tY29scygpIHtcbiAgICBAaW5jbHVkZSBmbGV4KDEsIDAsIDBweCk7IC8vIGEgdW5pdCBvbiBsYXN0IHZhbHVlIGlzIHJlcXVpcmVkIGJ5IElFMTAtMTFcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGlubGluZS1ibG9jayBzcGVjaWZpYyBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBzZXR1cC13aGl0ZXNwYWNlKCkge1xuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtLjMxZW07XG4gICAgICAgICpsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB3b3JkLXNwYWNpbmc6IC0uNDNlbTtcbiAgICB9XG59XG5cbkBtaXhpbiByZXNldC13aGl0ZXNwYWNlKCkge1xuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAgIH1cbn1cblxuQG1peGluIHJlc2V0LXRleHQtYWxpZ24oKSB7XG4gICAgLy9cbiAgICAvLyBXZSB3YW50IHRvIHJlc2V0IGFueSB0ZXh0LWFsaWduIHByb3BlcnRpZXMgc2V0IGJ5IHRoZSBncmlkXG4gICAgLy8gKHJlcXVpcmVkIGZvciB0aGUgaW5saW5lLWJsb2NrIGZhbGxiYWNrKVxuICAgIC8vIGJ1dCB3ZSBkb24ndCB3YW50IHRvIG92ZXJyaWRlIGFueSB0ZXh0LWFsaWduIHByb3BlcnRpZXNcbiAgICAvLyBzZXQgb24gdGhlIGluZGl2aWR1YWwgY29sLXggZWxlbWVudFxuICAgIC8vIG9yIG9uIGFueSBvZiBpdCdzIGNoaWxkIGVsZW1lbnRzXG4gICAgLy9cbiAgICAvLyAxKSBzZXQgdG8gbGVmdCBieSBkZWZhdWx0ICh3b3JrcyBldmVyeXdoZXJlKVxuICAgIC8vIDIpIHNldCB0byBzdGFydCAocmVzcGVjdHMgcmlnaHQgdG8gbGVmdCB0ZXh0KVxuICAgIC8vXG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB0ZXh0LWFsaWduOiBzdGFydDtcbiAgICAtbW96LXRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICAtbW96LXRleHQtYWxpZ24tbGFzdDogc3RhcnQ7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgIHRleHQtYWxpZ24tbGFzdDogc3RhcnQ7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBvcmRlciBjbGFzcyBnZW5lcmF0aW9uIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIG9yZGVyKCRvcmRlcjogMCkge1xuICAgIC1tcy1mbGV4LW9yZGVyOiAkb3JkZXI7XG4gICAgLXdlYmtpdC1vcmRlcjogJG9yZGVyO1xuICAgIG9yZGVyOiAkb3JkZXI7XG59XG5cbkBtaXhpbiBtYWtlLW9yZGVyLWhlbHBlcnMoKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyk7XG59XG5cbkBtaXhpbiBsb29wLW9yZGVyLWhlbHBlcnMoJGluZGV4LCAkYnJlYWtwb2ludDogbnVsbCkge1xuICAgIEBpZiAkaW5kZXggPj0gMCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fW9yZGVyI3skYnJlYWtwb2ludH0tI3skaW5kZXh9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9yZGVyKCRpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCgkaW5kZXggLSAxKSwgJGJyZWFrcG9pbnQpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG9mZnNldCBjbGFzcyBnZW5lcmF0aW9uIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbkBtaXhpbiBvZmZzZXQoJGluZGV4OiAwKSB7XG4gICAgJG9mZnNldDogKCRpbmRleCAvICRyZWZsZXgtY29sdW1ucyk7XG4gICAgLy8gY29udmVydCB0byBwZXJjZW50YWdlIG9ubHkgaWYgbm90IHplcm9cbiAgICBAaWYgJG9mZnNldCAhPSAwIHtcbiAgICAgICAgJG9mZnNldDogcGVyY2VudGFnZSgkb2Zmc2V0KTtcbiAgICB9XG4gICAgbWFyZ2luLWxlZnQ6ICRvZmZzZXQ7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgKm1hcmdpbi1sZWZ0OiBwZXJjZW50YWdlKCgkaW5kZXggLyAkcmVmbGV4LWNvbHVtbnMpKSAtIC4xOyAvLyBpZTcgY3NzIGhhY2tcbiAgICB9XG59XG5cbkBtaXhpbiBtYWtlLW9mZnNldC1oZWxwZXJzKCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSk7XG59XG5cbkBtaXhpbiBsb29wLW9mZnNldC1oZWxwZXJzKCRpbmRleCwgJGJyZWFrcG9pbnQ6IG51bGwpIHtcbiAgICBAaWYgJGluZGV4ID4gMCBhbmQgJGJyZWFrcG9pbnQgPT0gbnVsbCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fW9mZnNldCN7JGJyZWFrcG9pbnR9LSN7JGluZGV4fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvZmZzZXQoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCgkaW5kZXggLSAxKSwgJGJyZWFrcG9pbnQpO1xuICAgIH0gQGVsc2UgaWYgJGluZGV4ID49IDAgYW5kICRicmVha3BvaW50ICE9IG51bGwge1xuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1vZmZzZXQjeyRicmVha3BvaW50fS0jeyRpbmRleH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgb2Zmc2V0KCRpbmRleCk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gbmV4dCBpdGVyYXRpb25cbiAgICAgICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygoJGluZGV4IC0gMSksICRicmVha3BvaW50KTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggbW9kaWZpZXIgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vL1xuLy8gZGlzcGxheVxuLy8gLS0tXG5cbkBtaXhpbiBkaXNwbGF5LWZsZXgoKSB7XG4gICAgZGlzcGxheTogLW1zLWZsZXhib3g7XG4gICAgZGlzcGxheTogLXdlYmtpdC1mbGV4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vXG4vLyBmbGV4XG4vLyAtLS1cblxuQG1peGluIGZsZXgoJGdyb3c6IDAsICRzaHJpbms6IDEsICRiYXNpczogYXV0bykge1xuICAgIEBpZiAkYmFzaXMgPT0gMCB7XG4gICAgICAgIC1tcy1mbGV4OiAkZ3JvdyAkc2hyaW5rIGF1dG87IC8vaWUxMCBuZWVkcyBhdXRvXG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4OiAkZ3JvdyAkc2hyaW5rICRiYXNpcztcbiAgICB9XG5cbiAgICAtd2Via2l0LWZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xuICAgIGZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xufVxuXG5AbWl4aW4gZmxleC1ncm93KCRncm93OjEpIHtcbiAgICAtbXMtZmxleC1wb3NpdGl2ZTogJGdyb3c7XG4gICAgLXdlYmtpdC1mbGV4LWdyb3c6ICRncm93O1xuICAgIGZsZXgtZ3JvdzogJGdyb3c7XG59XG5cbkBtaXhpbiBmbGV4LXNocmluaygkc2hyaW5rOjEpIHtcbiAgICAtbXMtZmxleC1uZWdhdGl2ZTogJHNocmluaztcbiAgICAtd2Via2l0LWZsZXgtc2hyaW5rOiAkc2hyaW5rO1xuICAgIGZsZXgtc2hyaW5rOiAkc2hyaW5rO1xufVxuXG5AbWl4aW4gZmxleC1iYXNpcygkYmFzaXM6YXV0bykge1xuICAgIC1tcy1mbGV4LXByZWZlcnJlZC1zaXplOiAkYmFzaXM7XG4gICAgLXdlYmtpdC1mbGV4LWJhc2lzOiAkYmFzaXM7XG4gICAgZmxleC1iYXNpczogJGJhc2lzO1xufVxuXG5AbWl4aW4gZmxleC1mbG93KCRkaXJlY3Rpb246IHJvdywgJHdyYXA6IG5vd3JhcCkge1xuICAgIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAtd2Via2l0LWZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbiAgICBmbGV4LWZsb3c6ICRkaXJlY3Rpb24gJHdyYXA7XG59XG5cbkBtaXhpbiBmbGV4LXdyYXAoJHdyYXA6IHdyYXApIHtcbiAgICAtbXMtZmxleC13cmFwOiAkd3JhcDtcbiAgICAtd2Via2l0LWZsZXgtd3JhcDogJHdyYXA7XG4gICAgZmxleC13cmFwOiAkd3JhcDtcbn1cblxuQG1peGluIGZsZXgtZGlyZWN0aW9uKCRkaXJlY3Rpb246IHJvdykge1xuICAgIC1tcy1mbGV4LWRpcmVjdGlvbjogJGRpcmVjdGlvbjtcbiAgICAtd2Via2l0LWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuXG4vL1xuLy8gYWxpZ25cbi8vIC0tLVxuXG5AbWl4aW4gYWxpZ24taXRlbXMoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24taXRlbXMoJGFsaWduKTtcbiAgICAtd2Via2l0LWFsaWduLWl0ZW1zOiAkYWxpZ247XG4gICAgYWxpZ24taXRlbXM6ICRhbGlnbjtcbn1cblxuQG1peGluIGFsaWduLXNlbGYoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24tc2VsZigkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24tc2VsZjogJGFsaWduO1xuICAgIGFsaWduLXNlbGY6ICRhbGlnbjtcbn1cblxuQG1peGluIGFsaWduLWNvbnRlbnQoJGFsaWduOiBzdHJldGNoKSB7XG4gICAgQGluY2x1ZGUgbXMtYWxpZ24tY29udGVudCgkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24tY29udGVudDogJGFsaWduO1xuICAgIGFsaWduLWNvbnRlbnQ6ICRhbGlnbjtcbn1cblxuLy9cbi8vIGllMTAgc3ludGF4IGZvciBhbGlnblxuLy8gLS0tXG5cbkBtaXhpbiBtcy1hbGlnbi1pdGVtcygkYWxpZ24pIHtcbiAgICBAaWYgJGFsaWduID09ICdmbGV4LXN0YXJ0JyB7XG4gICAgICAgIC1tcy1mbGV4LWFsaWduOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnZmxleC1lbmQnIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IGVuZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246ICRhbGlnbjtcbiAgICB9XG59XG5cbkBtaXhpbiBtcy1hbGlnbi1zZWxmKCRhbGlnbikge1xuICAgIEBpZiAkYWxpZ24gPT0gJ2ZsZXgtc3RhcnQnIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogc3RhcnQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ2ZsZXgtZW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWl0ZW0tYWxpZ246IGVuZDtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogJGFsaWduO1xuICAgIH1cbn1cblxuQG1peGluIG1zLWFsaWduLWNvbnRlbnQoJGFsaWduKSB7XG4gICAgQGlmICRhbGlnbiA9PSAnZmxleC1zdGFydCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IHN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdmbGV4LWVuZCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGVuZDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnc3BhY2UtYmV0d2Vlbicge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGp1c3RpZnk7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ3NwYWNlLWFyb3VuZCcge1xuICAgICAgICAtbXMtZmxleC1saW5lLXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgfSBAZWxzZSB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogJGFsaWduO1xuICAgIH1cbn1cblxuLy9cbi8vIGp1c3RpZnktY29udGVudFxuLy9cbi8vIFVzZXMgXCJ0ZXh0LWFsaWduXCIgZm9yIHRoZSBmYWxsYmFjayBpbmxpbmUtYmxvY2sgZ3JpZFxuLy8gXCJ0ZXh0LWFsaWduXCIgaXMgZ2xvYmFsbHkgc3VwcG9ydGVkIGFuZCB3b3JrcyBvbiBhbGwgcm93cyBleGNlcHQgdGhlIGxhc3Rcbi8vIFwidGV4dC1hbGlnbi1sYXN0XCIsIHdoZXJlIHN1cHBvcnRlZCwgaGFuZGxlcyB0aGUgbGFzdCBsaW5lIChhbmQsIGhhcHBpbHksIGdyaWRzIHdpdGggb25seSBvbmUgcm93KVxuLy8gLS0tXG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogc3RhcnQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LWVuZCgpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBlbmQ7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGNlbnRlcjtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG5AbWl4aW4ganVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4oKSB7XG4gICAgLW1zLWZsZXgtcGFjazoganVzdGlmeTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYXJvdW5kKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGRpc3RyaWJ1dGU7XG4gICAgLXdlYmtpdC1qdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlc3BvbnNpYmxlIFZpc2liaWxpdHlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiByZXNwb25zaXZlLXZpc2liaWxpdHktaGVscGVycygpIHtcbiAgICBAaWYgJHZpc2liaWxpdHktaGVscGVycyA9PSB0cnVlIHtcbiAgICAgICAgLy8gV2UgbmVlZCB0byBoYW5kbGUgeHhzIGFuZCB4bGcgYnJlYWtwb2ludHMgZGlmZmVyZW50bHlcbiAgICAgICAgJG1hcC1yZWZsZXgtYnJlYWtwb2ludHM6IG1hcC1yZW1vdmUoJHJlZmxleC1icmVha3BvaW50cywgeHhzLCB4bGcpO1xuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi14eHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCd4eHMnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRicCBpbiBtYXAta2V5cygkbWFwLXJlZmxleC1icmVha3BvaW50cykge1xuICAgICAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9aGlkZGVuLSN7JGJwfS11cCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC11cCgkYnApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIFxuXG4gICAgICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4tI3skYnB9LWRvd24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkYnApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi0jeyRicH0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSgkYnApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4teGxnIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtb25seSgneGxnJykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEJyZWFrcG9pbnQgdmlld3BvcnQgc2l6ZXMgYW5kIG1lZGlhIHF1ZXJpZXMuXG4vL1xuLy8gQnJlYWtwb2ludHMgYXJlIGRlZmluZWQgYXMgYSBtYXAgb2YgKG5hbWU6IG1pbmltdW0gd2lkdGgpLCBvcmRlciBmcm9tIHNtYWxsIHRvIGxhcmdlOlxuLy8gKHhzOiA1NzZweCwgc206IDc2OHB4LCBtZDogOTkycHgpXG4vLyBUaGUgbWFwIGRlZmluZWQgaW4gdGhlIGAkcmVmbGV4LWJyZWFrcG9pbnRzYCBnbG9iYWwgdmFyaWFibGUgaXMgdXNlZCBhcyB0aGUgYCRicmVha3BvaW50c2AgYXJndW1lbnQgYnkgZGVmYXVsdC5cbi8vIE5hbWUgb2YgdGhlIG5leHQgYnJlYWtwb2ludCwgb3IgbnVsbCBmb3IgdGhlIGxhc3QgYnJlYWtwb2ludC5cbi8vID4+IGJyZWFrcG9pbnQtbmV4dChzbSkgLT4gbWRcbi8vID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnRzOiAoeHM6IDU3NnB4LCBzbTogNzY4cHgsIG1kOiA5OTJweCkpIC0+IG1kXG4vLyA+PiBicmVha3BvaW50LW5leHQoc20sICRicmVha3BvaW50LW5hbWVzOiAoeHMgc20gbWQpKSAtPiBtZFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbmV4dCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzLCAkYnJlYWtwb2ludC1uYW1lczogbWFwLWtleXMoJGJyZWFrcG9pbnRzKSkge1xuICAgICRuOiBpbmRleCgkYnJlYWtwb2ludC1uYW1lcywgJG5hbWUpO1xuICAgIEByZXR1cm4gaWYoJG4gPCBsZW5ndGgoJGJyZWFrcG9pbnQtbmFtZXMpLCBudGgoJGJyZWFrcG9pbnQtbmFtZXMsICRuICsgMSksIG51bGwpO1xufVxuXG4vLyBNaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBzbWFsbGVzdCAoZmlyc3QpIGJyZWFrcG9pbnQuXG4vLyA+PiBicmVha3BvaW50LW1pbihzbSwgKHhzOiA1NzZweCwgc206IDc2OHB4LCBtZDogOTkycHgpKSAtPiA3NjhweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWluKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJG5hbWUpO1xuICAgIEByZXR1cm4gaWYoJG1pbiAhPTAsICRtaW4sIG51bGwpO1xufVxuXG4vLyBNYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE51bGwgZm9yIHRoZSBsYXJnZXN0IChsYXN0KSBicmVha3BvaW50LlxuLy8gVGhlIG1heGltdW0gdmFsdWUgaXMgY2FsY3VsYXRlZCBhcyB0aGUgbWluaW11bSBvZiB0aGUgbmV4dCBvbmUgbGVzcyAwLjEuXG4vLyA+PiBicmVha3BvaW50LW1heChzbSwgKHhzOiA1NzZweCwgc206IDc2OHB4LCBtZDogOTkycHgpKSAtPiA5OTFweFxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICAkbmV4dDogYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuICAgIEByZXR1cm4gaWYoJG5leHQsIGJyZWFrcG9pbnQtbWluKCRuZXh0LCAkYnJlYWtwb2ludHMpIC0gMSwgbnVsbCk7XG59XG5cbi8vIE1lZGlhIG9mIGF0IGxlYXN0IHRoZSBtaW5pbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludC5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCBhbmQgd2lkZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC11cCgkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzKSB7XG4gICAgJG1pbjogYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJG1pbiB7XG4gICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAkbWluKSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBNZWRpYSBvZiBhdCBtb3N0IHRoZSBtYXhpbXVtIGJyZWFrcG9pbnQgd2lkdGguIE5vIHF1ZXJ5IGZvciB0aGUgbGFyZ2VzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50czogJHJlZmxleC1icmVha3BvaW50cykge1xuICAgICRtYXg6IGJyZWFrcG9pbnQtbWF4KCRuYW1lLCAkYnJlYWtwb2ludHMpO1xuXG4gICAgQGlmICRtYXgge1xuICAgICAgICBAbWVkaWEgKG1heC13aWR0aDogJG1heCkge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAZWxzZSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgIH1cbn1cblxuLy8gTWVkaWEgYmV0d2VlbiB0aGUgYnJlYWtwb2ludCdzIG1pbmltdW0gYW5kIG1heGltdW0gd2lkdGhzLlxuLy8gTm8gbWluaW11bSBmb3IgdGhlIHNtYWxsZXN0IGJyZWFrcG9pbnQsIGFuZCBubyBtYXhpbXVtIGZvciB0aGUgbGFyZ2VzdCBvbmUuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgb25seSB0byB0aGUgZ2l2ZW4gYnJlYWtwb2ludCwgbm90IHZpZXdwb3J0cyBhbnkgd2lkZXIgb3IgbmFycm93ZXIuXG5AbWl4aW4gbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRuYW1lLCAkYnJlYWtwb2ludHMpIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gb3RoZXIgbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gYm94LXNpemluZygkYm94bW9kZWwpIHtcbiAgICAtd2Via2l0LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICAtbW96LWJveC1zaXppbmc6ICRib3htb2RlbDtcbiAgICBib3gtc2l6aW5nOiAkYm94bW9kZWw7XG59XG4iLCJcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBncmlkIG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGZsZXgtd3JhcFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9d3JhcCB7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXApO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1uby13cmFwIHtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAobm93cmFwKTtcblxuICAgIC8vIFRoaXMgaXMgbW9zdGx5IG5lZWRlZCB0byBzdG9wIHRoZSBncmlkIGNvbnRlbnRzIG92ZXJmbG93aW5nIGluIHRoZVxuICAgIC8vIGllMTAgaW1wbGVtZW50YXRpb24gb2YgZmxleGJveCBidXQgaXQgY2FuJ3QgaHVydCBpbiBvdGhlciBicm93c2Vyc1xuICAgIC8vIGFzIGl0IGlzIHRoZSBkZXNpcmVkIGJlaGF2aW91ciBvZiBub24gd3JhcHBpbmcgZmxleCBpdGVtc1xuICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LXNocmluaygxKTtcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fXdyYXAtcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKHdyYXAtcmV2ZXJzZSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBmbGV4LWRpcmVjdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdyB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdy1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3ctcmV2ZXJzZSk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWRpcmVjdGlvbi1jb2x1bW4tcmV2ZXJzZSB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uLXJldmVyc2UpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWxpZ24gaXRlbXMgKGNyb3NzIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zdGFydCB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1zdGFydCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoZmxleC1lbmQpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgLy8gZmFsbGJhY2sgdG8gbGVnYWN5IHZlcnRpY2FsLWFsaWduXG4gICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhjZW50ZXIpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgLy8gZmFsbGJhY2sgdG8gbGVnYWN5IHZlcnRpY2FsLWFsaWduXG4gICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tYmFzZWxpbmUge1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGJhc2VsaW5lKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGFsaWduIGNvbnRlbnQgKGNyb3NzIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGZsZXgtc3RhcnQpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChmbGV4LWVuZCk7XG5cbiAgICAvLyBmYWxsYmFjayB0byBsZWdhY3kgdmVydGljYWwtYWxpZ25cbiAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGNlbnRlcik7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChzcGFjZS1iZXR3ZWVuKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1zcGFjZS1hcm91bmQge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoc3BhY2UtYXJvdW5kKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGFsaWduLXNlbGZcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtc3RyZXRjaCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihzdHJldGNoKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1zdGFydCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihmbGV4LXN0YXJ0KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1lbmQge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoZmxleC1lbmQpO1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXNlbGYtY2VudGVyIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGNlbnRlcik7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1iYXNlbGluZSB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihiYXNlbGluZSk7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8ganVzdGlmeS1jb250ZW50IChtYWluIGF4aXMpXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtc3RhcnQoKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LWVuZCB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LWVuZCgpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiByaWdodDtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LWNlbnRlciB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LWNlbnRlcigpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcblxuICAgICAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgcmVzZXQtdGV4dC1hbGlnbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1qdXN0aWZ5LXNwYWNlLWJldHdlZW4ge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1zcGFjZS1iZXR3ZWVuKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktc3BhY2UtYXJvdW5kIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYXJvdW5kKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTtcbiAgICAgICAgICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuICAgICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBqdXN0aWZ5O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb3NtZXRpYyBncmlkIG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUmVtb3ZlcyBpbnRlcm5hbCBwYWRkaW5nIGZyb20gYWxsIGNvbHVtbnMgaW4gYSBncmlkXG4uI3skcmVmbGV4LXByZWZpeH1ncmlkLWJsZWVkIHtcbiAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb2wgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBNYWtlcyBhIGNvbHVtbiBlbGVtZW50IGludG8gYSBmbGV4Ym94IGNvbHVtblxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWdyaWQge1xuICAgIEBpbmNsdWRlIGRpc3BsYXktZmxleCgpO1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKGNvbHVtbik7XG5cbiAgICAmLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdyk7XG4gICAgfVxufVxuXG4vLyBSZW1vdmVzIGludGVybmFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZCB7XG4gICAgcGFkZGluZzogMDtcbn1cblxuLy8gUmVtb3ZlcyBob3Jpem9udGFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZC14IHtcbiAgICBwYWRkaW5nOiAkcmVmbGV4LWdyaWQtc3BhY2luZyAwO1xufVxuXG4vLyBSZW1vdmVzIHZlcnRpY2FsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWNvbC1ibGVlZC15IHtcbiAgICBwYWRkaW5nOiAwICRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gY29sLWdyaWQgY29udGVudHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWZsZXgtaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBAaW5jbHVkZSBmbGV4KDAsIDAsIGF1dG8pO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgKndpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZmxleC1mb290ZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBtb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBpbmNsdWRlIHJlc3BvbnNpdmUtdmlzaWJpbGl0eS1oZWxwZXJzKCk7XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQ29uZmlnIC0gRm9udHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuQG1peGluIGZvbnQtdSB7XG4gICAgQGluY2x1ZGUgZm9udC1ibztcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdvcGVuX3NhbnNib2xkJztcbiAgc3JjOiB1cmwoJy4uL2ZvbnQvb3BlbnNhbnMtYm9sZC13ZWJmb250LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgIHVybCgnLi4vZm9udC9vcGVuc2Fucy1ib2xkLXdlYmZvbnQud29mZicpIGZvcm1hdCgnd29mZicpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ29wZW5fc2Fuc3JlZ3VsYXInO1xuICBzcmM6IHVybCgnLi4vZm9udC9vcGVuc2Fucy1yZWd1bGFyLXdlYmZvbnQud29mZjInKSBmb3JtYXQoJ3dvZmYyJyksXG4gICAgdXJsKCcuLi9mb250L29wZW5zYW5zLXJlZ3VsYXItd2ViZm9udC53b2ZmJykgZm9ybWF0KCd3b2ZmJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQ29uZmlnIC0gVmFyc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG46cm9vdCB7XG4gIC0tYy1wcmltYXJ5OiAjMWYxZDFlO1xuICAtLWMtc2Vjb25kYXJ5OiAjZmZiN2EzO1xuICAtLWMtd2hpdGU6ICNmZmZmZmY7XG4gIC0tYy1ibGFjazogIzAwMDAwMDtcbiAgLS1jLWdyZXk6ICNGOUY5Rjk7XG5cbiAgLS1jLXRleHQ6ICMxZjFkMWU7XG4gIC0tYy1iZzogI2ZmZjtcbiAgLS1jLXBvbXBlaWk6ICM4NjI2MzM7XG4gIC0tYy1tX3JlZDogI2FmMWUyZDtcbiAgLS1jLWJfcmVkOiAjYmYyZTAwO1xuICAtLWMtc3RvbmU6IHRyYW5zcGFyZW50aXplKCM0NDVhM2UsIDAuOSk7XG4gIC0tYy1ibHVlOiAjNTZhYmIwO1xuICAtLWMtc19ibHVlOiAjMDA0ZjcxO1xuICAtLWMtZ3JlZW46ICM0NDVhM2U7XG4gIC0tYy1zbGF0ZTogIzYyNTc1NDtcblxuICAtLWMtZXhoaWJpdGlvbjogIzAwNjQwMDtcbiAgLS1jLXRhbGtzOiAjN0EwMDdBO1xuICAtLWMtdG91cnM6ICM0NDQ0NDQ7XG4gIC0tYy1ldmVuaW5nOiAjNDQ1YTNlO1xuICAtLWMtZmFtaWxpZXM6ICMxNzU5N0U7XG4gIC0tYy13b3Jrc2hvcHM6ICMwMDgwODA7XG4gIC0tYy1vZmZzaXRlLXRvdXJpbmc6ICNiNjhjYzE7XG4gIC0tYy1zb2FuZS1sYXRlczogIzg2MjYzMztcbiAgLS1jLWNvdXJzZTogI0RGMzYwMDtcblxuICBcblxuICAtLWZvbnQtb3NsbzogJ29wZW5fc2Fuc3JlZ3VsYXInLCAtYXBwbGUtc3lzdGVtLCBCbGlua01hY1N5c3RlbUZvbnQsICdTZWdvZSBVSScsXG4gICAgUm9ib3RvLCBPeHlnZW4sIFVidW50dSwgQ2FudGFyZWxsLCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcbiAgLS1mb250LWJvZHk6ICdvcGVuX3NhbnNyZWd1bGFyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLFxuICAgIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC1ib2xkOiAnb3Blbl9zYW5zYm9sZCcsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJyxcbiAgICBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnQtdGl0bGU6ICdvcGVuX3NhbnNib2xkJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LCAnU2Vnb2UgVUknLFxuICAgIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udC10aXRsZS1yZWc6ICdvcGVuX3NhbnNyZWd1bGFyJywgLWFwcGxlLXN5c3RlbSwgQmxpbmtNYWNTeXN0ZW1Gb250LFxuICAgICdTZWdvZSBVSScsIFJvYm90bywgT3h5Z2VuLCBVYnVudHUsIENhbnRhcmVsbCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsXG4gICAgc2Fucy1zZXJpZjtcbiAgLS1mb250LXRpdGxlOiAnb3Blbl9zYW5zYm9sZCcsIC1hcHBsZS1zeXN0ZW0sIEJsaW5rTWFjU3lzdGVtRm9udCwgJ1NlZ29lIFVJJyxcbiAgICBSb2JvdG8sIE94eWdlbiwgVWJ1bnR1LCBDYW50YXJlbGwsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuXG4gIC0tZm9udFNpemU6IDEwMCU7XG4gIC0tZm9udFNtYWxsOiA3MCU7XG4gIC0tbGluZUhlaWdodDogMS41O1xuICAtLWJ1bXA6IDMwcHg7XG4gIC0tYmFzZVVuaXQ6IDhweDtcblxuICAtLWZvbnRTaXplQm9keTogMThweDtcbiAgLS1saW5lSGVpZ2h0Qm9keTogMjdweDtcblxuICAtLWNvbnRhaW5lcldpZHRoOiAxMDByZW07XG5cbiAgLy8gTGF5b3V0XG4gIC0tY29udGFpbmVyV2lkdGg6IDEyNDVweDtcblxuICAvLyBBbmltYXRpb25zXG4gIC0tZWFzaW5nOiBjdWJpYy1iZXppZXIoMC44MywgMCwgMC4xNywgMSk7XG4gIC0tdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xufVxuXG4vKipcbiAqIEJyZWFrcG9pbnRzXG4gKi9cbiRicmVha3BvaW50czogKFxuICB4czogNTc2cHgsXG4gIHNtOiA3NjhweCxcbiAgbWQ6IDk5MnB4LFxuICBsZzogMTIwMHB4LFxuICB4bGc6IDE2MDBweCxcbik7XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEZvY3VzIFZpc2libGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIEZvY3VzIFZpc2libGVcbiAqIGh0dHBzOi8vZ2l0aHViLmNvbS9XSUNHL2ZvY3VzLXZpc2libGVcbiAqIE92ZXJyaWRlIGJhc2UgZm9jdXMgc3R5bGVzIGZvciBtb3VzZSBhbmQgdG91Y2ggaW50ZXJhY3Rpb25zXG4gKi9cbkBtaXhpbiBmb2N1cy12aXNpYmxlKCkge1xuICAuanMtZm9jdXMtdmlzaWJsZSAmIHtcbiAgICAmOm5vdCguZm9jdXMtdmlzaWJsZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEZvbnQgU21vb3RoaW5nXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqIFxuICogRm9udCBTbW9vdGhpbmdcbiAqIEVuYWJsZXMgZm9udCBzbW9vdGhpbmcgZm9yIGNhcGFibGUgYnJvd3NlcnMuXG4gKiBPcHRpb25hbGx5IGZvcmNlIGZvbnQtc21vb3RoaW5nIG9uIG5vbi1yZXRpbmEgZGV2aWNlcy5cbiAqIEBwYXJhbSB7Ym9vbGVhbn0gJGZvcmNlIFtmYWxzZV1cbiAqIEByZXR1cm4ge3N0cmluZ31cbiAqL1xuQG1peGluIGZvbnQtc21vb3RoaW5nKCRmb3JjZTogZmFsc2UpIHtcbiAgQGlmICRmb3JjZSA9PSB0cnVlIHtcbiAgICAtbW96LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgfSBAZWxzZSB7XG4gICAgQG1lZGlhICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSkge1xuICAgICAgLW1vei1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEhlbHBlcnMgLSBHbG9iYWwgbWl4aW5zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLy8gUmVzZXQgPGxpPiBlbGVtZW50c1xuQG1peGluIGxpLXJlc2V0IHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuXG4gIGxpIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vIFJlbW92ZSB0ZXh0IGZyb20gZWxlbWVudHNcbkBtaXhpbiBybS10ZXh0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG59XG5cbi8vIEJhY2tncm91bmQgaW1hZ2VzXG5AbWl4aW4gYmctaW1nKCRzaXplKSB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogJHNpemU7XG59XG5cbi8vIElFIDkrIG9ubHlcbkBtaXhpbiBpZSgkcHJvcGVydHksICR2YWx1ZSkge1xuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSBhbmQgKG1pbi1yZXNvbHV0aW9uOiArNzJkcGkpIHtcbiAgICAjeyRwcm9wZXJ0eX06ICN7JHZhbHVlfTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuUmVzZXQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBwYWRkaW5nOiAwO1xufVxuIiwiQGtleWZyYW1lcyBzaGFrZUhvcml6b250YWwge1xyXG4gICAgMTAlLCA5MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xcHgsIDAsIDApO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICAyMCUsIDgwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMnB4LCAwLCAwKTtcclxuICAgIH1cclxuICBcclxuICAgIDMwJSwgNTAlLCA3MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKC0xcHgsIDAsIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgNDAlLCA2MCUge1xyXG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDJweCwgMCwgMCk7XHJcbiAgICB9XHJcbn1cclxuXHJcbkBrZXlmcmFtZXMgc2hha2VWZXJ0aWNhbCB7XHJcbiAgICAxMCUsIDkwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTFweCwgMCk7XHJcbiAgICB9XHJcbiAgICBcclxuICAgIDIwJSwgODAlIHtcclxuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAycHgsIDApO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgMzAlLCA1MCUsIDcwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgLTFweCwgMCk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICA0MCUsIDYwJSB7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMnB4LCAwKTtcclxuICAgIH1cclxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gVGFibGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFJlc3BvbnNpdmUgVGFibGVcbiAqIENyZWF0ZXMgYSByZXNwb25zaXZlIHRhYmxlXG4gKiBBY2NlcHRzIGEgbGlzdCBvZiBoZWFkZXJzIHRvIHJlcGxhY2UgbWFpbiBcbiAqIHRhYmxlIGhlYWRlcnMgb24gbW9iaWxlLlxuICogQHBhcmFtIHttYXB9ICRoZWFkZXJzXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbkBtaXhpbiByZXNwb25zaXZlLXRhYmxlKCRoZWFkZXJzOiAoKSkge1xuICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRhYmxlLFxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRoLFxuICB0ZCxcbiAgdHIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgdGhlYWQge1xuICAgIHRyIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogLTk5OTlweDtcbiAgICAgICAgbGVmdDogLTk5OTlweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ciB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXB4O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yLWJsYWNrO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHggMDtcbiAgICAgIHBhZGRpbmc6IHNpemUoMzBweCkgMDtcbiAgICB9XG5cbiAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRkIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi10b3A6IHNpemUoMTZweCk7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSGVhZGVyc1xuICAgKi9cbiAgQGVhY2ggJGhlYWRlciBpbiAkaGVhZGVycyB7XG4gICAgJGk6IGluZGV4KCRoZWFkZXJzLCAkaGVhZGVyKTtcblxuICAgIHRkOm50aC1vZi10eXBlKCN7JGl9KTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBjb250ZW50OiAkaGVhZGVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiYm9keSB7XHJcbiAgICAmLmJhZ3VldHRlQm94LW9wZW4ge1xyXG4gICAgICAgICNiYWd1ZXR0ZUJveCB7XHJcbiAgICAgICAgICAgICYtb3ZlcmxheSB7XHJcbiAgICAgICAgICAgICAgICAuZnVsbC1pbWFnZSB7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XHJcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgZmlndXJlIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAgICAgICAgIGZpZ2NhcHRpb24ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDM2NiwgMC43KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtdGV4dCk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJpXCI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiA0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBoZWxwICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTlweDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYWxpZ24tY29udGVudDogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyogQXJyb3dzICovXHJcbi5zbGljay1wcmV2LFxyXG4uc2xpY2stbmV4dCB7XHJcbiAgICBmb250LXNpemU6IDA7XHJcbiAgICBsaW5lLWhlaWdodDogMDtcclxuICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcclxuICAgIGJvcmRlcjogbm9uZTtcclxuICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICB6LWluZGV4OiAxO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiA1MCU7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcclxuXHJcbiAgICAubS1lbnRpdHlfX3F1b3RlLXdpdGgtaW1hZ2UgJiB7XHJcbiAgICAgICAgd2lkdGg6IDMycHg7XHJcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgYm94LXNoYWRvdzogMCAycHggMTBweCAycHggcmdiYSgzMSwyOSwzMCwwLjA1KTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICAgICAgdG9wOiAxMDAlO1xyXG4gICAgICAgICAgICB3aWR0aDogMzZweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAzNnB4O1xyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjc1O1xyXG4gICAgICAgICAgICBoZWlnaHQ6IDU2cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1NnB4O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubS1iYW5uZXItLWNhcm91c2VsICYge1xyXG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgfVxyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlcixcclxuICAgICY6Zm9jdXMsXHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgICBvdXRsaW5lOiAzcHggZGFzaGVkIHZhcigtLWMtYmxhY2spO1xyXG4gICAgfVxyXG5cclxuICAgICYuc2xpY2stZGlzYWJsZWQge1xyXG4gICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogLjI1O1xyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuXHJcbiAgICAuc2xpY2stcHJldiB7XHJcbiAgICAgICAgLm0tZW50aXR5X19xdW90ZS13aXRoLWltYWdlICYge1xyXG4gICAgICAgICAgICBsZWZ0OiAtNzBweDtcclxuICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL2xlZnQtY29udHJvbC5wbmdcIik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIC5tLWJhbm5lci0tY2Fyb3VzZWwgJiB7XHJcbiAgICAgICAgICAgIGxlZnQ6IHZhcigtLWJ1bXApO1xyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgbGVmdDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9sZWZ0LWNoZXZyb24uc3ZnXCIpO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDA7XHJcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTcuNSUsIC0xNSUpO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XHJcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1MCU7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTEwJTtcclxuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xyXG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC43O1xyXG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAlO1xyXG4gICAgICAgICAgICAgICAgZmlsdGVyOiBibHVyKDE3LjVweCk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLnNsaWNrLW5leHQge1xyXG4gICAgICAgIC5tLWVudGl0eV9fcXVvdGUtd2l0aC1pbWFnZSAmIHtcclxuICAgICAgICAgICAgcmlnaHQ6IC03MHB4O1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1nL3JpZ2h0LWNvbnRyb2wucG5nXCIpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIFxyXG5cclxuICAgICAgICAubS1iYW5uZXItLWNhcm91c2VsICYge1xyXG4gICAgICAgICAgICByaWdodDogdmFyKC0tYnVtcCk7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgICAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltZy9yaWdodC1jaGV2cm9uLnN2Z1wiKTtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzMHB4O1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgICAgICAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03LjUlLCAtMTUlKTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNTAlO1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDExMCU7XHJcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAtMTtcclxuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwJTtcclxuICAgICAgICAgICAgICAgIGZpbHRlcjogYmx1cigxNy41cHgpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuXHJcbi8qIERvdHMgKi9cclxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLnNsaWNrLWRvdHMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1hcmdpbjogMDtcclxuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG4gICAgbGkge1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xyXG4gICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG5cclxuICAgICAgICBidXR0b24ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xyXG4gICAgICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBib3JkZXI6IDA7XHJcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XHJcblxyXG4gICAgICAgICAgICAmOmJlZm9yZSB7XHJcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xyXG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogOHB4O1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4cHg7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjE7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6aG92ZXIsXHJcbiAgICAgICAgICAgICY6Zm9jdXMge1xyXG4gICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcclxuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcclxuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XHJcbiAgICAgICAgICAgICYgPiBidXR0b24ge1xyXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufSIsIkBjaGFyc2V0IFwiVVRGLThcIjtcblxuLy8gICAgIF8gICAgICAgICAgICBfICAgICAgICAgICBfICAgICAgICAgICAgICAgICAgICAgICAgICAgXyBfXG4vLyAgICAoXykgICAgICAgICAgfCB8ICAgICAgICAgfCB8ICAgICAgICAgICAgICAgICAgICAgICAgIHwgKF8pXG4vLyAgICAgXyBfIF9fICAgX19ffCB8XyAgIF8gIF9ffCB8IF9fXyAgIF8gX18gX19fICAgX19fICBfX3wgfF8gIF9fIF9cbi8vICAgIHwgfCAnXyBcXCAvIF9ffCB8IHwgfCB8LyBfYCB8LyBfIFxcIHwgJ18gYCBfIFxcIC8gXyBcXC8gX2AgfCB8LyBfYCB8XG4vLyAgICB8IHwgfCB8IHwgKF9ffCB8IHxffCB8IChffCB8ICBfXy8gfCB8IHwgfCB8IHwgIF9fLyAoX3wgfCB8IChffCB8XG4vLyAgICB8X3xffCB8X3xcXF9fX3xffFxcX18sX3xcXF9fLF98XFxfX198IHxffCB8X3wgfF98XFxfX198XFxfXyxffF98XFxfXyxffFxuLy9cbi8vICAgICAgU2ltcGxlLCBlbGVnYW50IGFuZCBtYWludGFpbmFibGUgbWVkaWEgcXVlcmllcyBpbiBTYXNzXG4vLyAgICAgICAgICAgICAgICAgICAgICAgIHYxLjQuOVxuLy9cbi8vICAgICAgICBodHRwczovL2VkdWFyZG9ib3VjYXMuZ2l0aHViLmlvL2luY2x1ZGUtbWVkaWFcbi8vXG4vLyAgICAgICAgIEF1dGhvcnM6IEVkdWFyZG8gQm91Y2FzIChAZWR1YXJkb2JvdWNhcylcbi8vICAgICAgICAgICAgICAgICAgS2l0dHkgR2lyYXVkZWwgKEBraXR0eWdpcmF1ZGVsKVxuLy9cbi8vICAgICAgVGhpcyBwcm9qZWN0IGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgTUlUIGxpY2Vuc2Vcbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgS2l0dHkgR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBMb2cgYSBtZXNzYWdlIGVpdGhlciB3aXRoIGBAZXJyb3JgIGlmIHN1cHBvcnRlZFxuLy8vIGVsc2Ugd2l0aCBgQHdhcm5gLCB1c2luZyBgZmVhdHVyZS1leGlzdHMoJ2F0LWVycm9yJylgXG4vLy8gdG8gZGV0ZWN0IHN1cHBvcnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AZnVuY3Rpb24gaW0tbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKSB7XG4gICAgQGVycm9yICRtZXNzYWdlO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAkbWVzc2FnZTtcbiAgICAkXzogbm9vcCgpO1xuICB9XG5cbiAgQHJldHVybiAkbWVzc2FnZTtcbn1cblxuXG4vLy9cbi8vLyBXcmFwcGVyIG1peGluIGZvciB0aGUgbG9nIGZ1bmN0aW9uIHNvIGl0IGNhbiBiZSB1c2VkIHdpdGggYSBtb3JlIGZyaWVuZGx5XG4vLy8gQVBJIHRoYW4gYEBpZiBpbS1sb2coJy4uJykge31gIG9yIGAkXzogaW0tbG9nKCcuLicpYC4gQmFzaWNhbGx5LCB1c2UgdGhlIGZ1bmN0aW9uXG4vLy8gd2l0aGluIGZ1bmN0aW9ucyBiZWNhdXNlIGl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW4gYSBmdW5jdGlvblxuLy8vIGFuZCB1c2UgdGhlIG1peGluIGV2ZXJ5d2hlcmUgZWxzZSBiZWNhdXNlIGl0J3MgbXVjaCBtb3JlIGVsZWdhbnQuXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG1lc3NhZ2UgLSBNZXNzYWdlIHRvIGxvZ1xuLy8vXG5AbWl4aW4gbG9nKCRtZXNzYWdlKSB7XG4gIEBpZiBpbS1sb2coJG1lc3NhZ2UpIHt9XG59XG5cblxuLy8vXG4vLy8gRnVuY3Rpb24gd2l0aCBubyBgQHJldHVybmAgY2FsbGVkIG5leHQgdG8gYEB3YXJuYCBpbiBTYXNzIDMuM1xuLy8vIHRvIHRyaWdnZXIgYSBjb21waWxpbmcgZXJyb3IgYW5kIHN0b3AgdGhlIHByb2Nlc3MuXG4vLy9cbkBmdW5jdGlvbiBub29wKCkge31cblxuLy8vXG4vLy8gRGV0ZXJtaW5lcyB3aGV0aGVyIGEgbGlzdCBvZiBjb25kaXRpb25zIGlzIGludGVyY2VwdGVkIGJ5IHRoZSBzdGF0aWMgYnJlYWtwb2ludC5cbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAcmV0dXJuIHtCb29sZWFufSAtIFJldHVybnMgdHJ1ZSBpZiB0aGUgY29uZGl0aW9ucyBhcmUgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy9cbkBmdW5jdGlvbiBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSB7XG4gICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQpO1xuXG4gIEBpZiBub3QgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUge1xuICAgIEBpZiBpbS1sb2coJ2AjeyRpbS1uby1tZWRpYS1icmVha3BvaW50fWAgaXMgbm90IGEgdmFsaWQgYnJlYWtwb2ludC4nKSB7fVxuICB9XG5cbiAgQGVhY2ggJGNvbmRpdGlvbiBpbiAkY29uZGl0aW9ucyB7XG4gICAgQGlmIG5vdCBtYXAtaGFzLWtleSgkbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGNvbmRpdGlvbik7XG4gICAgICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgICAgICR2YWx1ZTogZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGNvbmRpdGlvbiwgJG9wZXJhdG9yKTtcblxuICAgICAgQGlmICgkcHJlZml4ID09ICdtYXgnIGFuZCAkdmFsdWUgPD0gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIG9yXG4gICAgICAgICAgKCRwcmVmaXggPT0gJ21pbicgYW5kICR2YWx1ZSA+ICRuby1tZWRpYS1icmVha3BvaW50LXZhbHVlKSB7XG4gICAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgfSBAZWxzZSBpZiBub3QgaW5kZXgoJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zLCAkY29uZGl0aW9uKSB7XG4gICAgICBAcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gdHJ1ZTtcbn1cblxuLy8vL1xuLy8vIFBhcnNpbmcgZW5naW5lXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIEdldCBvcGVyYXRvciBvZiBhbiBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3Qgb3BlcmF0b3IgZnJvbVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIEFueSBvZiBgPj1gLCBgPmAsIGA8PWAsIGA8YCwgYOKJpWAsIGDiiaRgXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkZXhwcmVzc2lvbikge1xuICBAZWFjaCAkb3BlcmF0b3IgaW4gKCc+PScsICc+JywgJzw9JywgJzwnLCAn4omlJywgJ+KJpCcpIHtcbiAgICBAaWYgc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgICAgIEByZXR1cm4gJG9wZXJhdG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgLy8gcmVseSBvbiB0aGUgYGltLWxvZyguLilgIGZ1bmN0aW9uIHJhdGhlciB0aGFuIHRoZSBgbG9nKC4uKWAgbWl4aW4uIEJlY2F1c2VcbiAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gIC8vIFNhc3MgMy4zLCBjaGFuZ2UgdGhpcyBsaW5lIGluIGBAaWYgaW0tbG9nKC4uKSB7fWAgaW5zdGVhZC5cbiAgJF86IGltLWxvZygnTm8gb3BlcmF0b3IgZm91bmQgaW4gYCN7JGV4cHJlc3Npb259YC4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCBkaW1lbnNpb24gZnJvbVxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkb3BlcmF0b3IgLSBPcGVyYXRvciBmcm9tIGAkZXhwcmVzc2lvbmBcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgd2lkdGhgIG9yIGBoZWlnaHRgIChvciBwb3RlbnRpYWxseSBhbnl0aGluZyBlbHNlKVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpIHtcbiAgJG9wZXJhdG9yLWluZGV4OiBzdHItaW5kZXgoJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwYXJzZWQtZGltZW5zaW9uOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sIDAsICRvcGVyYXRvci1pbmRleCAtIDEpO1xuICAkZGltZW5zaW9uOiAnd2lkdGgnO1xuXG4gIEBpZiBzdHItbGVuZ3RoKCRwYXJzZWQtZGltZW5zaW9uKSA+IDAge1xuICAgICRkaW1lbnNpb246ICRwYXJzZWQtZGltZW5zaW9uO1xuICB9XG5cbiAgQHJldHVybiAkZGltZW5zaW9uO1xufVxuXG5cbi8vL1xuLy8vIEdldCBkaW1lbnNpb24gcHJlZml4IGJhc2VkIG9uIGFuIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3Jcbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBgbWluYCBvciBgbWF4YFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tcHJlZml4KCRvcGVyYXRvcikge1xuICBAcmV0dXJuIGlmKGluZGV4KCgnPCcsICc8PScsICfiiaQnKSwgJG9wZXJhdG9yKSwgJ21heCcsICdtaW4nKTtcbn1cblxuXG4vLy9cbi8vLyBHZXQgdmFsdWUgb2YgYW4gZXhwcmVzc2lvbiwgYmFzZWQgb24gYSBmb3VuZCBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IHZhbHVlIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gQSBudW1lcmljIHZhbHVlXG4vLy9cbkBmdW5jdGlvbiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkdmFsdWU6IHN0ci1zbGljZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yLWluZGV4ICsgc3RyLWxlbmd0aCgkb3BlcmF0b3IpKTtcblxuICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICAkdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkdmFsdWUpO1xuICB9IEBlbHNlIHtcbiAgICAkdmFsdWU6IHRvLW51bWJlcigkdmFsdWUpO1xuICB9XG5cbiAgJGludGVydmFsOiBtYXAtZ2V0KCR1bml0LWludGVydmFscywgdW5pdCgkdmFsdWUpKTtcblxuICBAaWYgbm90ICRpbnRlcnZhbCB7XG4gICAgLy8gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbnNpZGUgYSBmdW5jdGlvbiwgc28gd2UgaGF2ZSB0b1xuICAgIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gICAgLy8gZnVuY3Rpb25zIGNhbm5vdCBiZSBjYWxsZWQgYW55d2hlcmUgaW4gU2Fzcywgd2UgbmVlZCB0byBoYWNrIHRoZSBjYWxsIGluXG4gICAgLy8gYSBkdW1teSB2YXJpYWJsZSwgc3VjaCBhcyBgJF9gLiBJZiBhbnlib2R5IGV2ZXIgcmFpc2UgYSBzY29waW5nIGlzc3VlIHdpdGhcbiAgICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICAgJF86IGltLWxvZygnVW5rbm93biB1bml0IGAje3VuaXQoJHZhbHVlKX1gLicpO1xuICB9XG5cbiAgQGlmICRvcGVyYXRvciA9PSAnPicge1xuICAgICR2YWx1ZTogJHZhbHVlICsgJGludGVydmFsO1xuICB9IEBlbHNlIGlmICRvcGVyYXRvciA9PSAnPCcge1xuICAgICR2YWx1ZTogJHZhbHVlIC0gJGludGVydmFsO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cblxuLy8vXG4vLy8gUGFyc2UgYW4gZXhwcmVzc2lvbiB0byByZXR1cm4gYSB2YWxpZCBtZWRpYS1xdWVyeSBleHByZXNzaW9uXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIHBhcnNlXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gVmFsaWQgbWVkaWEgcXVlcnlcbi8vL1xuQGZ1bmN0aW9uIHBhcnNlLWV4cHJlc3Npb24oJGV4cHJlc3Npb24pIHtcbiAgLy8gSWYgaXQgaXMgcGFydCBvZiAkbWVkaWEtZXhwcmVzc2lvbnMsIGl0IGhhcyBubyBvcGVyYXRvclxuICAvLyB0aGVuIHRoZXJlIGlzIG5vIG5lZWQgdG8gZ28gYW55IGZ1cnRoZXIsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICBAaWYgbWFwLWhhcy1rZXkoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbikge1xuICAgIEByZXR1cm4gbWFwLWdldCgkbWVkaWEtZXhwcmVzc2lvbnMsICRleHByZXNzaW9uKTtcbiAgfVxuXG4gICRvcGVyYXRvcjogZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pO1xuICAkZGltZW5zaW9uOiBnZXQtZXhwcmVzc2lvbi1kaW1lbnNpb24oJGV4cHJlc3Npb24sICRvcGVyYXRvcik7XG4gICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAkdmFsdWU6IGdldC1leHByZXNzaW9uLXZhbHVlKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuXG4gIEByZXR1cm4gJygjeyRwcmVmaXh9LSN7JGRpbWVuc2lvbn06ICN7JHZhbHVlfSknO1xufVxuXG4vLy9cbi8vLyBTbGljZSBgJGxpc3RgIGJldHdlZW4gYCRzdGFydGAgYW5kIGAkZW5kYCBpbmRleGVzXG4vLy9cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TGlzdH0gJGxpc3QgLSBMaXN0IHRvIHNsaWNlXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzdGFydCBbMV0gLSBTdGFydCBpbmRleFxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZW5kIFtsZW5ndGgoJGxpc3QpXSAtIEVuZCBpbmRleFxuLy8vXG4vLy8gQHJldHVybiB7TGlzdH0gU2xpY2VkIGxpc3Rcbi8vL1xuQGZ1bmN0aW9uIHNsaWNlKCRsaXN0LCAkc3RhcnQ6IDEsICRlbmQ6IGxlbmd0aCgkbGlzdCkpIHtcbiAgQGlmIGxlbmd0aCgkbGlzdCkgPCAxIG9yICRzdGFydCA+ICRlbmQge1xuICAgIEByZXR1cm4gKCk7XG4gIH1cblxuICAkcmVzdWx0OiAoKTtcblxuICBAZm9yICRpIGZyb20gJHN0YXJ0IHRocm91Z2ggJGVuZCB7XG4gICAgJHJlc3VsdDogYXBwZW5kKCRyZXN1bHQsIG50aCgkbGlzdCwgJGkpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlc3VsdDtcbn1cblxuLy8vL1xuLy8vIFN0cmluZyB0byBudW1iZXIgY29udmVydGVyXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBLaXR0eSBHaXJhdWRlbFxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vha3BvaW50cyBbKCldIC0gTWFwIG9mIHR3ZWFrcG9pbnRzIHRvIGJlIG1lcmdlZCB3aXRoIGAkYnJlYWtwb2ludHNgXG4vLy8gQHBhcmFtIHtNYXB9ICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucyBbKCldIC0gTWFwIG9mIHR3ZWFrZWQgbWVkaWEgZXhwcmVzc2lvbnMgdG8gYmUgbWVyZ2VkIHdpdGggYCRtZWRpYS1leHByZXNzaW9uYFxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCB0aGUgZ2xvYmFsIGJyZWFrcG9pbnRzIHdpdGggYSB0d2Vha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhLWNvbnRleHQoKCdjdXN0b20nOiA2NzhweCkpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgbWVkaWEgZXhwcmVzc2lvbnMgd2l0aCBhIGN1c3RvbSBvbmVcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgnYWxsJzogJ2FsbCcpKSB7XG4vLy8gICAgLmZvbyB7XG4vLy8gICAgICBAaW5jbHVkZSBtZWRpYSgnYWxsJywgJz5waG9uZScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgYm90aCBjb25maWd1cmF0aW9uIG1hcHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSwgKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJywgJzw9Y3VzdG9tJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG5AbWl4aW4gbWVkaWEtY29udGV4dCgkdHdlYWtwb2ludHM6ICgpLCAkdHdlYWstbWVkaWEtZXhwcmVzc2lvbnM6ICgpKSB7XG4gIC8vIFNhdmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGdsb2JhbC1icmVha3BvaW50czogJGJyZWFrcG9pbnRzO1xuICAkZ2xvYmFsLW1lZGlhLWV4cHJlc3Npb25zOiAkbWVkaWEtZXhwcmVzc2lvbnM7XG5cbiAgLy8gVXBkYXRlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogbWFwLW1lcmdlKCRicmVha3BvaW50cywgJHR3ZWFrcG9pbnRzKSAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6IG1hcC1tZXJnZSgkbWVkaWEtZXhwcmVzc2lvbnMsICR0d2Vhay1tZWRpYS1leHByZXNzaW9ucykgIWdsb2JhbDtcblxuICBAY29udGVudDtcblxuICAvLyBSZXN0b3JlIGdsb2JhbCBjb25maWd1cmF0aW9uXG4gICRicmVha3BvaW50czogJGdsb2JhbC1icmVha3BvaW50cyAhZ2xvYmFsO1xuICAkbWVkaWEtZXhwcmVzc2lvbnM6ICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnMgIWdsb2JhbDtcbn1cblxuLy8vL1xuLy8vIGluY2x1ZGUtbWVkaWEgcHVibGljIGV4cG9zZWQgQVBJXG4vLy8gQGF1dGhvciBFZHVhcmRvIEJvdWNhc1xuLy8vIEBhY2Nlc3MgcHVibGljXG4vLy8vXG5cblxuLy8vXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgYmFzZWQgb24gYSBsaXN0IG9mIGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBwYXJhbSB7QXJnbGlzdH0gICAkY29uZGl0aW9ucyAgLSBNZWRpYSBxdWVyeSBjb25kaXRpb25zXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHNpbmdsZSBzZXQgYnJlYWtwb2ludFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPnBob25lJykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCB0d28gc2V0IGJyZWFrcG9pbnRzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnLCAnPD10YWJsZXQnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49MzU4cHgnLCAnPDg1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBzZXQgYnJlYWtwb2ludHMgd2l0aCBjdXN0b20gdmFsdWVzXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+ZGVza3RvcCcsICc8PTEzNTBweCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggYSBzdGF0aWMgZXhwcmVzc2lvblxuLy8vICBAaW5jbHVkZSBtZWRpYSgncmV0aW5hMngnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBNaXhpbmcgZXZlcnl0aGluZ1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNTBweCcsICc8dGFibGV0JywgJ3JldGluYTN4JykgeyB9XG4vLy9cbkBtaXhpbiBtZWRpYSgkY29uZGl0aW9ucy4uLikge1xuICBAaWYgKCRpbS1tZWRpYS1zdXBwb3J0IGFuZCBsZW5ndGgoJGNvbmRpdGlvbnMpID09IDApIG9yXG4gICAgICAobm90ICRpbS1tZWRpYS1zdXBwb3J0IGFuZCBpbS1pbnRlcmNlcHRzLXN0YXRpYy1icmVha3BvaW50KCRjb25kaXRpb25zLi4uKSkge1xuICAgIEBjb250ZW50O1xuICB9IEBlbHNlIGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA+IDApIHtcbiAgICBAbWVkaWEgI3t1bnF1b3RlKHBhcnNlLWV4cHJlc3Npb24obnRoKCRjb25kaXRpb25zLCAxKSkpfSB7XG4gICAgICAvLyBSZWN1cnNpdmUgY2FsbFxuICAgICAgQGluY2x1ZGUgbWVkaWEoc2xpY2UoJGNvbmRpdGlvbnMsIDIpLi4uKSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBEZWZhdWx0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5ncmlkIHtcbiAgbWF4LXdpZHRoOiB2YXIoLS1jb250YWluZXJXaWR0aCk7XG59XG5cbi5jb250YWluZXItZnVsbCA+IC5ncmlkIHtcbiAgbWF4LXdpZHRoOiBub25lO1xufVxuXG51bC5tZW51LFxudWwucGxhaW4ge1xuICBAaW5jbHVkZSBsaS1yZXNldDtcbn1cblxuaW1nIHtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAmLmxhenkge1xuICAgIG9wYWNpdHk6IDA7XG5cbiAgICBAbWVkaWEgbm90IGFsbCBhbmQgKG1pbi1yZXNvbHV0aW9uOiAwLjAwMWRwY20pIHtcbiAgICAgIEBzdXBwb3J0cyAoLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lKSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi5sb2FkZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbn1cblxuLnN2ZyB7XG4gIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbn1cblxuLmhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi8vIEtlZXAgdmlkZW8gcmF0aW8gZm9yIGZsdWlkIHdpZHRoc1xuLnZpZGVvLWNvbnRhaW5lcixcbi5tZWRpYS12aW1lby12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbiAgcGFkZGluZy10b3A6IDI1cHg7XG4gIGhlaWdodDogMDtcblxuICBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cblxuLy8gYW1lbmQgY29sb3VyIHRoZW1lIGZvciBzZXQgY29udGVudCB0eXBlc1xuXG4uY3RfX3BhZ2Uge1xuICBcbiAgLm8taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgLmEtbmF2LXRvZ2dsZV9fd3JhcHBlcixcbiAgICAuby1oZWFkZXJfX2xvZ28ge1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XG4gICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgfVxuICB9XG59XG5cblxuLmN0X19ob21lcGFnZSB7XG4gIC5vLWhvbWVwYWdlIHtcbiAgICBzZWN0aW9uIHtcbiAgICAgICYubS1lbnRpdHlfX3RleHQtYmxvY2sge1xuICAgICAgICAubS1lbnRpdHlfX3RleHRfX3RpdGxlLFxuICAgICAgICAubS1lbnRpdHlfX3RleHQtYmxvY2tfX2JvZHktdGV4dCB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbmJvZHkge1xuICAmLm1lbWJlciB7XG4gICAgaGVhZGVyIHtcbiAgICAgICYuby1oZWFkZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIHNjcmVlbiByZWFkZXJzXG4uc2NyZWVuLXJlYWRlcnMge1xuICBAaW5jbHVkZSBybS10ZXh0O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiAwO1xufVxuXG4uc2xpZGluZy1wb3B1cC1ib3R0b20ge1xuICAuZXUtY29va2llLXdpdGhkcmF3LXRhYiB7XG4gICAgbGVmdDogMnB4O1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYm90dG9tOiAxMDAlO1xuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQmFzZSAtIFR5cG9ncmFwaHlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG5cbi8qKlxuICogSGVhZGluZ1xuICovXG5oMSxcbi5oMSxcbmgyLFxuLmgyLFxuaDMsXG4uaDMsXG5oNCxcbi5oNCxcbmg1LFxuLmg1LFxuaDYsXG4uaDYge1xuICBtYXJnaW4tdG9wOiAwO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZSk7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbn1cblxuaDEsXG4uaDEge1xuICBmb250LXNpemU6IGNsYW1wKDM0cHgsIDV2dywgNDJweCk7XG4gIGxpbmUtaGVpZ2h0OiBjbGFtcCg0NHB4LCA1dncsIDU3cHgpO1xufVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtc2l6ZTogY2xhbXAoMjhweCwgMi41dncsIDM0cHgpO1xuICBsaW5lLWhlaWdodDogY2xhbXAoMzhweCwgNXZ3LCA0NHB4KTtcblxuICAmLmFsdCB7XG4gICAgY29sb3I6ICNmZmY7XG4gIH1cbiAgJi5maXhlZG5hdiB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuaDMsXG4uaDMge1xuICBmb250LXNpemU6IGNsYW1wKDIycHgsIDIuNXZ3LCAyOHB4KTtcbiAgbGluZS1oZWlnaHQ6IGNsYW1wKDMycHgsIDV2dywgMzhweCk7XG5cbiAgJi5zdG9yeSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcihmb250LXRpdGxlLXJlZyk7XG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnZHJvaWRfc2Fuc2JvbGQnO1xuICAgIH1cbiAgfVxufVxuaDQsXG4uaDQge1xuICBmb250LXNpemU6IGNsYW1wKDIwcHgsIDIuNXZ3LCAyMnB4KTtcbiAgbGluZS1oZWlnaHQ6IGNsYW1wKDI5cHgsIDV2dywgMzJweCk7XG59XG5cbmg1LFxuLmg1LFxuaDYsXG4uaDYge1xuICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDIuNXZ3LCAxOHB4KTtcbiAgbGluZS1oZWlnaHQ6IGNsYW1wKDI3cHgsIDV2dywgMjdweCk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIH1cbn1cblxuLyoqXG4gKiBQYXJhZ3JhcGhzXG4gKi9cbnAge1xuICBtYXJnaW46IDEuNWVtIDA7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI3cHg7XG5cbiAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgJjpsYXN0LW9mLXR5cGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLyoqXG4gKiBMaXN0c1xuICovXG51bCxcbm9sIHtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogaW5zaWRlO1xuICBwYWRkaW5nLWxlZnQ6IDA7XG59XG5cbi8qKlxuICogTGlua3NcbiAqL1xuYSB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gIC8vIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgb3V0bGluZTogMDtcbiAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjb2xvcjogY3VycmVudENvbG9yO1xuICAgIC8vIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICYuZXh0OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTVweDtcbiAgICB3aWR0aDogMTVweDtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9leHQucG5nJykgY2VudGVyIGNlbnRlciBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtYXJnaW4tbGVmdDogNXB4O1xuICB9XG5cbiAgJi5hbHQuZXh0OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9leHQtYWx0LnBuZycpO1xuICB9XG4gICYuYWx0LmV4dDpob3ZlcjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZXh0LnBuZycpO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogMXB4IGRhc2hlZCBjdXJyZW50Q29sb3I7XG5cbiAgICBAaW5jbHVkZSBmb2N1cy12aXNpYmxlKCkge1xuICAgICAgb3V0bGluZTogMDtcbiAgICB9XG4gIH1cblxuICAmLm5vLWxpbmsge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5uby1jbGljayB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zZWNvbmRhcnkpO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbn1cblxuLyoqXG4gKiBCdXR0b25zXG4gKi9cbmJ1dHRvbiB7XG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkYXNoZWQgY3VycmVudENvbG9yO1xuXG4gICAgQGluY2x1ZGUgZm9jdXMtdmlzaWJsZSgpIHtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgfVxuICB9XG59XG5cbi8qKlxuICogSW5saW5lXG4gKi9cbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xufVxuXG5lbSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250SXRhbGljKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5zcGFuIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuYWRkcmVzcyB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDkwJTtcbn1cblxuaHIge1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWMtcHJpbWFyeSk7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBEcnVwYWwgOCBzcGVjaWZpY1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8vIFBhZ2luYXRpb25cbi5wYWdlciB7XG4gIEBpbmNsdWRlIGxpLXJlc2V0O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogdmFyKC0tYnVtcCk7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxuXG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjVweDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIGEge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFkbW5pbiBzdHlsZXNcbi5hZG1pbi1mdW5jdGlvbnMge1xuICBwb3NpdGlvbjogc3RpY2t5O1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDMxO1xuXG4gIC50b29sYmFyLXRyYXktb3BlbiAmIHtcbiAgICB0b3A6IDc5cHg7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgdG9wOiAzOXB4O1xuICAgIH1cbiAgfVxuXG4gIFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIH1cblxuICB1bCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogdmFyKC0tYnVtcCk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fYWRtaW4ge1xuICAgIC5tLWJsb2NrLS1wYWdlLXRpdGxlLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm0tYmxvY2stLXN5c3RlbS1icmVhZGNydW1iLWJsb2NrIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG59XG5cblxuLnRvb2xiYXItdHJheS1vcGVuIHtcbiAgJiA+IC50b29sYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMmQyZDJkO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbn1cblxuLnRvb2xiYXItbG9hZGluZyB7XG4gICN0b29sYmFyLWFkbWluaXN0cmF0aW9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5hLnNraXAtbWFpbiB7XG4gIGxlZnQ6IC05OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAtOTk5O1xufVxuYS5za2lwLW1haW46Zm9jdXMsXG5hLnNraXAtbWFpbjphY3RpdmUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAzMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbjogMTBweCAzNSU7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMmVtO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi5hamF4LXByb2dyZXNzLXRocm9iYmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gTWFpblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogU3R5bGVzXG4gKi9cbmh0bWwsXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcodHJ1ZSk7XG4gIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xufVxuXG4qLFxuKjpiZWZvcmUsXG4qOmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgLy8gdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbmJvZHkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICZbZGF0YS1uYXY9J29wZW4nXSxcbiAgJltkYXRhLXNlYXJjaG92ZXJsYXk9J29wZW4nXSxcbiAgJi5mcmVlemUge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIEdyaWRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLmEtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICYtLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cblxuICAmLS0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICYtLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIE5hdiBUb2dnbGVcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG4kYnVtcDogMjBweDtcbiRoZWlnaHQtaWNvbjogJGJ1bXA7XG4kd2lkdGgtbGluZTogJGJ1bXAgKiAxLjI1O1xuJGhlaWdodC1saW5lOiAzcHg7XG5cbiRyb3RhdGlvbjogNDVkZWc7XG4kdHJhbnNsYXRlWTogY2FsYygkaGVpZ2h0LWljb24gLyAyKTtcbiR0cmFuc2xhdGVYOiAwO1xuXG4vKipcbiAqIFN0eWxlc1xuICovXG4uYS1uYXYtdG9nZ2xlIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6ICR3aWR0aC1saW5lO1xuICBoZWlnaHQ6ICRoZWlnaHQtaWNvbjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgdmFyKC0tYy1wcmltYXJ5KTtcbiAgfVxuXG4gICZfX3dyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgb3BhY2l0eTogMTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAwIHZhcigtLWJ1bXApO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgbWFyZ2luOiAwIDAgMCBhdXRvO1xuICAgIH1cblxuICAgIFtkYXRhLW5hdj1cIm9wZW5cIl0gJiB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIFtkYXRhLXNlYXJjaG92ZXJsYXk9XCJvcGVuXCJdICYsXG4gICAgW2RhdGEtbmF2PVwib3BlblwiXSAmIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIC5hLW5hdi10b2dnbGVfX2xpbmUtMiB7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2xpbmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xuICAgIHdpZHRoOiAkd2lkdGgtbGluZTtcbiAgICBoZWlnaHQ6ICRoZWlnaHQtbGluZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MHB4O1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICAgW2RhdGEtbmF2PVwib3BlblwiXSAmIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgJi0xIHtcbiAgICAgIHRvcDogMDtcblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNsYXRlWSkgdHJhbnNsYXRlWCgkdHJhbnNsYXRlWClcbiAgICAgICAgICByb3RhdGUoJHJvdGF0aW9uKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0yIHtcbiAgICAgIHRvcDogNTAlO1xuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0zIHtcbiAgICAgIHRvcDogMTAwJTtcblxuICAgICAgW2RhdGEtbmF2PSdvcGVuJ10gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkdHJhbnNsYXRlWSAqIC0xKSB0cmFuc2xhdGVYKCR0cmFuc2xhdGVYKVxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24gKiAtMSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogQXRvbXMgLSBCdXR0b25zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBDb25maWdcbiAqKi9cblxuQG1peGluIGJ0biB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDhweCAyMHB4O1xuICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gIGJhY2tncm91bmQ6IHZhcigtLWMtcG9tcGVpaSk7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXBvbXBlaWkpO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyNXB4O1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICB9XG5cbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtcG9tcGVpaSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWMtYmxhY2spO1xuICB9XG59XG5cbkBtaXhpbiBidG5fYWx0IHtcbiAgQGluY2x1ZGUgYnRuO1xuICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXBvbXBlaWkpO1xuICBjb2xvcjogI2ZmZjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgJjpob3ZlcixcbiAgJjphY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAxcHggZGFzaGVkIHZhcigtLWMtYmxhY2spO1xuICAgIGNvbG9yOiAjZmZmO1xuICB9XG59XG5cbkBtaXhpbiBidG5fd2gge1xuICBAaW5jbHVkZSBidG47XG4gIGJvcmRlci1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAzcHggZGFzaGVkIHZhcigtLWMtYmxhY2spO1xuICB9XG59XG5cbkBtaXhpbiBidG5fdW5kZXJsaW5lIHtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuXG4gICY6aG92ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICB9XG59XG5cbkBtaXhpbiBidG4tdy1pY29uKCRpbWc6IGZhbHNlKSB7XG4gIEBpbmNsdWRlIGJ0bjtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBiZy1pbWcoY29udGFpbik7XG4gICAgY29udGVudDogJyc7XG4gICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJGltZyk7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgLy8gYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvZW52ZWxvcGUuc3ZnJyk7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IDAuM3MgdmFyKC0tZWFzaW5nKTtcbiAgfVxufVxuXG5AbWl4aW4gYnRuLXctaWNvbi1ob3ZlciB7XG4gICY6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBhbmltYXRpb246IHNoYWtlVmVydGljYWwgMC44MnMgY3ViaWMtYmV6aWVyKDAuMzYsIDAuMDcsIDAuMTksIDAuOTcpIGJvdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgcGVyc3BlY3RpdmU6IDEwMDBweDtcbiAgfVxufVxuXG4vKipcbiAqIFN0eWxlc1xuICoqL1xuXG4uYS1idG4ge1xuICBAaW5jbHVkZSBidG47XG4gICYtLWFsdCB7XG4gICAgQGluY2x1ZGUgYnRuX2FsdDtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICB9XG5cbiAgJi0tYXJyb3cge1xuICAgIEBpbmNsdWRlIGJ0bi13LWljb24oJy4uL2ltZy9hcnJvdy11cC5zdmcnKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgQGluY2x1ZGUgYnRuLXctaWNvbi1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICAmLS1ibGFjayB7XG4gICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWMtYmxhY2spO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB9XG4gIH1cblxuICAmLS1yZWQge1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWJfcmVkKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1iX3JlZCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLWJfcmVkKTtcbiAgICB9XG4gIH1cblxuICAmLS13aGl0ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy1wb21wZWlpKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wb21wZWlpKTtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtd2hpdGUpO1xuICAgIH1cbiAgfVxuXG4gICYtLXVuZGVybGluZSB7XG4gICAgQGluY2x1ZGUgYnRuX3VuZGVybGluZTtcbiAgfVxuXG4gIC8vICZfX3VuZGVybGluZSB7fVxufVxuXG4uYnRuIHtcbiAgQGluY2x1ZGUgYnRuO1xuICAmLS1hbHQge1xuICAgIEBpbmNsdWRlIGJ0bl9hbHQ7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIEltYWdlIGNyZWRpdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uYS1pbWFnZS1jcmVkaXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgaGVpZ2h0OiBjYWxjKHZhcigtLWJ1bXApICsgNXB4KTtcbiAgd2lkdGg6IGNhbGModmFyKC0tYnVtcCkgKyA1cHgpO1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICZbZGF0YS12aXNpYmxlPVwiZmFsc2VcIl0ge1xuICAgIGhlaWdodDogMDtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAxLjUpO1xuICAgIHdpZHRoOiBjYWxjKHZhcigtLWJ1bXApIC8gMS41KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBwYWRkaW5nOiAwcHggOHB4O1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjphY3RpdmUsXG4gICY6aG92ZXIge1xuICAgICY6OmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX3RleHQge1xuICAgIGhlaWdodDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgXG5cbiAgICAmW2RhdGEtdmlzaWJsZT1cInRydWVcIl0ge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDQpIDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gNCkgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcImlcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgcGFkZGluZzogMHB4IDhweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHg7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiBVbi50aXRsZWRcbiogQXRvbXMgLSBCcmVhZGNydW1ic1xuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbi5hLWJyZWFkY3J1bWIge1xuICBtYXJnaW4tYm90dG9tOiB2YXIoLS1idW1wKTtcbiAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzx4cycpIHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gIH1cblxuICBvbCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDYpO1xuICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnLyc7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBjYWxjKHZhcigtLWJ1bXApIC8gMTApO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXHJcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4qIFVuLnRpdGxlZFxyXG4qIEF0b21zIC0gU2VhcmNoIGJ1dHRvblxyXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuKi9cclxuXHJcbi8qKlxyXG4qIENvbmZpZ1xyXG4qL1xyXG5cclxuLyoqXHJcbiogU3R5bGluZ1xyXG4qL1xyXG4uYS1zZWFyY2gtYnV0dG9uIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIEBpbmNsdWRlIGJ0blJlc2V0O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIG1hcmdpbi1sZWZ0OiB2YXIoLS1idW1wU21hbGwpO1xyXG4gICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZUxnKTtcclxuICAgIGhlaWdodDogNDRweDtcclxuICAgIHdpZHRoOiA0NHB4O1xyXG4gIFxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xyXG4gICAgICBwYWRkaW5nLXRvcDogMDtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDA7XHJcbiAgICB9XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtc2VhcmNob3ZlcmxheT1cIm9wZW5cIl0gJiB7XHJcbiAgICAgIHotaW5kZXg6IDI7XHJcbiAgICB9XHJcbiAgICBbZGF0YS1uYXY9XCJvcGVuXCJdICYge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIFxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXNlY29uZGFyeSk7XHJcbiAgICB9XHJcbiAgXHJcbiAgICBzcGFuIHtcclxuICAgICAgbGluZS1oZWlnaHQ6IDE7XHJcbiAgXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+bWQnLCAnPDEyMDBweCcpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemVTbSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICBcclxuICAgIHN2ZyB7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwcHg7XHJcbiAgICAgIGZpbGw6IHZhcigtLWMtc2Vjb25kYXJ5KTtcclxuICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xyXG4gICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgfVxyXG4gIFxyXG4gICAgICBbZGF0YS1zZWFyY2hvdmVybGF5PVwib3BlblwiXSAmIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIFxyXG4gICAgLmEtc2VhcmNoLWJ1dHRvbl9fY2xvc2Uge1xyXG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUsXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgY29udGVudDogJyc7XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgd2lkdGg6ICR3aWR0aC1saW5lO1xyXG4gICAgICAgICAgaGVpZ2h0OiAkaGVpZ2h0LWxpbmU7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICByaWdodDogMDtcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDA7XHJcbiAgICAgICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTNweCkgdHJhbnNsYXRlWCgkdHJhbnNsYXRlWClcclxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24pO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEzcHgpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpXHJcbiAgICAgICAgICByb3RhdGUoJHJvdGF0aW9uICogLTEpO1xyXG4gICAgICAgIH1cclxuICBcclxuICAgICAgICBbZGF0YS1zZWFyY2hvdmVybGF5PVwib3BlblwiXSAmIHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIHJtLXRleHQ7XHJcbiAgICAgICAgICBoZWlnaHQ6IDMycHg7XHJcbiAgICAgICAgICB3aWR0aDogMzJweDtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIFxyXG4gICAgICAgICAgJjo6YmVmb3JlLFxyXG4gICAgICAgICAgJjo6YWZ0ZXIge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICIsIi8qKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIFVuLnRpdGxlZFxyXG4gKiBNb2xlY3VsZXMgLSBFbWVyZ2VuY3kgTWVzc2FnZVxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG5cclxuLyoqXHJcbiAqIENvbmZpZ1xyXG4gKiovXHJcbkBrZXlmcmFtZXMgc2xpZGVJblVwIHtcclxuICAwJSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xyXG4gIH1cclxuICA4MCUge1xyXG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjAyKTtcclxuICB9XHJcbiAgMTAwJSB7XHJcbiAgICBvcGFjaXR5OiAxO1xyXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xyXG4gIH1cclxufVxyXG5cclxuLyoqXHJcbiAqIFN0eWxpbmdcclxuICoqL1xyXG4ubS1lbW1zZyB7XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJvdHRvbTogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgei1pbmRleDogMTAwO1xyXG4gIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcclxuICBtYXgtaGVpZ2h0OiAzMHZoO1xyXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcclxuICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAmW2RhdGEtc3RhdGU9J3Zpc2libGUnXSB7XHJcbiAgICBvcGFjaXR5OiAwO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgICBhbmltYXRpb246IHNsaWRlSW5VcCAwLjJzIDAuM3MgY3ViaWMtYmV6aWVyKDAuNzcsIDAuMjksIDAuMzUsIDAuNzIpIDFcclxuICAgICAgZm9yd2FyZHM7XHJcbiAgfVxyXG5cclxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgb3ZlcmZsb3c6IHNjcm9sbDtcclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgaDMge1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICB9XHJcblxyXG4gIHAge1xyXG4gICAgd2lkdGg6IDg1JTtcclxuICB9XHJcblxyXG4gIGJ1dHRvbiB7XHJcbiAgICBAaW5jbHVkZSBidG5SZXNldDtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgIGhlaWdodDogMzVweDtcclxuICAgIHdpZHRoOiAzNXB4O1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xyXG5cclxuICAgIHBhdGgge1xyXG4gICAgICBmaWxsOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XHJcbiAgICB9XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG5cclxuICAgICAgcGF0aCB7XHJcbiAgICAgICAgZmlsbDogdmFyKC0tYy1zZWNvbmRhcnkpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIFVuLnRpdGxlZFxyXG4gKiBNb2xlY3VsZXMgLSBFbnRpdGllc1xyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG4gXHJcblxyXG4ubS1lbnRpdHkge1xyXG4gIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAqIDIpIDA7XHJcbiAgJi1mZWF0dXJlc3tcclxuICAgIC5tLWVudGl0eV9fZmVhdHVyZWRfX3RpdGxle1xyXG4gICAgICBmb250LXNpemU6IDI4cHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICB9XHJcbiAgJl9fc3BvbnNvcnN7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG4gICZfX2ZlYXR1cmUtbWVkYWxsaXN0e1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICB9XHJcblxyXG4gIC5jdF9faG9tZXBhZ2UgJiB7XHJcbiAgICBtYXJnaW46IDI1cHggMDtcclxuXHJcbiAgICAmLm0tZW50aXR5X19ob21lcGFnZS1zaWducG9zdC13aXRoLWltYWdlLFxyXG4gICAgJi5tLWVudGl0eV9fZmVhdHVyZWQtZXZlbnQge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgbWFyZ2luOiAwXHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICBtYXJnaW46IHZhcigtLWJ1bXApIDA7XHJcbiAgfVxyXG5cclxuICBpZnJhbWUge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgfVxyXG5cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICZfX2N0YSB7XHJcbiAgICBhIHtcclxuICAgICAgdGV4dC1hbGlnbjogdW5zZXQ7XHJcbiAgICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2JvZHksXHJcbiAgJl9fdGV4dCxcclxuICAmX19hY2NvcmRpb24sXHJcbiAgJl9faW1hZ2UtdGV4dCB7XHJcbiAgICBwIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmX190ZXh0IHtcclxuICAgIHVsIHtcclxuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XHJcblxyXG4gICAgICBsaSB7XHJcbiAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHJcbiAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiA3cHg7XHJcbiAgICAgICAgICB3aWR0aDogN3B4O1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgICBsZWZ0OiAtMTVweDtcclxuICAgICAgICAgIHRvcDogMTFweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgIFxyXG4gIH1cclxuJl9fY2hhcHRlcixcclxuICAmX19ib2R5LFxyXG4gICZfX2FjY29yZGlvbiB7XHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogLTE1cHg7XHJcbiAgICAgICAgICB0b3A6IDExcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGl0bGUge1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtdGl0bGUtcmVnKTtcclxuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xyXG4gICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDMycHg7XHJcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xyXG4gIH1cclxuXHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9ib2R5JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ltYWdlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3ZpZXcnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvcXVvdGUnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvYWNjb3JkaW9uJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2dhbGxlcnknO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW1hZ2UtdGV4dCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9kb3dubG9hZHMnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvZW1iZWQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvdGV4dC1ibG9jayc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9wZXJzb24tY2FyZCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9xdW90ZS13aXRoLWltYWdlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2N0YSc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9mZWF0dXJlZCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9saW5rZWQtbG9nb3MnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvdmlkZW8nO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvbGF0ZXN0LWFydGljbGVzJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2xhcmdlLXNpZ25wb3N0JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3JlbGF0ZWQtY29udGVudCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9wcmV2aW91cy13aW5uZXJzJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3Nwb25zb3JzJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2hpZ2hsaWdodGVkLWNvbnRlbnQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvbWVkYWxsaXN0LXNpZ25wb3N0cyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9leGhpYml0aW9uLXNpZ25wb3N0cyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9sb2dvLWxpc3QnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW1wcm92ZWQtaW1hZ2Utcm93JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2NoYXB0ZXInO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvc3RvcnknO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvY29sbGVjdGlvbic7XHJcbn1cclxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIE5vZGUgYm9keSBjb3B5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fYm9keSB7XG4gIG1hcmdpbi10b3A6IDA7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gSW1hZ2VcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19pbWFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvLyBwaWN0dXJlIHtcbiAgLy8gICBpbWcge1xuICAvLyAgICAgaGVpZ2h0OiA1MzVweDtcbiAgLy8gICB9XG4gIC8vIH1cblxuICAmX19pbWFnZS1jcmVkaXQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IGF1dG87XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMzY2LCAwLjcpO1xuICAgIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ2knO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIGN1cnNvcjogaGVscCAhaW1wb3J0YW50O1xuICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgd2lkdGg6IDE5cHg7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB9XG4gIH1cbn1cbi5tLWVudGl0eV9faW1hZ2Uge1xuICBwaWN0dXJlIHtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEVudGl0eSB2aWV3c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX3ZpZXcge1xuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG4gICY6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAudmlld3Mtcm93e1xuICAvLyBAaW5jbHVkZSBtZWRpYSgnPHNtJyl7XG4gIC8vICAgJjpub3QoOmZpcnN0LWNoaWxkKXtcbiAgLy8gICAgIGRpc3BsYXk6IG5vbmU7XG4gIC8vICAgfVxuICAvLyB9XG5cbn1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBRdW90ZXNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG5cbkBtaXhpbiByYXRpbmcoJHN0YXJzKSB7XG4gICY6bnRoLWNoaWxkKC1uICsgI3skc3RhcnN9KSB7XG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgc3Ryb2tlOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIFN0eWxlc1xuICovXG5cbiZfX3F1b3RlIHtcbiAgYm9yZGVyLWxlZnQ6IDJweCBzb2xpZCB2YXIoLS1jLXBvbXBlaWkpO1xuICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gIGJsb2NrcXVvdGUge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcblxuICAgIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgIH1cbiAgfVxuXG4gICYtaW5mbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICBjaXRlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvZHkpO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcblxuICAgIC5uYW1lIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbiAgfVxuXG4gIC5yYXRpbmcge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIG1hcmdpbi1yaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICAgJl9fc3RhciB7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIGhlaWdodDogMjRweDtcbiAgICAgIG1hcmdpbi1yaWdodDogNXB4O1xuICAgICAgc3Ryb2tlOiB2YXIoLS1jLXByaW1hcnkpO1xuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGZvciAkc3RhcnMgZnJvbSAxIHRocm91Z2ggNSB7XG4gICAgICAmLS0jeyRzdGFyc30ge1xuICAgICAgICAucmF0aW5nX19zdGFyIHtcbiAgICAgICAgICBAaW5jbHVkZSByYXRpbmcoI3skc3RhcnN9KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEFjY29yZGlvbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgcmdiYSgzMSwgMjksIDMwLCAwLjMpO1xuICB9XG4gIC5hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBjb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDE3cHggMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgzMSwgMjksIDMwLCAwLjMpO1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBAaW5jbHVkZSBiZy1pbWcoY292ZXIpO1xuICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICB3aWR0aDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgbWluLXdpZHRoOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGF1dG8gIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1leHBhbmRlZD0ndHJ1ZSddIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAuYWNjb3JkaW9uX190aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLmpzLWFjY29yZGlvbl9fcGFuZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAuYWNjb3JkaW9uX19wYW5lbCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgZWFzZSwgbWF4LWhlaWdodCAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIG1heC1oZWlnaHQ6IDEwMGVtO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG5cbiAgICAmW2FyaWEtaGlkZGVuPSd0cnVlJ10ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXgtaGVpZ2h0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMnMsIDBzLCAwcztcbiAgICB9XG5cbiAgICBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnVtcCk7XG4gICAgfVxuICB9XG5cbiAgLyogdGl0bGUgb3BlbmVkICovXG4gIFthcmlhLWV4cGFuZGVkPSd0cnVlJ106YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9NaW51cy5zdmcpO1xuICB9XG4gIC8qIHRpdGxlIGNsb3NlZCAqL1xuICBbYXJpYS1leHBhbmRlZD0nZmFsc2UnXTphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL0FkZC5zdmcpO1xuICB9XG5cbiAgLy8gLyogdGl0bGUgc2VsZWN0ZWQgKi9cbiAgLy8gW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdOmFmdGVyIHtcbiAgLy8gICBjb250ZW50OiBcIiAoc2VsKVwiO1xuICAvLyB9XG4gIC8vIC8qIHRpdGxlIG5vbiBzZWxlY3RlZCAqL1xuICAvLyBbYXJpYS1zZWxlY3RlZD1cImZhbHNlXCJdOmFmdGVyIHtcbiAgLy8gICBjb250ZW50OiBcIiAodW5zZWxjKVwiO1xuICAvLyB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gR2FsbGVyeVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2dhbGxlcnkge1xuICAmX19ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdhcDogMjRweDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBnYXA6IDIwcHggMTNweDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNztcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZDogIzg2MjYzMztcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB9XG5cbiAgICAgICYgPiBzcGFuIHtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgIGJhY2tncm91bmQ6IGhzbGEoMCwgMCUsIDEwMCUsIDAuNik7XG4gICAgICAgIGNvbG9yOiAjODYyNjMzO1xuICAgICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyB2YXIoLS1lYXNpbmcpO1xuXG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA2LjI1JTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEyLjUlKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiAwLjE1cyB2YXIoLS1lYXNpbmcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gSW1hZ2UgJiBUZXh0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9faW1hZ2UtdGV4dCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogNTAlIDFmcjtcbiAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMS41KTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc+bWQnKSB7XG4gICAgLmltYWdlLXJpZ2h0IHtcbiAgICAgIG9yZGVyOiAyO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cbiAgJi0tY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIC8qIHRleHQtYWxpZ246IGNlbnRlcjsgKi9cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTRweDtcbiAgfVxuXG4gICZfX3RpdGxlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZS1yZWcpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxM3B4O1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG4gIH1cblxuICAmX19ncmlkIHtcbiAgICBnYXA6IDI0cHg7XG4gIH1cbn1cbiIsIi8qKlxuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qIFVuLnRpdGxlZFxuKiBNb2xlY3VsZXMgLSBEb3dubG9hZHNcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKi9cblxuLyoqXG4qIENvbmZpZ1xuKi9cblxuLyoqXG4qIFN0eWxpbmdcbiovXG4mX19kb3dubG9hZHMge1xuICBhIHtcbiAgICAvLyBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZS1yZWcpICFpbXBvcnRhbnQ7XG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbiAgICB9XG4gIH1cbiAgLmZpbGUge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlLXJlZykgIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEVtYmVkXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fZW1iZWQge1xuICBpZnJhbWUge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG4iLCIvKipcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKiBVbi50aXRsZWRcclxuICogTW9sZWN1bGVzIC0gUGVyc29uIENhcmRcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKi9cclxuXHJcbiAmX19wZXJzb24tY2FyZCB7XHJcbiAgICAuZ3JpZCB7XHJcbiAgICAgICAgW2NsYXNzKj0nY29sLSddIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA0MCUgMWZyO1xyXG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgKiA0KTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICBcclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fdGl0bGUge1xyXG4gICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZS1yZWcpO1xyXG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XHJcbiAgICAgICAgZm9udC1zaXplOiAyOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzOHB4O1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgICYgPiBwIHtcclxuICAgICAgICAgICAgJiB+IGEuYS1idG4ge1xyXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyNHB4IDAgMDtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19ncmlkIHtcclxuICAgICAgZ2FwOiAyNHB4O1xyXG4gICAgfSBcclxuICB9XHJcbiAgIiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIFF1b3RlIFdpdGggSW1hZ2VcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKi9cclxuXHJcbiAmX19xdW90ZS13aXRoLWltYWdlIHtcclxuICBcclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgIGRpc3BsYXk6IGdyaWQgIWltcG9ydGFudDtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAzMCUgMWZyO1xyXG4gICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgKiA0KTtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZ3JpZC1hdXRvLWZsb3c6IGRlbnNlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICBcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICZfX3F1b3RlIHtcclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XHJcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xyXG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcclxuICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX19hdXRob3Ige1xyXG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcclxuICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDAgMDtcclxuICAgICAgY29sb3I6IHZhcigtLWMtYmxhY2spO1xyXG4gICAgfVxyXG5cclxuICAgICZfX3JvbGUge1xyXG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcclxuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XHJcbiAgICB9XHJcbiAgXHJcbiAgICAmX19pbWFnZS13cmFwcGVyIHtcclxuICAgICAgICBtYXgtd2lkdGg6IDI4NXB4O1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIFxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgfVxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19jdGEge1xyXG4gICAgICBtYXJnaW46IDI0cHggMCAwO1xyXG4gICAgfVxyXG4gIH0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gQ1RBXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBFbnRpdHkgTGlua2VkIGxvZ29zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fbGlua2VkLWxvZ29zIHtcbiAgLm0tbG9nb3Mge1xuICAgIGdhcDogMjlweCAzOHB4O1xuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gRW50aXR5IFZpZGVvXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbnZpZGVvIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbn1cbi5tLWVudGl0eV9fdmlkZW9fX2VtYmVkIHtcbiAgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDQ0OHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICBoZWlnaHQ6IDM1NXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHhzJykge1xuICAgICAgaGVpZ2h0OiAyMDBweDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBzcG9uc29ycyBFQ0tcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuJl9fc3BvbnNvcnMge1xuICAubS1zcG9uc29ycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDI5cHggMzhweDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBIaWdobGlnaHRlZCBjb250ZW50IEVDS1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2hpZ2hsaWdodGVkLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjODYyNjMzO1xuICBwYWRkaW5nOiAxNnB4IDI0cHg7XG4gIGEge1xuICAgIGNvbG9yOiB3aGl0ZTtcblxuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cbiAgfVxuICAuYS1idG4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luLXRvcDogMjRweDtcbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgICAgbWluLWhlaWdodDogNDFweDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IGJsYWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBoMixcbiAgaDMsXG4gIHAge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgfVxuICB1bCB7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjo6bWFya2VyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICB9XG4gICAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAnJyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGhlaWdodDogN3B4O1xuICAgICAgICB3aWR0aDogN3B4O1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAtMTVweDtcbiAgICAgICAgdG9wOiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSAgTG9nbyBsaXN0IEVDSyBFWGhpYml0b24gY29udGVudCB0eXBlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiZfX2xvZ28tbGlzdCB7XG4gIHdvcmQtc3BhY2luZzogbm9ybWFsO1xuICBsZXR0ZXItc3BhY2luZzogbm9ybWFsO1xuICAubS1kb25vcnMge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyIDFmcjtcbiAgICBnYXA6IDElO1xuICAgIGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuZG9ub3JfbG9nbyB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4xNXMgY3ViaWMtYmV6aWVyKDAuODMsIDAsIDAuMTcsIDEpO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjODYyNjMzO1xuICAgICAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBzcGFuIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICBiYWNrZ3JvdW5kOiBoc2xhKDAsIDAlLCAxMDAlLCAwLjYpO1xuICAgICAgY29sb3I6ICM4NjI2MzM7XG4gICAgICBmb250LXNpemU6IDI1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjNweDtcbiAgICAgIHRyYW5zaXRpb246IDAuMTVzIGN1YmljLWJlemllcigwLjgzLCAwLCAwLjE3LCAxKTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnKyc7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2LjI1JTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMi41JSk7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMTVzIGN1YmljLWJlemllcigwLjgzLCAwLCAwLjE3LCAxKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBJbXJwb3ZlZCBJbWFnZSBSb3cgRUNLXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cbiZfX2ltcHJvdmVkLWltYWdlLXJvdyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwaWN0dXJlIHtcbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gIHAge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gIH1cbn1cbiIsIi8vICZfX3RleHQsXHJcbiZfX3RleHQtYmxvY2sge1xyXG4gIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcclxuXHJcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgIHRleHQtYWxpZ246IGxlZnQ7XHJcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XHJcbiAgfVxyXG5cclxuICAmX19ib2R5LXRleHQge1xyXG4gICAgJiB+IC5tLWVudGl0eV9fdGV4dC1ibG9ja19fbGlua3Mge1xyXG4gICAgICBtYXJnaW4tdG9wOiB2YXIoLS1idW1wKTtcclxuICAgIH1cclxuXHJcbiAgICBoMSxcclxuICAgIGgyLFxyXG4gICAgaDMsXHJcbiAgICBoNCxcclxuICAgIGg1LFxyXG4gICAgaDYge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19saW5rcyB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiAyNHB4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIiZfX2ZlYXR1cmVkIHtcclxuICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcblxyXG4gIHAge1xyXG4gICAgYSB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIC5jdF9fbWVkYWwtbGFuZGluZyAmLFxyXG4gIC5jdF9fZXhoaWJpdGlvbi1sYW5kaW5nLXBhZ2UgJixcclxuICAubS1lbnRpdHlfX2ZlYXR1cmVkLWV4aGliaXRpb24gJiB7XHJcbiAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICBcclxuICAgIC5jdF9fbGlzdGluZyAmIHtcclxuICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xyXG4gICAgICBmbGV4LWdyb3c6IDE7XHJcbiAgICB9XHJcblxyXG4gICAgLmN0X19ob21lcGFnZSAmIHtcclxuICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgfVxyXG5cclxuICAgICY6bm90KC5jdF9faG9tZXBhZ2UgJikge1xyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJnKTtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkodmFyKC0tYmFzZVVuaXQpKTtcclxuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoY2FsYygwLjgzZW0gLyAyKSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubS1lbnRpdHlfX2hvbWVwYWdlLXNpZ25wb3N0LXdpdGgtaW1hZ2UgJiB7XHJcbiAgICAgIG1hcmdpbi10b3A6IDA7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xyXG4gICAgICBmb250LXdlaWdodDogYm9sZDtcclxuICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XHJcbiAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMzRweCwgNXZ3LCA0MnB4KTtcclxuICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDQ0cHgsIDV2dywgNTdweCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19zdWJ0aXRsZSB7XHJcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAuY3RfX2xpc3RpbmcgJiB7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xyXG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcclxuICAgIH1cclxuXHJcbiAgICAuY3RfX2hvbWVwYWdlICYge1xyXG4gICAgICBtYXJnaW46IDAgMCB2YXIoLS1idW1wKTtcclxuXHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmcpO1xyXG4gICAgICAgIHdpZHRoOiA2MHB4O1xyXG4gICAgICAgIGhlaWdodDogMnB4O1xyXG4gICAgICAgIC8vIHRyYW5zZm9ybTogdHJhbnNsYXRlWSh2YXIoLS1iYXNlVW5pdCkpO1xyXG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWShjYWxjKHZhcigtLWJ1bXApIC8gMikpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19ib29raW5nLWxpbmtzIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgLmEtYnRuIHtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fY29udGFpbmVyIHtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJfcmVkKTtcclxuXHJcbiAgICAuY3RfX2V4aGliaXRpb24tbGFuZGluZy1wYWdlICYsXHJcbiAgICAuY3RfX21lZGFsLWxhbmRpbmcgJixcclxuICAgIC5jdF9fbGlzdGluZyAmLFxyXG4gICAgLmN0X19ob21lcGFnZSAmIHtcclxuICAgICAgbWFyZ2luOiAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBtYXJnaW46IDA7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBtYXJnaW46IC0xNXB4O1xyXG4gICAgfVxyXG5cclxuICAgIC5jdF9faG9tZXBhZ2UgJiB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgIFxyXG4gICAgfVxyXG5cclxuICAgIC5tLWVudGl0eV9faG9tZXBhZ2Utc2lnbnBvc3Qtd2l0aC1pbWFnZSAmIHtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XHJcbiAgICB9XHJcblxyXG4gICAgLmN0X19saXN0aW5nICYge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmX19pbWFnZSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG5cclxuICAgIC5tLWVudGl0eV9faG9tZXBhZ2Utc2lnbnBvc3Qtd2l0aC1pbWFnZSAmIHtcclxuICAgICAgLy8gcGFkZGluZzogMjVweCAwO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBwYWRkaW5nOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgLmN0X19leGhpYml0aW9uLWxhbmRpbmctcGFnZSAmLFxyXG4gICAgLmN0X19tZWRhbC1sYW5kaW5nICYge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuY3RfX2hvbWVwYWdlICYsXHJcbiAgICAuY3RfX2xpc3RpbmcgJiB7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHBpY3R1cmUge1xyXG4gICAgICBtYXJnaW46IGF1dG87XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcclxuXHJcbiAgICAgICAgLy8gLmN0X19saXN0aW5nICYgeyAvL25vIGxvbmdlciBuZWNlc3Nhcnkgbm93IHRoYXQgb2JqZWN0IGZpdCBpcyB1c2VkIG9uIGltYWdlcyAtIHdpbGwgbGVhdmUgaGVyZSBmb3Igbm93IHRob1xyXG4gICAgICAgIC8vICAgaGVpZ2h0OiAzOTVweDtcclxuXHJcbiAgICAgICAgLy8gICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIC8vICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgLy8gICB9XHJcbiAgICAgICAgLy8gfVxyXG5cclxuICAgICAgICAvLyAuY3RfX21lZGFsLWxhbmRpbmcgJiB7XHJcbiAgICAgICAgLy8gICBoZWlnaHQ6IDQ4NHB4O1xyXG5cclxuICAgICAgICAvLyAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgLy8gICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAvLyAgIH1cclxuICAgICAgICAvLyB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2luZm8ge1xyXG4gICAgbWF4LXdpZHRoOiBjYWxjKHZhcigtLWNvbnRhaW5lcldpZHRoKSAvIDIpO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgaDEsaDIsaDMsaDQsaDUsaDZ7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgIH1cclxuXHJcbiAgICAuY3RfX2hvbWVwYWdlICYge1xyXG4gICAgICBwYWRkaW5nOiB2YXIoLS1idW1wKSBjYWxjKHZhcigtLWJ1bXApICogMykgdmFyKC0tYnVtcCkgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMykgY2FsYyh2YXIoLS1idW1wKSAvIDIpIHZhcigtLWJ1bXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgIFxyXG5cclxuICAgIC5tLWVudGl0eV9faG9tZXBhZ2Utc2lnbnBvc3Qtd2l0aC1pbWFnZSAmIHtcclxuICAgICAgcGFkZGluZzogdmFyKC0tYnVtcCkgY2FsYyh2YXIoLS1idW1wKSAvIDIpIHZhcigtLWJ1bXApIHZhcigtLWJ1bXApO1xyXG5cclxuICAgICAgLm0tZW50aXR5X19mZWF0dXJlZF9fdGl0bGUge1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMikgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJiA+IHAsXHJcbiAgICAubS1lbnRpdHlfX2ZlYXR1cmVkX19maWVsZC10aW1lcyxcclxuICAgIC5tLWVudGl0eV9fZmVhdHVyZWRfX2ZpZWxkLXJ1bi1kYXRlLFxyXG4gICAgLm0tZW50aXR5X19mZWF0dXJlZF9fdHlwZSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgICAgcCxcclxuICAgICAgaDIge1xyXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBwIHtcclxuICAgICAgJiA+IHN0cm9uZyB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBwYWRkaW5nOiAwIGNhbGModmFyKC0tYnVtcCkgLyAyKSBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3R5cGUge1xyXG4gICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG5cclxuICAgIGEge1xyXG4gICAgICBAaW5jbHVkZSBidG5fdW5kZXJsaW5lO1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XHJcbiAgICB9XHJcblxyXG4gICAgLmN0X19ob21lcGFnZSAmIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgIH1cclxuXHJcbiAgICAmLS1ob21lLXBhZ2Uge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG5cclxuICAgICAgLmN0X19ob21lcGFnZSAmIHtcclxuICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICBhIHtcclxuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XHJcbiAgICAgICAgICAmOmhvdmVye1xyXG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2N0YXMge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgXHJcbiAgICAgIC5hLWJ0biB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX2ZlYXR1cmUtbWVkYWxsaXN0IHtcclxuICAgIFxyXG4gIH1cclxufVxyXG4iLCImX19sYXRlc3QtYXJ0aWNsZXMge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtYXJnaW46IDA7XHJcbiAgLy8gcGFkZGluZzogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiA1KSAwO1xyXG4gIHBhZGRpbmc6IDQxcHggMCAwIDA7XHJcblxyXG4gICZfX2ltYWdle1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgb3BhY2l0eTogMC4wODtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgaW1ne1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19jb250YWluZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgei1pbmRleDogMjtcclxuICAgIGxlZnQ6IDBweDtcclxuICAgIHJpZ2h0OiAwcHg7XHJcblxyXG4gICAgLnZpZXdfX2xhdGVzdF9uZXdzLFxyXG4gICAgLnZpZXdfX2xhdGVzdF9ibG9nIHtcclxuICAgICAgLnZpZXdzLXJvdyB7XHJcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcclxuICAgICAgICAgIC5tLWVudGl0eV9fbGF0ZXN0LWFydGljbGVzX190ZWFzZXJfX2xpbmsge1xyXG4gICAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xyXG4gICAgICAgICAgICAgIGhlaWdodDogMXB4O1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XHJcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgIGxlZnQ6IDA7XHJcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xyXG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgICAgICAmOmFmdGVyIHtcclxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKXtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfX1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fdGVhc2VyIHtcclxuICAgIG1hcmdpbjogMCAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDUpO1xyXG5cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIG1hcmdpbjogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAmX19kYXRlIHtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBsZWZ0OiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xyXG5cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmX190aXRsZSB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XHJcbiAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYmFzZVVuaXQpICogNSk7XHJcblxyXG4gICAgICAmOmFmdGVyIHtcclxuICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICBoZWlnaHQ6IDFweDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgICAgICB3aWR0aDogNjBweDtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fYm9keSB7XHJcbiAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcclxuICAgIH1cclxuXHJcbiAgICAmX19saW5rIHtcclxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiJl9fbGFyZ2Utc2lnbnBvc3Qge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgLm92ZXJsYXkge1xyXG4gICAgICAgIC8vIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHRvcDogMDtcclxuICAgICAgICByaWdodDogMDtcclxuICAgICAgICBib3R0b206IDA7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAgICAgLy8gb3BhY2l0eTogMC41O1xyXG4gICAgICAgIC8vIC13ZWJraXQtb3BhY2l0eTogMC41O1xyXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgIG1hcmdpbjogMTVweDtcclxuICAgIH1cclxuXHJcbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIH1cclxuXHJcbiAgICAmID4gLmdyaWQge1xyXG4gICAgICAgICYgPiAuY29sLXNtLTEyIHtcclxuICAgICAgICAgICAgJiA+IHBpY3R1cmUge1xyXG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgICAgICAgICAgLy8gLm92ZXJsYXkge1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIHRvcDogMDtcclxuICAgICAgICAgICAgICAgIC8vICAgICByaWdodDogMDtcclxuICAgICAgICAgICAgICAgIC8vICAgICBib3R0b206IDA7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgbGVmdDogMDtcclxuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNSk7XHJcbiAgICAgICAgICAgICAgICAvLyAgICAgLy8gb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIC8vIC13ZWJraXQtb3BhY2l0eTogMC41O1xyXG4gICAgICAgICAgICAgICAgLy8gICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgICAgICAgLy8gfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgdG9wOiAwO1xyXG4gICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgIGJvdHRvbTogMDtcclxuICAgICAgICBsZWZ0OiAwO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICB6LWluZGV4OiAyO1xyXG4gICAgICAgIG1hcmdpbjogYXV0bztcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB0b3A6IGF1dG87XHJcbiAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBib3R0b206IGF1dG87XHJcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XHJcbiAgICAgICAgICAgIHBhZGRpbmc6IHZhcigtLWJ1bXApIHZhcigtLWJ1bXApIHZhcigtLWJ1bXApIDA7XHJcbiAgICAgICAgICAgIC5ncmlkIHtcclxuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgICAgICAgIGFsaWduLWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmID4gLmdyaWQge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fY29udGVudCxcclxuICAgICZfX2N0YSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgfVxyXG5cclxuICAgICZfX2NvbnRlbnQge1xyXG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGgyIHtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XHJcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCImX19yZWxhdGVkLWNvbnRlbnQge1xyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsMWZyKTtcclxuICAgICAgICBnYXA6IGNhbGModmFyKC0tYmFzZVVuaXQpICogMyk7XHJcbiAgICBcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsMWZyKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm8tdGVhc2Vye1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgcGFkZGluZzogMDtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCImX19wcmV2aW91cy13aW5uZXJzIHtcclxuICAgIFxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICAuby10ZWFzZXJ7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICB9XHJcbn0iLCImX19tZWRhbGxpc3Qtc2lnbnBvc3RzIHtcclxuICAgICZfX2NvbnRhaW5lciB7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuICAgICAgICBnYXA6IGNhbGModmFyKC0tYmFzZVVuaXQpICogMyk7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn0iLCImX19leGhpYml0aW9uLXNpZ25wb3N0cyB7XHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJhc2VVbml0KSAqIDMpO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDEsIDFmcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJl9fY2hhcHRlciB7XHJcbiAgICBwIHtcclxuICAgICAgICBtYXJnaW46IDAgMCB2YXIoLS1idW1wKTtcclxuICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgLnNjcm9sbCB7XHJcbiAgICAgICAgICAgICYudG9wIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcclxuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJl9fc3Rvcnkge1xyXG4gICAgJl9faW1hZ2Uge1xyXG4gICAgICAgIGltZyB7XHJcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJl9fd3JhcHBlciB7XHJcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAyKTtcclxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcCk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiJl9fY29sbGVjdGlvbiB7XHJcbiAgICBcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcbiAgICAgICAgLnNjcm9sbCB7XHJcbiAgICAgICAgICAgICYudG9wIHtcclxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XHJcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubGlzdGluZyB7XHJcbiAgICAgICAgJi5jb2xsZWN0aW9uIHtcclxuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEZvcm1zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW5wdXQsXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvZHkpO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgcmVzaXplOiBub25lO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgdmFyKC0tYnVtcCk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4uZm9ybS1hY3Rpb25zIGlucHV0LFxuaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5qcy1mb3JtLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gTWFpbiBuYXZcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ubS1tYWluLW5hdiB7XG4gICY6bm90KC5tLW1haW4tbmF2X19tb2RhbCkge1xuICAgIFtkYXRhLW5hdj1cIm9wZW5cIl0gJiB7XG4gICAgICBtYXJnaW46IDAgNTBweCAwIDA7XG4gICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmID4gdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGNvbHVtbi1nYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyICsgMXB4KTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJiA+IGxpIHtcbiAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgJiA+IGEge1xuICAgICAgICAgIG1hcmdpbjogYXV0byBjYWxjKHZhcigtLXNtYWxsQnVtcCkvMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgXG4gICAgICAmLm1lbnUtaXRlbS1saSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlKTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgXG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgXG4gICAgICAgICYgPiBhIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgdGV4dC1hbGlnbi1sYXN0OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICBcbiAgICAgICYgPiBhIHtcbiAgICAgICAgJi5tZW51LWl0ZW0tbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDQpIDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19tb2RhbCB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgIFtkYXRhLW5hdj0nb3BlbiddICYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIHRvcDogOTVweDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgJiA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgcGFkZGluZzogdmFyKC0tYnVtcCkgMDtcbiAgICAgIG1heC13aWR0aDogNTAwcHg7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICBtYXgtd2lkdGg6IDcwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgICYgPiBsaSB7XG4gICAgICAgICYubWVudS1pdGVtLWxpIHtcbiAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDR2dywgMjhweCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI4cHgsIDV2dywgMzhweCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBCYW5uZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ubS1uby1iYW5uZXIge1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWJ1bXApICogMyk7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBtYXJnaW4tdG9wOiB2YXIoLS1idW1wKTtcbiAgfVxufVxuXG4ubS1iYW5uZXItaG9tZXBhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8vIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAxLjIpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAmX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC4zKTtcblxuICAgICZfX2dyaWQge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJi1jcmVkaXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgLmdyaWQge1xuICAgICAgICAuY29sLTEyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdmlkZW8tcHJlc2VudCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRvcDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2l0aW9uOiB2YXIoLS10cmFuc2l0aW9uKTtcblxuICAgICAgJltkYXRhLXBsYXlzdGF0ZT0ncGxheSddIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3ZpZGVvIHtcbiAgICAmLWljb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAycHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgJi5wbGF5aW5nIHtcbiAgICAgICAgLm0tYmFubmVyX192aWRlby1pY29uLS1pdGVtLnBsYXkge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYucGF1c2VkIHtcbiAgICAgICAgLm0tYmFubmVyX192aWRlby1pY29uLS1pdGVtLnBhdXNlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS1pdGVtIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgICAgIGg0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtY29udGFpbmVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNTcuMTc1JTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgb3BhY2l0eTogMDtcblxuICAgICAgJltkYXRhLXBsYXlzdGF0ZT0ncGxheSddIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgJltkYXRhLXBsYXlzdGF0ZT0ncGF1c2UnXSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYtLWNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgYm90dG9tOiA0MHB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPDEzMDBweFwiKSB7XG4gICAgICAgICAgcmlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLWNvbnRhaW5lciB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYtLXBhdXNlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgW2RhdGEtcGxheXN0YXRlPSdwbGF5J10gJiB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJi0tcGxheSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIFtkYXRhLXBsYXlzdGF0ZT0ncGF1c2UnXSAmIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19ib2R5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAvLyB6LWluZGV4OiAyO1xuXG4gICAgJltkYXRhLXBsYXlzdGF0ZT0ncGxheSddIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgJltkYXRhLXBsYXlzdGF0ZT0ncGF1c2UnXSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICY6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTcuNXB4O1xuICAgICAgbGVmdDogLTcuNSU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIGhlaWdodDogMTUwJTtcbiAgICAgIHdpZHRoOiAxMTAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBvcGFjaXR5OiAwLjY1O1xuICAgICAgYm9yZGVyLXJhZGl1czogMzlweDtcbiAgICAgIGZpbHRlcjogYmx1cig2NXB4KTtcbiAgICB9XG5cbiAgICAuaDEsXG4gICAgaDEge1xuICAgICAgZm9udC1zaXplOiBjbGFtcCgzNHB4LCA0dncsIDQycHgpO1xuICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDQ0cHgsIDV2dywgNTJweCk7XG4gICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC10aXRsZS1yZWcpO1xuICAgIH1cblxuICAgIC5oMixcbiAgICBoMiB7XG4gICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDR2dywgMThweCk7XG4gICAgICBsaW5lLWhlaWdodDogY2xhbXAoMjVweCwgNHZ3LCAyNXB4KTtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXRpdGxlLXJlZyk7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIH1cblxuICAgIC5oMSxcbiAgICBoMSxcbiAgICBoMixcbiAgICAuaDIge1xuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgIH1cbiAgfVxuICAmX19jb3B5IHtcbiAgICBmb250LXNpemU6IHZhcigtLWZvbnRsYXJnZSk7XG4gICAgbGluZS1oZWlnaHQ6IHZhcigtLXNtYWxsTGluZUhlaWdodCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRTZW1pQm9sZCk7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgfVxuICAmX19vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICBvcGFjaXR5OiAwLjM7XG4gIH1cblxuICB2aWRlbyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxuXG4gIC5hLWJ0biB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cblxuICAjY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDAlO1xuICB9XG5cbiAgI2NpcmNsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAjY2lyY2xlIHRleHQge1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjhweDtcbiAgfVxuXG4gIC8qIGJyb3dzZXIgc3BlY2lmaWMgbGV0dGVyIHNwYWNpbmcgY3NzIGZpeGVzIGZvciB0ZXh0IGNpcmNsZSAqL1xuICBAbWVkaWEgbm90IGFsbCBhbmQgKG1pbi1yZXNvbHV0aW9uOiAwLjAwMWRwY20pIHtcbiAgICAjY2lyY2xlIHRleHQge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTc1cHg7XG4gICAgfVxuICB9XG5cbiAgQC1tb3otZG9jdW1lbnQgdXJsLXByZWZpeCgpIHtcbiAgICAjY2lyY2xlIHRleHQge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMTc1cHg7XG4gICAgfVxuICB9XG5cbiAgI2NpcmNsZSBzdmcge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC03NXB4O1xuICAgIGxlZnQ6IC02OXB4O1xuICAgIGJvdHRvbTogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMjMwcHg7XG4gICAgaGVpZ2h0OiAyMzBweDtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1uYW1lOiByb3RhdGU7XG4gICAgYW5pbWF0aW9uLW5hbWU6IHJvdGF0ZTtcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1kdXJhdGlvbjogNXM7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1cztcbiAgICAtd2Via2l0LWFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcblxuICAgIFtkYXRhLXBsYXlzdGF0ZT0ncGxheSddICYsXG4gICAgJjpob3ZlciB7XG4gICAgICBhbmltYXRpb24tbmFtZTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBALXdlYmtpdC1rZXlmcmFtZXMgcm90YXRlIHtcbiAgICBmcm9tIHtcbiAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQC1tb3ota2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgZnJvbSB7XG4gICAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuICB9XG4gIEAtbXMta2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgZnJvbSB7XG4gICAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDApO1xuICAgIH1cbiAgfVxuICBALW8ta2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgZnJvbSB7XG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyByb3RhdGUge1xuICAgIGZyb20ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gICAgfVxuICB9XG59XG5cblxuLm0tZXhoaWJpdGlvbi1jb250ZW50IHtcbiAgbWFyZ2luOiAxMnB4IDAgOHB4IDA7XG59XG5cbi5tLWJhbm5lci1kZWZhdWx0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiA3MHB4O1xuICAmLS12aWRlb3tcbiAgICAubS1iYW5uZXJfX2ltYWdlLS12aWRlby1wcmVzZW50e1xuICAgIFxuICAgIFxuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0b3A6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgICAgICZbZGF0YS1wbGF5c3RhdGU9J3BsYXknXSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAvLyBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgXG4gIFxuXG4gIFxuICAgIFxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgfVxuICAmX192aWRlbyB7XG4gICBcbiAgXG4gICAgJi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMnB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgICYucGxheWluZyB7XG4gICAgICAgIC5tLWJhbm5lcl9fdmlkZW8taWNvbi0taXRlbS5wbGF5IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnBhdXNlZCB7XG4gICAgICAgIC5tLWJhbm5lcl9fdmlkZW8taWNvbi0taXRlbS5wYXVzZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0taXRlbSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgICAgICBoNCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLWNvbnRhaW5lciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1ib3R0b206IDM3LjYyNSU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICYuY3QtYmFubmVyLXZpZGVvIHtcbiAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzcuNjI1JTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKXtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgfVxuICAgICAgLnZpZGVvLW1vZGFsLmFjdGl2ZXtcbiAgICAgICAgLnZpZGVvLWNvbnRhaW5lcntcbiAgICAgICAgICB2aWRlb3tcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgYnV0dG9ue1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcuLi9pbWcvaWNvbi1wYXVzZS5zdmcnKTtcbiAgICAgICAgICAgIHJpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgdG9wOiAtMTVweDtcbiAgICAgICAgICAgICZbZGF0YS1wbGF5c3RhdGU9J3BsYXknXSB7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJltkYXRhLXBsYXlzdGF0ZT0ncGF1c2UnXSB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2ljb24tcGxheS5zdmcnKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLS1jb250cm9scyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICAgICAgICAgIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB3aWR0aDogMjlweDtcbiAgICAgICAgICBoZWlnaHQ6IDM2cHg7XG5cbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYuYnV0dG9uLWNvbnRyb2x7XG4gICAgICAgICAgJltkYXRhLXBsYXlzdGF0ZT0ncGxheSddIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgfVxuICBcbiAgICAgICAgICAmW2RhdGEtcGxheXN0YXRlPSdwYXVzZSddIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtcGxheXN0YXRlPSdwbGF5J10ge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtcGxheXN0YXRlPSdwYXVzZSddIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1jb250YWluZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICAgICAgJltkYXRhLXBsYXlzdGF0ZT0ncGxheSddIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJltkYXRhLXBsYXlzdGF0ZT0ncGF1c2UnXSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIH1cblxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAvLyBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi0tbW9iaWxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJi1jcmVkaXQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgICAgLmdyaWQge1xuICAgICAgICAuY29sLTEyIHtcbiAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tdmlkZW8tcHJlc2VudCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2JvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOjA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBmaXQtY29udGVudDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAmX19jb250ZW50IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1MnB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tLWJhbm5lci1kZWZhdWx0LS1uby1pbWFnZSAmIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgICYuaXMtc3RpY2t5IHtcbiAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudGF4b25vbXktdGVybSB7XG4gICAgICBoMiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHZhcigtLWZvbnRTaXplQm9keSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiB2YXIoLS1saW5lSGVpZ2h0Qm9keSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXRleHQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICBjb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbiAgICB9XG4gIH1cblxuICAmX19ib29raW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAuYS1idG4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICZfX3RheG9ub215IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgJl9fcXVpY2stbGlua3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLWJhc2VVbml0KSAqIDMpO1xuICAgIG1hcmdpbjogMDtcblxuICAgIGxpIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBhIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIExpbmtlZCBsb2dvc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5tLWxvZ29zIHtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBTb2NpYWwgbGlua3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLm0tc29jaWFsLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW4tdG9wOiBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gIGZsZXgtZmxvdzogcm93IHdyYXA7XG5cbiAgJl9fbGluayB7XG4gICAgaGVpZ2h0OiBjYWxjKHZhcigtLWJ1bXApICogMS40Nyk7XG4gICAgd2lkdGg6IGNhbGModmFyKC0tYnVtcCkgKiAxLjQ3KTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG5cbiAgICBzdmcge1xuICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICB9XG5cbiAgICByZWN0IHtcbiAgICAgIHRyYW5zaXRpb246IDAuNXMgdmFyKC0tZWFzaW5nKTtcbiAgICAgIGZpbGw6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgcGF0aCB7XG4gICAgICBmaWxsOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHJlY3Qge1xuICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICAgIH1cbiAgICAgIHBhdGgge1xuICAgICAgICBvcGFjaXR5OiAuNjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tLXNlYXJjaC1vdmVybGF5IHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIHRvcDogOTVweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiA5NXB4O1xyXG4gIH1cclxuXHJcbiAgcCB7XHJcbiAgICAmOmxhc3Qtb2YtdHlwZSB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IGNhbGModmFyKC0tYnVtcCkgKiAyKTtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogdmFyKC0tYnVtcCk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICBhIHtcclxuICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLm0tYmxvY2stLXZpZXdzLWV4cG9zZWQtZmlsdGVyLWJsb2Nrc2l0ZS1zZWFyY2gtc2VhcmNoLWJsb2NrIHtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcCk7XHJcbiAgfVxyXG5cclxuICAubS1ibG9ja19fc3VnZ2VzdGVkLXBhZ2VzIHtcclxuICAgICYubS1zdWdnZXN0ZWQtcGFnZXMge1xyXG4gICAgICBhIHtcclxuICAgICAgICBAaW5jbHVkZSBidG47XHJcbiAgICAgICAgQGluY2x1ZGUgYnRuX2FsdDtcclxuICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xyXG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgICBib3JkZXI6IDFweCB2YXIoLS1jLXdoaXRlKSBzb2xpZDtcclxuXHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZm9ybSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgZ2FwOiA4cHg7XHJcblxyXG4gICAgLmpzLWZvcm0taXRlbSB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcblxyXG4gICAgICBpbnB1dCB7XHJcbiAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAuYS1idG4ge1xyXG4gICAgICAmLmpzLWZvcm0tc3VibWl0IHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICAgIGdhcDogNXB4O1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcblxyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgIFtkYXRhLXNlYXJjaG92ZXJsYXk9XCJvcGVuXCJdICYge1xyXG4gICAgICAgICAgICBAaW5jbHVkZSBybS10ZXh0O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xyXG4gICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3NlYXJjaC5zdmcnKTtcclxuICAgICAgICAgICAgZmlsdGVyOiBpbnZlcnQoMzAlKSBncmF5c2NhbGUoMTAwJSkgYnJpZ2h0bmVzcyg3MCUpIGNvbnRyYXN0KDQpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL3NlYXJjaC5zdmcnKTtcclxuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgIGhlaWdodDogMzJweDtcclxuICAgICAgICAgIHdpZHRoOiAzMnB4O1xyXG5cclxuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcclxuICAgICAgICAgICAgd2lkdGg6IDIxcHg7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAubS1zZWFyY2gtY29weSB7XHJcbiAgICB3aWR0aDogNTAlO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3dyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgYm90dG9tOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XHJcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XHJcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xyXG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgIHotaW5kZXg6IC0xMDtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XHJcblxyXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgICB9XHJcblxyXG4gICAgW2RhdGEtc2VhcmNob3ZlcmxheT0nb3BlbiddICYge1xyXG4gICAgICB6LWluZGV4OiAxO1xyXG4gICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xyXG4gICAgfVxyXG5cclxuICAgICYgPiAuZ3JpZCB7XHJcbiAgICAgIG1hcmdpbjogMDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZfX3RpdGxlIHtcclxuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xyXG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcclxuICB9XHJcblxyXG4gICZfX3N1Z2dlc3RlZC1wYWdlcyB7XHJcbiAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjVweDtcclxuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xyXG5cclxuICAgICZfX2xpbmtzIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgY29sdW1uLWdhcDogOHB4O1xyXG4gICAgICByb3ctZ2FwOiAxMnB4O1xyXG5cclxuICAgICAgYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgYnRuO1xyXG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLXBvbXBlaWkpO1xyXG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtd2hpdGUpO1xyXG5cclxuICAgICAgICAmOmhvdmVyIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xyXG4gICAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XHJcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXBvbXBlaWkpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIjc2xpZGluZy1wb3B1cCB7XHJcbiAgICAmLnNsaWRpbmctcG9wdXAtYm90dG9tIHtcclxuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcclxuICAgICAgICBib3gtc2hhZG93OiAwIC0ycHggMjhweCAwIHJnYigyOSAyOSAyNyAvIDYlKTtcclxuICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICBcclxuICAgICAgICAmID4gLmV1LWNvb2tpZS1jb21wbGlhbmNlLWJhbm5lciB7XHJcbiAgICAgICAgICAgIC5ldS1jb29raWUtY29tcGxpYW5jZSB7XHJcbiAgICAgICAgICAgICAgICAmLW1lc3NhZ2Uge1xyXG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjUlO1xyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBoMiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgN3Z3LCB2YXIoLS1mb250U2l6ZUhlYWRpbmdGb3VyKSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIHAge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWRhcmtHcmV5KTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgYSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgJi1tb3JlLWJ1dHRvbiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcclxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBub25lO1xyXG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xyXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZGFya0dyZXkpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250UmVndWxhcik7XHJcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiB2YXIoLS1mb250U2l6ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHZhcigtLWxpbmVIZWlnaHQpO1xyXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcclxuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTYuOHB4O1xyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAmLWNvbnRlbnQge1xyXG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCBhdXRvO1xyXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcclxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XHJcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IHZhcigtLWNvbnRhaW5lcldpZHRoKTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICAgICAgICAgJi1idXR0b25zIHtcclxuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDM1JTtcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwJTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgJi1zZWNvbmRhcnktYnV0dG9uIHtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG47XHJcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ibGFjayk7XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAgICAgICAgICYtZGVmYXVsdC1idXR0b24ge1xyXG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBidG47XHJcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcclxuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xyXG4gICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwIDA7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0O1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLm8tbm9kZSB7XHJcbiAgJi0tYmFja2dyb3VuZCB7XHJcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICB0b3A6IDA7XHJcbiAgICByaWdodDogMDtcclxuICAgIGJvdHRvbTogMDtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICBvcGFjaXR5OiAwLjQ7XHJcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyNDgsIDI0OCwgMjQ4LCAwKSAwJSwgI2Y4ZjhmOCAxMDAlKTtcclxuICAgIHotaW5kZXg6IC0yO1xyXG5cclxuICAgICY6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICB0b3A6IDA7XHJcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XHJcbiAgICAgIGJveC1zaGFkb3c6IGluc2V0IDBweCAyMDBweCAyNXB4IC0xNTBweCB2YXIoLS1jLXdoaXRlKTtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2Mi41JTtcclxuICAgICAgei1pbmRleDogMTtcclxuICAgIH1cclxuXHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICByaWdodDogMDtcclxuICAgICAgYm90dG9tOiAwO1xyXG4gICAgICBsZWZ0OiAwO1xyXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy4uL2ltZy9tZW51LWJhY2tncm91bmQtMngucG5nJyk7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgcGFkZGluZy1ib3R0b206IDYyLjUlO1xyXG4gICAgICBvcGFjaXR5OiAwLjU7XHJcbiAgICB9XHJcbiAgfVxyXG4gICYuby1tZWRhbC1sYW5kaW5nIHtcclxuICAgIC5tLWVudGl0eSB7XHJcbiAgICAgIG1hcmdpbjogNDBweCAwO1xyXG4gICAgaDJ7XHJcbiAgICAgIGxldHRlci1zcGFjaW5nOiBub3JtYWw7XHJcbiAgICB3b3JkLXNwYWNpbmc6IG5vcm1hbDtcclxuICAgIH1cclxuICAgIH1cclxuICAgIC5tLWJhbm5lci1kZWZhdWx0IHtcclxuICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIEhlYWRlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5vLWhlYWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjNzIHZhcigtLWVhc2luZyk7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAmX19sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBmbGV4LXNocmluazogMTtcbiAgICBwYWRkaW5nLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApLzIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWluLWhlaWdodDogNDRweDtcbiAgICB0cmFuc2l0aW9uOiAwLjE1cyB2YXIoLS1lYXNpbmcpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjc1O1xuICAgIH1cblxuICAgIFtkYXRhLW5hdj1cIm9wZW5cIl0gJiB7XG4gICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTUxcHg7XG4gICAgICBtaW4td2lkdGg6IDEwMHB4O1xuICAgICAgaGVpZ2h0OiA1OHB4O1xuXG4gICAgICBwYXRoIHtcbiAgICAgICAgW2RhdGEtbmF2PVwib3BlblwiXSAmIHtcbiAgICAgICAgICBmaWxsOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAmOm50aC1vZi10eXBlKDEpLFxuICAgICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMSksXG4gICAgICAgICY6bnRoLW9mLXR5cGUoMikge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmX19pbm5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYWxpZ24tY29udGVudDogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cblxuICAmX19ib29rIHtcbiAgICBhIHtcbiAgICAgIEBpbmNsdWRlIGJ0bl9hbHQ7XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG4gIFxuICAmX19zZWFyY2gtd3JhcHBlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIEZvb3RlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiAuby1mb290ZXIge1xuICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMykgMDtcblxuICAgIGEge1xuICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgfVxuXG4gICAgJl9fc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDYpO1xuICAgIH1cblxuICAgICZfX2ZpbmQtdXMsXG4gICAgJl9fc3RheS1pbi10b3VjaCxcbiAgICAmX19zb2NpYWwge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtZFwiKSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzQ0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19zdGF5LWluLXRvdWNoIHtcbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX19yb3cge1xuXG4gICAgICAgICZfX3RvcCB7XG4gICAgICAgICAgICBoMSxcbiAgICAgICAgICAgIC5oMSxcbiAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgLmgyLFxuICAgICAgICAgICAgaDMsXG4gICAgICAgICAgICAuaDMsXG4gICAgICAgICAgICBoNCxcbiAgICAgICAgICAgIC5oNCxcbiAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgLmg1LFxuICAgICAgICAgICAgaDYsXG4gICAgICAgICAgICAuaDYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGNsYW1wKDE4cHgsIDIuNXZ3LCAyMHB4KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogY2xhbXAoMThweCwgMi41dncsIDE4cHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBjbGFtcCgyOHB4LCA1dncsIDMycHgpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIG5hdiB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19wcmUtZm9vdGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtYmxhY2spO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAqIDEuNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiB2YXIoLS1idW1wKSAwIHZhcigtLWJ1bXApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIHZhcigtLWJ1bXApO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJiA+IC5ncmlkIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJiA+IFtjbGFzcyo9J2NvbC0nXSB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxtZFwiKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX21lbnUge1xuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gICAgICAgIFxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmID4gYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fc29jaWFsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBnYXA6IHZhcigtLWJ1bXApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPG1kXCIpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmX19iYWNrLXRvLXRvcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidG4tdy1pY29uKCcuLi9pbWcvYXJyb3ctdXAtd2hpdGUuc3ZnJyk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMyk7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnRuLXctaWNvbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1ibGFjayk7XG4gICAgICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnLi4vaW1nL2Fycm93LXVwLWJsYWNrLnN2ZycpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tLWZvb3Rlci0tLXNvY2lhbC1saW5rcyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX2NyZWRpdHMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEoMjU1LDI1NSwyNTUsMC43KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3NlcGFyYXRvciB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iZyk7XG4gICAgfVxufVxuICAiLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gVmlld3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby12aWV3IHtcbiAgICAmX19saXN0aW5nIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIDFmcik7XG5cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMSwgMWZyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52aWV3cy1yb3cge1xuICAgICAgICAgICAgYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIC5vLXRlYXNlcntcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG4gICBcbn1cblxuLnZpZXdfX3doYXRfc19vbixcbi52aWV3X192aWRlbyxcbi52aWV3X19hcnRpY2xlLFxuLnZpZXdfX3doYXRfc19vbl9hcmNoaXZlIHtcbiAgICBmb3JtIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICAgICAgICAgICAgZ2FwOiBjYWxjKHZhcigtLWJhc2VVbml0KSAqIDEuNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1mb3JtLWl0ZW0tdHlwZSB7XG4gICAgICAgICAgICAuZm9ybS1zZWxlY3Qge1xuICAgICAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlcjogMXB4IHNvbGlkICNERjM2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gJjpob3ZlcntcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyAgICAgY29sb3I6ICNERjM2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gICAgIGJvcmRlcjogMXB4IHNvbGlkICNERjM2MDA7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZbbmFtZSo9XCJ0eXBlW0FsbF1cIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZi1saW5rLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpIWltcG9ydGFudDs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJltuYW1lKj1cInR5cGVbOF1cIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtZXhoaWJpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLWV4aGliaXRpb24pO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZXhoaWJpdGlvbikhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYmVmLWxpbmstLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZXhoaWJpdGlvbik7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSkhaW1wb3J0YW50OztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW25hbWUqPVwidHlwZVs5XVwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy10YWxrcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXRhbGtzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXRhbGtzKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5iZWYtbGluay0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy10YWxrcyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSkhaW1wb3J0YW50OztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW25hbWUqPVwidHlwZVsxMF1cIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtdG91cnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy10b3Vycyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy10b3VycykhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYmVmLWxpbmstLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtdG91cnMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpIWltcG9ydGFudDs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJltuYW1lKj1cInR5cGVbMTNdXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLWZhbWlsaWVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZmFtaWxpZXMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtZmFtaWxpZXMpIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZi1saW5rLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWZhbWlsaWVzKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKSFpbXBvcnRhbnQ7O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICZbbmFtZSo9XCJ0eXBlWzExXVwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdmFyKC0tYy13b3Jrc2hvcHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13b3Jrc2hvcHMpO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd29ya3Nob3BzKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5iZWYtbGluay0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13b3Jrc2hvcHMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpIWltcG9ydGFudDs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJltuYW1lKj1cInR5cGVbMTRdXCJdIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jLW9mZnNpdGUtdG91cmluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLW9mZnNpdGUtdG91cmluZyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1vZmZzaXRlLXRvdXJpbmcpIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZi1saW5rLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLW9mZnNpdGUtdG91cmluZyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSkhaW1wb3J0YW50OztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAmW25hbWUqPVwidHlwZVsxMl1cIl0ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLWMtc29hbmUtbGF0ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zb2FuZS1sYXRlcyk7XG5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1zb2FuZS1sYXRlcykhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICYuYmVmLWxpbmstLXNlbGVjdGVkIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtc29hbmUtbGF0ZXMpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpIWltcG9ydGFudDs7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJltuYW1lKj1cInR5cGVbMjgyXVwiXSB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjp2YXIoLS1jLWNvdXJzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjp2YXIoLS1jLWNvdXJzZSlcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29sb3I6IHZhcigtLWMtc29hbmUtbGF0ZXMpIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmLmJlZi1saW5rLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWNvdXJzZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSkhaW1wb3J0YW50OztcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1mb3JtLWl0ZW0tcnVuLWRhdGUge1xuICAgICAgICAgICAgLmZvcm0tc2VsZWN0IHtcbiAgICAgICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbHVtbi1nYXA6IGNhbGModmFyKC0tYmFzZVVuaXQpICogNik7XG4gICAgICAgICAgICAgICAgICAgIC8vIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI0Q4RDhEOCA7XG4gICAgICAgICAgICAgICAgICAgIC8vIGhlaWdodDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAzKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAtMyk7XG4gICAgICAgICAgICAgICAgLy8gICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICAgLy8gICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIC8vICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4O1xuICAgICAgICAgICAgICAgIC8vICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgLy8gbGVmdDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAtMyk7XG4gICAgICAgICAgICAgICAgLy8gICAgIGhlaWdodDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAzKTtcbiAgICAgICAgICAgICAgICAvLyAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAvLyAgICAgfVxuICAgICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjRDhEOEQ4O1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAzKTtcblxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNEOEQ4RDg7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJpZ2h0OiBjYWxjKHZhcigtLWJhc2VVbml0KSAqIC0zKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IGNhbGModmFyKC0tYmFzZVVuaXQpICogMyk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bl91bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJi5iZWYtbGluay0tc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLWFjdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5qcy1mb3JtLWl0ZW0tZm9yIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAmLmJlZi1saW5rLS1zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1wb21wZWlpKTtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaGVhZGVyIHtcbiAgICAgICAgLm0tZW50aXR5X192aWV3IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IGNhbGModmFyKC0tYmFzZVVuaXQpICogNSk7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgdmFyKC0tYnVtcCk7XG5cbiAgICAgICAgICAgIC52aWV3cy1maWVsZC1maWVsZC1ydW4tZGF0ZSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIC0yKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxuLnZpZXdfX3doYXRfc19vbiB7XG4gIFxuICAgICZfX2ZpbHRlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgY29sdW1uLWdhcDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiA2KTtcbiAgICAgICAgLy8gcm93LWdhcDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiA2KTtcbiAgICAgICAgLy8gQGluY2x1ZGUgbWVkaWEoJzxzbScpe1xuICAgICAgICAvLyAgICAgcm93LWdhcDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAxMSk7XG4gICAgICAgIC8vIH1cbiAgICAgIFxuICAgICAgICBcbiAgICB9XG5cbiAgICAmX19hcmNoaXZlLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXJ7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiBjYWxjKHZhcigtLWJhc2VVbml0KSAqIC0zKTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKHZhcigtLWJhc2VVbml0KSAqIDMpO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgIFxuICAgICAgICB9XG4gICAgfVxufVxuXG4udmlld19fd2hhdF9zX29uX2FyY2hpdmUge1xuICAgICZfX2ZpbHRlcnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjb2x1bW4tZ2FwOiBjYWxjKHZhcigtLWJhc2VVbml0KSAqIDUpO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAmX193aGF0cy1vbi1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi52aWV3X19zaXRlX3NlYXJjaCB7XG4gICAgaGVhZGVyIHtcbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgyOHB4LCAyLjV2dywgMzRweCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogY2xhbXAoMzhweCwgNXZ3LCA0NHB4KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvZHkpO1xuICAgICAgICB9XG4gICAgfVxuICAgIGZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC52aWV3cy1yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzFmMWQxZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgaDIuaDQge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnZpZXdfX3doYXRfc19vbl9hcmNoaXZlX19maWx0ZXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGNvbHVtbi1nYXA6IGNhbGModmFyKC0tYmFzZVVuaXQpICogNSk7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgcm93LWdhcDogY2FsYyh2YXIoLS1iYXNlVW5pdCkgKiAxLjI1KTtcbiAgICB9XG59XG5cbi5hcmNoaXZlLWZpbHRlcnNfX3llYXJzIHtcbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1yZWd1bGFyKTtcbiAgICAgICAgb3B0aW9uIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBTZWFyY2ggcmVzdWx0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiNzZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm8tc2VhcmNoLXJlc3VsdHMtd3JhcHBlciB7XG4gIGgyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnJlc3VsdF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApICogMik7XG5cbiAgICBvbCB7XG4gICAgICBAaW5jbHVkZSBsaS1yZXNldDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1idW1wKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBzaWRlYmFyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm8tc2lkZWJhciB7XG4gICAgcGFkZGluZzogdmFyKC0tYnVtcCkgMjBweCBjYWxjKHZhcigtLWJ1bXApICogMS41KTtcblxuICAgICZfX2luZm8tYm94IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1iX3JlZCk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2R5KTtcbiAgICAgICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS41ZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAudGF4b25vbXktdGVybSB7XG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBjbGFtcCgxOHB4LCAyLjV2dywgMThweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IGNsYW1wKDI3cHgsIDV2dywgMjdweCk7XG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9keSk7XG4gICAgICAgICAgICAgICAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmX190aXRsZSB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICB9XG5cbiAgICAmX19ib29raW5nLWxpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMCAwO1xuICAgICAgICBwYWRkaW5nOiA4cHggMTVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyB2YXIoLS1lYXNpbmcpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgJltocmVmXj0naHR0cCddIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXBvbXBlaWkpO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9leHQtYWx0LXJlZC5wbmcnKSA1MCUgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIHZhcigtLWVhc2luZyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9leHQtYWx0LXdoaXRlLnBuZycpIDUwJSBuby1yZXBlYXQ7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi0tZXh0ZXJuYWwge1xuICAgICAgICAgICAgJltocmVmXj0naHR0cCddIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvZXh0LWFsdC1yZWQucG5nJykgNTAlIG5vLXJlcGVhdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGlja2V0cy1saW5rIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcG9tcGVpaSk7XG4gICAgICAgIH1cblxuICAgICAgICAmW2hyZWZePSdodHRwJ10ge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoJy4uL2ltZy9leHQtYWx0LXJlZC5wbmcnKSA1MCUgbm8tcmVwZWF0O1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICZfX3N1Ym5hdiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZ3JleSk7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1ib2xkKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogY2FsYyh2YXIoLS1idW1wKSAvIDIpIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBUZWFzZXJzXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuXG5cblxuXG5cblxuXG4uby10ZWFzZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIGhlaWdodDogMTAwJTtcblxuICAmX190aHVtYiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmEtaW1hZ2UtY3JlZGl0IHtcbiAgICAgIGxlZnQ6IGNhbGModmFyKC0tYnVtcCkgLyAxLjUpO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG4gICAgfVxuXG4gICAgJjpob3ZlciB7XG4gICAgICBpbWcge1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fZGF0ZSxcbiAgJl9fcHJpY2Uge1xuICAgIHAge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luOiAwIDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgIH1cbiAgfVxuXG4gICZfX2NvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMjRweCBjYWxjKHZhcigtLWJ1bXApIC8gMiApO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtZ3JleSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICBcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmID4gcCB7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHZhcigtLWJ1bXApO1xuXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJl9fdGl0bGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtYWxpZ24tbGFzdDogbGVmdDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xuICAgIGZvbnQtc2l6ZTogY2xhbXAoMjJweCwyLjV2dywyMnB4KTtcbiAgICBsaW5lLWhlaWdodDogY2xhbXAoMzJweCw1dncsMzJweCk7XG5cbiAgICAmLS1saXN0aW5nIHtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMnB4KTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWJsYWNrKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LWJvbGQpO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgfVxuICB9XG5cbiAgJl9fYnV0dG9ucyB7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICBnYXA6IGNhbGModmFyKC0tYmFzZVVuaXQpICogMS41KTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICZfX2V2ZW50LXR5cGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtYm9sZCk7XG4gICAgcGFkZGluZzogY2FsYyh2YXIoLS1idW1wKSAvIDMpIGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcblxuICAgICYuZXhoaWJpdGlvbnMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1leGhpYml0aW9uKTtcbiAgICB9XG4gICAgJi50YWxrcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRhbGtzKTtcbiAgICB9XG4gICAgJi50b3VycyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXRvdXJzKTtcbiAgICB9XG4gICAgJi5ldmVuaW5nLW9wZW5pbmcge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1ldmVuaW5nKTtcbiAgICB9XG4gICAgJi5mYW1pbGllcyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWZhbWlsaWVzKTtcbiAgICB9XG4gICAgJi53b3Jrc2hvcHMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy13b3Jrc2hvcHMpO1xuICAgIH1cbiAgICAmLmNvdXJzZXMtYW5kLWNsYXNzZXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1jb3Vyc2UpO1xuICAgIH1cbiAgICAmLm9mZnNpdGUtdG91cmluZyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLW9mZnNpdGUtdG91cmluZyk7XG4gICAgfVxuICAgICYuc29hbmUtbGF0ZXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1zb2FuZS1sYXRlcyk7XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJzb3VyY2VSb290IjoiIn0=*/