/**
 * ----------------------
 * 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 {
  -webkit-animation: bounceFromRight 0.4s ease-out;
          animation: bounceFromRight 0.4s ease-out;
}
#baguetteBox-slider.bounce-from-left {
  -webkit-animation: bounceFromLeft 0.4s ease-out;
          animation: bounceFromLeft 0.4s ease-out;
}

@-webkit-keyframes bounceFromRight {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: -30px;
  }
  100% {
    margin-left: 0;
  }
}

@keyframes bounceFromRight {
  0% {
    margin-left: 0;
  }
  50% {
    margin-left: -30px;
  }
  100% {
    margin-left: 0;
  }
}
@-webkit-keyframes bounceFromLeft {
  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;
  -webkit-animation: bounce 2s infinite ease-in-out;
          animation: bounce 2s infinite ease-in-out;
}

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

@-webkit-keyframes bounce {
  0%, 100% {
    transform: scale(0);
  }
  50% {
    transform: scale(1);
  }
}

@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: Adelle;
  src: url("../font/Adelle_Reg.woff2") format("woff2");
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: Adelle Light;
  src: url("../font/Adelle_light.woff2") format("woff2");
  font-weight: 300;
  font-style: normal;
}
@font-face {
  font-family: Adelle Light Italic;
  src: url("../font/Adelle_LightItalic.woff2") format("woff2");
  font-weight: 300;
  font-style: italic;
}
@font-face {
  font-family: Adelle Semi Bold;
  src: url("../font/Adelle_Semibold.woff2") format("woff2");
  font-weight: 700;
  font-style: normal;
}
@font-face {
  font-family: Adelle Bold;
  src: url("../font/Adelle_Bold.otf") format("woff2");
  font-weight: 700;
  font-style: normal;
}
/**
 * ----------------------
 * Un.titled
 * Config - Vars
 * ----------------------
 */
:root {
  --c-primary: #222222;
  --c-secondary: #ffb7a3;
  --c-white: #ffffff;
  --c-font-color: #333333;
  --fontBody: Adelle Light, "Open Sans", "Helvetica Neue", sans-serif;
  --fontRegular: Adelle, "Open Sans", "Helvetica Neue", sans-serif;
  --fontBold: Adelle Semi Bold, "Open Sans", "Helvetica Neue", sans-serif;
  --fontBolder: Adelle Bold, "Open Sans", "Helvetica Neue", sans-serif;
  --fontItalic: Adelle Light Italic, "Open Sans", "Helvetica Neue", sans-serif;
  --fontTitle: Adelle, "Open Sans", "Helvetica Neue", sans-serif;
  --fontSize: 112.5%;
  --fontSmall: 70%;
  --lineHeight: 1.5;
  --bump: 1rem;
  --containerWidth: 100rem;
  --containerWidth: 1414px;
  --easing: cubic-bezier(0.83, 0, 0.17, 1);
  --transition: 0.3s var(--easing);
}

/**
 * Breakpoints
 */
.full-bleed {
  background-color: #F5F5F5;
  box-shadow: 0 0 0 100vmax #F5F5F5;
  -webkit-clip-path: inset(0 -100vmax);
          clip-path: inset(0 -100vmax);
  padding-top: 65px;
  padding-bottom: 65px;
}
.full-bleed--white {
  background-color: #ffffff;
}
@media (max-width: 767px) {
  .full-bleed {
    padding-top: 20px;
    padding-bottom: 15px;
    margin-bottom: 20px;
  }
}

/**
 * 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
 * ----------------------
 */
@media (max-width: 767px) {
  .hidden-sm-down {
    display: none !important;
  }
}
/**
 * ----------------------
 * Un.titled
 * Helpers - Table
 * ----------------------
 */
/**
 * Responsive Table
 * Creates a responsive table
 * Accepts a list of headers to replace main 
 * table headers on mobile.
 * @param {map} $headers
 * @return {string}
 */
/**
 * Base
 */
/**
 * ----------------------
 * Un.titled
 * Base - Defaults
 * ----------------------
 */
.grid {
  max-width: 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 {
  -webkit-backface-visibility: hidden;
          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;
}

main {
  position: relative;
}

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

.search-app__filters--options--checkbox label,
.search-app__active-pane--filters-grid--checkbox label,
.o-header__radios--item label {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: 10px;
  cursor: pointer;
  color: var(--c-font-color);
  font-family: Adelle;
  font-size: 18px;
  line-height: 28px;
}
@media (max-width: 767px) {
  .search-app__filters--options--checkbox label,
.search-app__active-pane--filters-grid--checkbox label,
.o-header__radios--item label {
    font-size: 16px;
    line-height: 28px;
  }
}
.search-app__filters--options--checkbox label input,
.search-app__active-pane--filters-grid--checkbox label input,
.o-header__radios--item label input {
  visibility: hidden;
  position: relative;
  margin: 0;
}
.search-app__filters--options--checkbox label input:before,
.search-app__active-pane--filters-grid--checkbox label input:before,
.o-header__radios--item label input:before {
  content: "";
  height: 100%;
  width: 100%;
  position: absolute;
  visibility: visible;
  background-size: contain;
  background-repeat: no-repeat;
}

.o-header__radios--item label input {
  height: 18px;
  width: 18px;
  margin-top: 2px;
}
.o-header__radios--item label input:before {
  background-image: url(/themes/pippip/dist/img/empty-radiobox.svg);
}
.o-header__radios--item label input:checked:before {
  background-image: url(/themes/pippip/dist/img/filled-radiobox.svg);
}

.search-app__filters--options--checkbox label input,
.search-app__active-pane--filters-grid--checkbox label input {
  height: 24px;
  width: 24px;
}
.search-app__filters--options--checkbox label input:before,
.search-app__active-pane--filters-grid--checkbox label input:before {
  background-image: url(/themes/pippip/dist/img/empty-checkbox.svg);
}
.search-app__filters--options--checkbox label input:checked:before,
.search-app__active-pane--filters-grid--checkbox label input:checked:before {
  background-image: url(/themes/pippip/dist/img/filled-checkbox.svg);
}

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

/**
 * ----------------------
 * Un.titled
 * Base - Typography
 * ----------------------
 */
/**
 * Config
 */
/**
 * Heading
 */
h1,
.h1,
h2,
.h2,
.m-banner__text,
h3,
.h3,
.o-objects__content .m-expanding-card.accordion__row .js-accordion__header,
.o-teaser-signpost-content__content h2 a,
.m-banner--person-artist h1 span span,
h4,
.h4,
.o-objects__content .m-expanding-card.accordion__row .m-expanding-card__content p,
body[data-art-overlay=open] .art-overlay__inner a,
.m-banner__footer h4,
.m-banner__footer a,
.m-entity .js-accordion .m-expanding-card__grid--row h4,
.m-entity .js-accordion .m-expanding-card__grid--row span,
.m-entity .js-accordion .m-expanding-card__grid--row a,
.m-entity__quote cite,
.a-square-btn,
h5,
.h5,
h6,
.h6 {
  margin-top: 0;
  font-family: var(--fontTitle);
  font-weight: normal;
  margin-bottom: 1rem;
  color: var(--c-font-color);
  letter-spacing: 0;
}

h1,
.h1 {
  font-size: 68px;
  line-height: 84px;
}
@media (max-width: 991px) {
  h1,
.h1 {
    font-size: 50px;
    line-height: 62px;
  }
}
@media (max-width: 767px) {
  h1,
.h1 {
    font-size: 32px;
    line-height: 40px;
  }
}

h2,
.h2,
.m-banner__text {
  font-size: 42px;
  line-height: 49px;
}
@media (max-width: 991px) {
  h2,
.h2,
.m-banner__text {
    font-size: 34px;
    line-height: 41px;
  }
}
@media (max-width: 767px) {
  h2,
.h2,
.m-banner__text {
    font-size: 25px;
    line-height: 32px;
  }
}

h3,
.h3,
.o-objects__content .m-expanding-card.accordion__row .js-accordion__header,
.o-teaser-signpost-content__content h2 a,
.m-banner--person-artist h1 span span {
  font-size: 26px;
  line-height: 36px;
}
@media (max-width: 991px) {
  h3,
.h3,
.o-objects__content .m-expanding-card.accordion__row .js-accordion__header,
.o-teaser-signpost-content__content h2 a,
.m-banner--person-artist h1 span span {
    font-size: 23px;
    line-height: 33px;
  }
}
@media (max-width: 767px) {
  h3,
.h3,
.o-objects__content .m-expanding-card.accordion__row .js-accordion__header,
.o-teaser-signpost-content__content h2 a,
.m-banner--person-artist h1 span span {
    font-size: 20px;
    line-height: 30px;
  }
}

h4,
.h4,
.o-objects__content .m-expanding-card.accordion__row .m-expanding-card__content p,
body[data-art-overlay=open] .art-overlay__inner a,
.m-banner__footer h4,
.m-banner__footer a,
.m-entity .js-accordion .m-expanding-card__grid--row h4,
.m-entity .js-accordion .m-expanding-card__grid--row span,
.m-entity .js-accordion .m-expanding-card__grid--row a,
.m-entity__quote cite,
.a-square-btn {
  font-size: 20px;
  line-height: 30px;
}
@media (max-width: 991px) {
  h4,
.h4,
.o-objects__content .m-expanding-card.accordion__row .m-expanding-card__content p,
body[data-art-overlay=open] .art-overlay__inner a,
.m-banner__footer h4,
.m-banner__footer a,
.m-entity .js-accordion .m-expanding-card__grid--row h4,
.m-entity .js-accordion .m-expanding-card__grid--row span,
.m-entity .js-accordion .m-expanding-card__grid--row a,
.m-entity__quote cite,
.a-square-btn {
    font-size: 19px;
    line-height: 26px;
  }
}
@media (max-width: 767px) {
  h4,
.h4,
.o-objects__content .m-expanding-card.accordion__row .m-expanding-card__content p,
body[data-art-overlay=open] .art-overlay__inner a,
.m-banner__footer h4,
.m-banner__footer a,
.m-entity .js-accordion .m-expanding-card__grid--row h4,
.m-entity .js-accordion .m-expanding-card__grid--row span,
.m-entity .js-accordion .m-expanding-card__grid--row a,
.m-entity__quote cite,
.a-square-btn {
    font-size: 18px;
    line-height: 24px;
  }
}

h5,
.h5,
h6,
.h6 {
  font-size: 16px;
  line-height: 26px;
}

/**
 * Paragraphs
 */
p {
  font-size: 20px;
  line-height: 32px;
  font-family: var(--fontBody);
  color: var(--c-font-color);
  margin: 1.5em 0;
}
@media (max-width: 991px) {
  p {
    font-size: 18px;
    line-height: 29px;
  }
}
@media (max-width: 767px) {
  p {
    font-size: 16px;
    line-height: 26px;
  }
}
p:first-of-type {
  margin-top: 0;
}
p:last-of-type {
  margin-bottom: 0;
}
p strong {
  font-family: var(--fontBold);
}

/**
 * Lists
 */
ul,
ol {
  margin: 1.5rem 0;
  list-style-position: inside;
  padding-left: 0;
}
@media (max-width: 767px) {
  ul,
ol {
    margin-top: 0;
  }
}
ul li,
ol li {
  font-size: 20px;
  line-height: 32px;
  font-family: var(--fontBody);
  color: var(--c-font-color);
}
@media (max-width: 991px) {
  ul li,
ol li {
    font-size: 18px;
    line-height: 28px;
  }
}
@media (max-width: 767px) {
  ul li,
ol li {
    font-size: 16px;
    line-height: 26px;
  }
}

ul.toolbar-menu li {
  font-size: 13px;
  line-height: 13px;
  font-family: "Source Sans Pro", "Lucida Grande", Verdana, sans-serif;
}

/**
 * Links
 */
a {
  font-weight: inherit;
  text-decoration: underline;
  transition: all var(--transition);
  word-break: break-word;
  color: var(--c-font-color);
}
@media (max-width: 991px) {
  a {
    font-size: 18px;
    line-height: 29px;
  }
}
@media (max-width: 767px) {
  a {
    font-size: 16px;
    line-height: 26px;
  }
}
a:hover, a:focus, a:active {
  text-decoration: none;
  color: var(--c-font-color);
}
a:focus {
  outline: 3px 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-colour-theme-set);
  color: var(--c-colour-theme-style-set);
}

::selection {
  background-color: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
}

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

/**
 * Inline
 */
strong {
  font-weight: normal;
  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 {
  border-radius: 16px;
  background-color: #F3F3F3;
  list-style: none;
  padding: 5px 20px !important;
  display: flex;
  gap: 20px;
  margin: 1.5rem 0;
}
.pager li {
  margin: 0;
}
.pager li.disabled {
  display: none;
}
.pager li a {
  font-size: 16px;
  line-height: 24px;
  font-family: Adelle;
  text-decoration: none;
}
.pager li a:hover, .pager li a:focus {
  font-family: Adelle Semi Bold;
}
.pager li.active a {
  font-family: Adelle Semi Bold;
}

.admin-functions {
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  width: 100%;
  background-color: var(--c-primary);
  max-width: 100%;
  z-index: 31;
}
.user-logged-in .admin-functions {
  top: 39px;
}
.toolbar-tray-open .admin-functions {
  top: 79px;
}
.admin-functions [class*=col-] {
  padding: 0 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);
}

.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;
  font-size: var(--fontSize);
  box-sizing: border-box;
  line-height: var(--lineHeight);
  font-family: var(--fontBody);
}

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

body {
  display: flex;
  flex-direction: column;
}

.centered {
  justify-content: center;
}

.centered-title {
  text-align: center;
}
.centered-title > h2 {
  margin-bottom: 30px;
}

.eu-cookie-compliance-content {
  max-width: 100%;
  padding: 15px;
}

/**
* 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: 767px) {
  .a-grid--4 {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Nav Toggle
 * ----------------------
 */
/**
 * Config
 */
/**
 * Styles
 */
.a-nav-toggle {
  border: 0;
  padding: 0;
  background-color: transparent;
  width: 45px;
  height: 30px;
  position: relative;
  display: none;
  outline: none;
}
@media (max-width: 767px) {
  .a-nav-toggle {
    display: block;
  }
}
.a-nav-toggle:hover, .a-nav-toggle:focus {
  outline: none;
}
.a-nav-toggle__line {
  display: block;
  background: var(--c-primary);
  width: 45px;
  height: 4px;
  position: absolute;
  left: 0;
  border-radius: 2px;
  transition: var(--transition);
}
.a-nav-toggle__line-1 {
  top: 0;
}
:hover > .a-nav-toggle__line-1 {
  transform: translateY(-2px);
}
[data-nav=open] .a-nav-toggle__line-1 {
  transform: translateY(15px) translateX(0) rotate(45deg);
}
.a-nav-toggle__line-2 {
  top: 50%;
}
[data-nav=open] .a-nav-toggle__line-2 {
  opacity: 0;
}
.a-nav-toggle__line-3 {
  top: 100%;
}
:hover > .a-nav-toggle__line-3 {
  transform: translateY(2px);
}
[data-nav=open] .a-nav-toggle__line-3 {
  transform: translateY(-15px) translateX(0) rotate(-45deg);
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Buttons
 * ----------------------
 */
/**
 * Config
 **/
/**
 * Styles
 **/
.a-btn, .m-entity__embed form input[type=submit] {
  position: relative;
  cursor: pointer;
  border-radius: 3px;
  background-color: var(--c-font-color);
  color: #fff;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 28px;
  padding: 10px 25px 7px 25px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr;
  justify-content: center;
  align-items: center;
  text-align: center;
  border-color: transparent;
}
.a-btn:after, .m-entity__embed form input[type=submit]:after {
  transition: 0.2s;
  content: "";
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  position: relative;
  height: 100%;
  width: 8px;
  right: -5px;
  top: -1px;
  background-repeat: no-repeat;
  background-position: center center;
  visibility: hidden;
}
@media (max-width: 767px) {
  .a-btn, .m-entity__embed form input[type=submit] {
    grid-template-columns: auto auto;
  }
}
.a-btn:hover, .m-entity__embed form input[type=submit]:hover, .a-btn:focus, .m-entity__embed form input[type=submit]:focus {
  color: #fff;
  background-color: rgba(51, 51, 51, 0.9);
}
.a-btn:hover:after, .m-entity__embed form input[type=submit]:hover:after, .a-btn:focus:after, .m-entity__embed form input[type=submit]:focus:after {
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  visibility: initial;
}
.o-light-theme .a-btn--theme {
  position: relative;
  cursor: pointer;
  border-radius: 3px;
  background-color: #fff;
  color: var(--c-font-color);
  font-size: 18px;
  letter-spacing: 0;
  line-height: 28px;
  padding: 10px 25px 7px 25px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.o-light-theme .a-btn--theme:after {
  transition: 0.2s;
  content: "";
  position: relative;
  height: 100%;
  width: 8px;
  right: -5px;
  top: -1px;
  background-repeat: no-repeat;
  background-position: center center;
  visibility: hidden;
}
@media (max-width: 767px) {
  .o-light-theme .a-btn--theme {
    grid-template-columns: auto auto;
  }
}
.o-light-theme .a-btn--theme:hover, .o-light-theme .a-btn--theme:focus {
  color: #fff;
  background-color: rgba(51, 51, 51, 0.9);
}
.o-light-theme .a-btn--theme:hover:after, .o-light-theme .a-btn--theme:focus:after {
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  visibility: initial;
}
.o-dark-theme .a-btn--theme {
  position: relative;
  cursor: pointer;
  border-radius: 3px;
  background-color: var(--c-font-color);
  color: #fff;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 28px;
  padding: 10px 25px 7px 25px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.o-dark-theme .a-btn--theme:after {
  transition: 0.2s;
  content: "";
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  position: relative;
  height: 100%;
  width: 8px;
  right: -5px;
  top: -1px;
  background-repeat: no-repeat;
  background-position: center center;
  visibility: hidden;
}
@media (max-width: 767px) {
  .o-dark-theme .a-btn--theme {
    grid-template-columns: auto auto;
  }
}
.o-dark-theme .a-btn--theme:hover, .o-dark-theme .a-btn--theme:focus {
  color: #fff;
  background-color: rgba(51, 51, 51, 0.9);
}
.o-dark-theme .a-btn--theme:hover:after, .o-dark-theme .a-btn--theme:focus:after {
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  visibility: initial;
}
.a-btn--clear {
  position: relative;
  cursor: pointer;
  border-radius: 3px;
  background-color: var(--c-font-color);
  color: #fff;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 28px;
  padding: 10px 25px 7px 25px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.a-btn--clear:after {
  transition: 0.2s;
  content: "";
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  position: relative;
  height: 100%;
  width: 8px;
  right: -5px;
  top: -1px;
  background-repeat: no-repeat;
  background-position: center center;
  visibility: hidden;
}
@media (max-width: 767px) {
  .a-btn--clear {
    grid-template-columns: auto auto;
  }
}
.a-btn--clear:disabled {
  opacity: 0.6;
}
.a-btn--clear:not(.a-btn--clear:disabled):hover, .a-btn--clear:not(.a-btn--clear:disabled):focus {
  color: #fff;
  background-color: rgba(51, 51, 51, 0.9);
}
.a-btn--clear:not(.a-btn--clear:disabled):hover:after, .a-btn--clear:not(.a-btn--clear:disabled):focus:after {
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  visibility: initial;
}

.a-square-btn {
  border: 1px solid #D8D8D8;
  background-color: #F5F5F5;
  color: var(--c-font-color);
  font-family: var(--fontRegular);
  font-weight: 300;
  letter-spacing: 0;
  padding: 0 25px;
  text-transform: capitalize;
}
@media (max-width: 767px) {
  .a-square-btn {
    width: 100% !important;
    height: 40px;
    margin-bottom: 0;
  }
}
.a-square-btn:hover, .a-square-btn.active, .a-square-btn:focus {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
  padding: 0 25px;
}
.a-square-btn:hover::-moz-selection, .a-square-btn.active::-moz-selection, .a-square-btn:focus::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.a-square-btn:hover::selection, .a-square-btn.active::selection, .a-square-btn:focus::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}

.a-btn--reverse {
  position: relative;
  cursor: pointer;
  border-radius: 3px;
  background-color: #fff;
  color: var(--c-font-color);
  font-size: 18px;
  letter-spacing: 0;
  line-height: 28px;
  padding: 10px 25px 7px 25px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr;
  justify-content: center;
  align-items: center;
  text-align: center;
}
.a-btn--reverse:after {
  transition: 0.2s;
  content: "";
  position: relative;
  height: 100%;
  width: 8px;
  right: -5px;
  top: -1px;
  background-repeat: no-repeat;
  background-position: center center;
  visibility: hidden;
}
@media (max-width: 767px) {
  .a-btn--reverse {
    grid-template-columns: auto auto;
  }
}
.a-btn--reverse:hover, .a-btn--reverse:focus {
  color: #fff;
  background-color: rgba(51, 51, 51, 0.9);
}
.a-btn--reverse:hover:after, .a-btn--reverse:focus:after {
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  visibility: initial;
}

.a-close-btn {
  border-radius: 25px;
  background-color: #FFFFFF;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 15px 20px;
  text-decoration: none;
  line-height: 20px;
  grid-gap: 10px;
  font-family: var(--fontRegular);
  cursor: pointer;
  border-color: transparent;
  transition: 0.2s;
}
.a-close-btn:hover, .a-close-btn:focus {
  text-decoration: underline;
}
.a-close-btn svg {
  width: 14px;
  height: 14px;
}

/**
 * ----------------------
 * Un.titled
 * Atoms - Image credits
 * ----------------------
 */
.a-image-credit {
  position: absolute;
  bottom: var(--bump);
  right: var(--bump);
  z-index: 4;
  cursor: help !important;
  height: var(--bump);
  width: var(--bump);
  border: 0;
}
@media (max-width: 767px) {
  .a-image-credit {
    bottom: calc(var(--bump) / 2);
    right: calc(var(--bump) / 2);
  }
}
.a-image-credit span {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  text-transform: none;
  line-height: 15px;
  text-align: center;
}
.a-image-credit:before {
  content: attr(data-credit);
  text-indent: 0;
  background: var(--c-primary);
  color: var(--c-white);
  opacity: 0;
  position: absolute;
  right: var(--bump);
  top: 0;
  z-index: -1;
  padding: 0 21px;
  height: var(--bump);
  line-height: var(--bump);
  white-space: nowrap;
  transition: opacity var(--transition);
  pointer-events: none;
  border-radius: 3px;
  letter-spacing: 0;
  word-spacing: 0;
}
.a-image-credit:focus::before, .a-image-credit:active::before, .a-image-credit:hover::before {
  opacity: 1;
}

/**
* ----------------------
* Un.titled
* Atoms - Breadcrumbs
* ----------------------
*/
/**
* Styling
*/
.a-breadcrumb {
  background-color: #F5F5F5;
  padding: 6px 0 4px;
}
.a-breadcrumb .col-sm-12 {
  padding-top: 0;
  padding-bottom: 0;
}
.a-breadcrumb ol {
  list-style: none;
  margin: 0;
  padding: 0;
  display: block;
}
.a-breadcrumb ol li {
  list-style: none;
  margin: 0;
  padding: 0;
}
.a-breadcrumb ol li, .a-breadcrumb ol li a {
  font-size: 15px;
  letter-spacing: 0;
  line-height: 23px;
  color: #333333;
}
.a-breadcrumb ol li {
  margin-right: calc(var(--bump) / 6);
  word-break: break-word;
  display: inline;
}
.a-breadcrumb ol li::after {
  content: ">";
  margin-left: calc(var(--bump) / 10);
}
.a-breadcrumb ol li a {
  color: #999999;
  text-decoration: none;
}
.a-breadcrumb ol li a:hover, .a-breadcrumb ol li a:focus {
  color: #333333;
}
.a-breadcrumb ol li:last-child::after {
  display: none;
}

.a-circular-links {
  display: flex;
  -moz-column-gap: 15px;
       column-gap: 15px;
  row-gap: 15px;
  flex-wrap: wrap;
}
.a-circular-links a {
  border-radius: 16px;
  background-color: #F5F5F5;
  padding: 2px 10px !important;
  font-size: 16px;
  line-height: 20px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 5px;
  align-items: center;
}
.a-circular-links a img {
  width: 8px;
}
.a-circular-links a:hover, .a-circular-links a:focus {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.a-circular-links a:hover::-moz-selection, .a-circular-links a:focus::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.a-circular-links a:hover::selection, .a-circular-links a:focus::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}

.a-circular-links--reverse {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 20px;
  flex-wrap: wrap;
}
.a-circular-links--reverse a {
  border-radius: 16px;
  background-color: #fff;
  padding: 2px 10px !important;
  font-size: 16px;
  line-height: 20px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  cursor: pointer;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 5px;
  align-items: center;
}
.a-circular-links--reverse a img {
  width: 8px;
}
.a-circular-links--reverse a:hover, .a-circular-links--reverse a:focus {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.a-circular-links--reverse a:hover::-moz-selection, .a-circular-links--reverse a:focus::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.a-circular-links--reverse a:hover::selection, .a-circular-links--reverse a:focus::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}

/**
 * Molecules
 */
/**
 * ----------------------
 * Un.titled
 * Molecules - Emergency Message
 * ----------------------
 */
/**
 * Config
 **/
@-webkit-keyframes slideInUp {
  0% {
    opacity: 0;
    transform: translateY(100%);
  }
  80% {
    transform: scale(1.02);
  }
  100% {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
@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: absolute;
  top: 0;
  width: 100%;
  background-color: #333333;
  z-index: 100;
  padding: calc(var(--bump) / 2) 0;
  max-height: 135px;
  display: none;
}
.ct__object-artwork .m-emmsg {
  top: -80px;
}
.m-emmsg__content {
  display: grid;
  justify-content: center;
  text-align: center;
}
.m-emmsg__content h4, .m-emmsg__content p {
  color: var(--c-white);
  text-align: center;
  display: flex;
  justify-content: center;
}
.m-emmsg__content h4 {
  margin-bottom: 10px;
}
.m-emmsg__content p {
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
  font-family: Adelle;
}
.m-emmsg[data-state=visible] {
  opacity: 0;
  display: grid;
  align-items: center;
  transform: translateY(100%);
  -webkit-animation: slideInUp 0.2s 0.3s cubic-bezier(0.77, 0.29, 0.35, 0.72) 1 forwards;
          animation: slideInUp 0.2s 0.3s cubic-bezier(0.77, 0.29, 0.35, 0.72) 1 forwards;
}
.m-emmsg[data-state=visible] > .grid {
  width: 100%;
}
@media (max-width: 575px) {
  .m-emmsg {
    padding: 0;
  }
}
.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: 12px;
  width: 12px;
  display: flex;
  justify-content: center;
  top: 15px;
  right: 15px;
}
.m-emmsg button path {
  fill: var(--c-white);
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Entities
 * ----------------------
 */
.m-entity {
  margin: 80px 0;
  /**
   * ----------------------
   * Un.titled
   * Molecules - Node body copy
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Entity views
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Quotes
   * ----------------------
   */
  /**
   * Config
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Gallery
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image & Text
   * ----------------------
   */
  /**
  * ----------------------
  * Un.titled
  * Molecules - Downloads
  * ----------------------
  */
  /**
  * Config
  */
  /**
  * Styling
  */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Signpost
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Embed
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Entity views
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Image & Text Elements
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Highlighted Content
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Person Profile
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Object Resource Teaser
   * ----------------------
   */
  /**
   * ----------------------
   * Un.titled
   * Molecules - Resource Highlights
   * ----------------------
   */
}
@media (max-width: 767px) {
  .m-entity {
    margin: 40px 0;
  }
}
.m-entity__cta {
  display: flex;
}
.m-entity img {
  width: 100%;
  height: auto;
  display: block;
}
.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__body ul, .m-entity__text ul, .m-entity__accordion ul {
  margin-left: 15px;
}
.m-entity__body ul li, .m-entity__text ul li, .m-entity__accordion ul li {
  list-style: none;
  position: relative;
  margin-bottom: 10px;
}
.m-entity__body ul li::before, .m-entity__text ul li::before, .m-entity__accordion ul li::before {
  content: "";
  border-radius: 50%;
  height: 7px;
  width: 7px;
  display: block;
  position: absolute;
  left: -15px;
  top: 10px;
  background-color: var(--c-colour-theme-set);
}
@media (max-width: 767px) {
  .m-entity__body ul li::before, .m-entity__text ul li::before, .m-entity__accordion ul li::before {
    height: 5px;
    width: 5px;
    top: 8px;
  }
}
.m-entity__body {
  margin-top: 0;
}
.m-entity__image-wrapper {
  position: relative;
}
.m-entity__view:first-child {
  margin-top: 0;
}
.m-entity__view:last-child {
  margin-bottom: 0;
}
.m-entity__quote blockquote {
  font-family: var(--fontItalic);
  margin: 0;
  padding: 0 0 calc(var(--bump) / 2);
}
.m-entity__quote blockquote h3 {
  font-family: Adelle Light Italic;
  margin-bottom: 0;
}
.m-entity__quote blockquote h3:before {
  content: open-quote;
}
.m-entity__quote blockquote h3:after {
  content: close-quote;
}
.m-entity__quote-info {
  margin-top: 13px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}
.m-entity__quote cite {
  font-family: var(--fontBody);
  font-style: normal;
  color: var(--c-font-color);
}
.m-entity__quote cite .name {
  font-weight: bold;
}
.m-entity .js-accordion {
  display: grid;
  grid-gap: 20px;
}
.m-entity .js-accordion .m-expanding-card {
  border: 1px solid rgba(51, 51, 51, 0.25);
  border-radius: 2px;
}
.m-entity .js-accordion .m-expanding-card__content p {
  font-size: 16px;
  line-height: 26px;
}
.m-entity .js-accordion .m-expanding-card .js-accordion__header {
  margin-bottom: 0;
  display: grid;
  padding: 18px 25px;
  color: var(--c-font-color);
  grid-template-columns: 1fr auto;
  align-items: center;
  cursor: pointer;
  min-height: 66px;
  font-family: Adelle;
  grid-gap: 15px;
  font-size: 20px;
  line-height: 27px;
  width: 100%;
  text-align: left;
  border: none;
  background: none;
}
@media (max-width: 767px) {
  .m-entity .js-accordion .m-expanding-card .js-accordion__header {
    font-size: 18px;
    line-height: 28px;
  }
}
.m-entity .js-accordion .m-expanding-card .js-accordion__header svg {
  transition: 0.2s;
  z-index: -1;
}
.m-entity .js-accordion .m-expanding-card .js-accordion__header[aria-expanded=true] + .m-expanding-card__content {
  display: block;
  overflow: hidden;
  opacity: 1;
  transition: visibility 0s ease, max-height 0.2s ease, opacity 0.2s ease;
  visibility: visible;
  transition-delay: 0s;
  padding-bottom: 40px;
}
@media (max-width: 767px) {
  .m-entity .js-accordion .m-expanding-card .js-accordion__header[aria-expanded=true] + .m-expanding-card__content {
    padding-bottom: 20px;
  }
}
.m-entity .js-accordion .m-expanding-card .js-accordion__header[aria-expanded=true] svg {
  transform: rotate(-90deg);
}
.m-entity .js-accordion .m-expanding-card .js-accordion__header[aria-expanded=false] + .m-expanding-card__content {
  display: none;
  max-height: 0;
  opacity: 0;
  visibility: hidden;
  transition-delay: 0.2s, 0s, 0s;
  padding: 0;
}
.m-entity .js-accordion .m-expanding-card__content {
  padding: 0 25px;
}
.m-entity .js-accordion .m-expanding-card__grid {
  padding: 0 15px !important;
}
.m-entity .js-accordion .m-expanding-card__grid--row {
  display: grid;
  grid-template-columns: 225px 1fr;
  padding: 12px 15px 7px 15px;
}
@media (max-width: 991px) {
  .m-entity .js-accordion .m-expanding-card__grid--row {
    grid-template-columns: auto 1fr;
  }
}
@media (max-width: 767px) {
  .m-entity .js-accordion .m-expanding-card__grid--row {
    grid-template-columns: 1fr;
    grid-gap: 2px;
  }
}
.m-entity .js-accordion .m-expanding-card__grid--row h4, .m-entity .js-accordion .m-expanding-card__grid--row span, .m-entity .js-accordion .m-expanding-card__grid--row a {
  margin: 0;
}
.m-entity .js-accordion .m-expanding-card__grid--row h4 {
  font-family: Adelle Semi Bold;
}
.m-entity .js-accordion .m-expanding-card__grid--row:nth-of-type(odd) {
  background-color: #f9f9f9;
}
.m-entity .js-accordion .m-expanding-card__grid--row:nth-of-type(even) {
  background-color: #f3f3f3;
}
.m-entity .js-accordion .m-expanding-card__grid--row:last-of-type {
  margin-bottom: 30px;
}
.m-entity .js-accordion .m-expanding-card__grid--row span, .m-entity .js-accordion .m-expanding-card__grid--row span a {
  font-family: var(--fontBody);
}
.m-entity__gallery .gallery {
  grid-gap: 26px;
  align-items: flex-end;
}
@media (max-width: 767px) {
  .m-entity__gallery .gallery {
    grid-template-columns: 1fr 1fr;
  }
}
.m-entity__gallery a:hover {
  opacity: 0.7;
}
.m-entity__image-text {
  display: grid;
  grid-template-columns: 40% 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);
  }
}
.m-entity__downloads .file {
  display: flex;
  padding-left: 0;
  background-image: none;
}
.m-entity__downloads .file a {
  font-size: 16px;
  line-height: 26px;
  font-family: var(--fontRegular);
  display: grid;
  align-items: center;
  grid-template-columns: 1fr auto;
  grid-gap: 10px;
}
.m-entity__downloads .file a:after {
  content: "";
  background-image: url(/themes/pippip/dist/img/download.svg);
  width: 15px;
  height: 100%;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center center;
}
.m-entity__signpost.theme-colours .m-signpost-grid__grid h2 a,
.m-entity__signpost.theme-colours .o-teaser-signpost-content h2 a {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.m-entity__signpost.theme-colours .m-signpost-grid__grid h2 a::-moz-selection, .m-entity__signpost.theme-colours .o-teaser-signpost-content h2 a::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-entity__signpost.theme-colours .m-signpost-grid__grid h2 a::selection,
.m-entity__signpost.theme-colours .o-teaser-signpost-content h2 a::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-entity__signpost.theme-colours .m-signpost-grid__grid .o-teaser-signpost-content:hover h2 a, .m-entity__signpost.theme-colours .m-signpost-grid__grid .o-teaser-signpost-content:focus h2 a,
.m-entity__signpost.theme-colours .o-teaser-signpost-content .o-teaser-signpost-content:hover h2 a,
.m-entity__signpost.theme-colours .o-teaser-signpost-content .o-teaser-signpost-content:focus h2 a {
  color: #333333;
  background-color: #f5f3f4;
}
.m-entity__signpost.theme-colours.full-bleed .o-teaser-signpost-content:hover h2 a, .m-entity__signpost.theme-colours.full-bleed .o-teaser-signpost-content:focus h2 a {
  background-color: #ffffff;
}
.m-entity__signpost.no-margin-bottom {
  margin-bottom: 0;
}
@media (max-width: 767px) {
  .m-entity__signpost--content h2 {
    margin-bottom: 0;
  }
}
.m-entity__signpost--grid {
  margin-top: 20px;
  display: grid;
  grid-gap: 40px;
}
.m-entity__signpost--item {
  grid-gap: 25px;
}
@media (max-width: 991px) {
  .m-entity__signpost--item {
    padding-bottom: 100px;
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .m-entity__signpost--item {
    grid-template-columns: 1fr;
    padding-bottom: 0;
  }
}
.m-entity__signpost--action {
  display: flex;
  justify-content: flex-end;
  align-items: flex-end;
  height: 100%;
}
.m-entity__embed iframe {
  width: 100%;
}
.m-entity__video p {
  margin-bottom: 1.5rem;
}
.m-entity__video .youtube-media .media-oembed-content {
  width: 100%;
  height: 395px;
}
@media (max-width: 1599px) {
  .m-entity__video .youtube-media .media-oembed-content {
    height: 350px;
  }
}
@media (max-width: 767px) {
  .m-entity__video iframe {
    width: 100%;
  }
}
.m-entity__video .vimeo-media {
  position: relative;
  display: grid;
  width: 100%;
}
.m-entity__video .vimeo-media .m-media-entity__caption {
  position: relative;
  top: 40px;
}
@media (max-width: 991px) {
  .m-entity__video .vimeo-media .m-media-entity__caption {
    top: 70px;
  }
}
@media (max-width: 767px) {
  .m-entity__video .vimeo-media .m-media-entity__caption {
    top: 0;
  }
}
.m-entity__video .vimeo-media:before {
  display: block;
  content: "";
}
@media (min-width: 769px) {
  .m-entity__video .vimeo-media:before {
    padding-top: 56.25%;
  }
}
@media (min-width: 769px) {
  .m-entity__video .vimeo-media .media-oembed-content {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 0;
  }
}
.m-entity__video video {
  width: 100%;
  height: 100%;
}
.m-entity__image-text-grid {
  display: grid;
  grid-gap: 32px;
}
.m-entity__image-text-item {
  display: grid;
  grid-template-columns: 300px 1fr;
  grid-gap: 40px;
  align-items: center;
}
@media (max-width: 767px) {
  .m-entity__image-text-item {
    grid-template-columns: 1fr;
  }
}
.m-entity__image-text-item--content p {
  font-size: 16px;
  line-height: 26px;
}
.m-entity__image-text-item--action {
  display: flex;
  margin-top: 20px;
}
.m-entity__highlighted-content--container {
  padding: 32px 25px;
  background-color: var(--c-colour-theme-set);
}
@media (max-width: 767px) {
  .m-entity__highlighted-content--container {
    padding: 25px 10px;
  }
}
.m-entity__highlighted-content--container h2, .m-entity__highlighted-content--container p {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.m-entity__highlighted-content--container h2::-moz-selection, .m-entity__highlighted-content--container p::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-entity__highlighted-content--container h2::selection, .m-entity__highlighted-content--container p::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-entity__highlighted-content--container h2 {
  margin-bottom: 12px;
}
.m-entity__highlighted-content--action {
  margin-top: 16px;
  display: flex;
}
.m-entity__person-profile-card {
  display: grid;
  grid-template-columns: 225px 1fr;
  grid-gap: 25px;
  align-items: center;
}
@media (max-width: 767px) {
  .m-entity__person-profile-card {
    grid-template-columns: 1fr;
  }
}
.m-entity__person-profile-card--content p, .m-entity__person-profile-card--content a {
  font-size: 16px;
  line-height: 26px;
}
.m-entity__person-profile-card--content a {
  margin-top: 15px;
  display: flex;
}
.m-entity__person-profile-compact-card {
  text-align: center;
  grid-template-rows: 184px auto;
  text-decoration: none;
  grid-gap: 20px;
  display: grid;
}
.m-entity__person-profile-compact-card--image img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  -o-object-position: center;
     object-position: center;
}
.m-entity__person-profile-compact-card--grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  grid-gap: 26px;
}
@media (max-width: 767px) {
  .m-entity__person-profile-compact-card--grid {
    grid-template-columns: repeat(2, 1fr);
    grid-gap: 20px;
  }
}
.m-entity__object-resource-teaser--grid {
  display: grid;
  grid-gap: 25px;
  border-bottom: 1px solid #D8D8D8;
  padding-bottom: 25px;
}
.m-entity__object-resource-teaser--grid .o-teaser-search-result-teaser {
  border-top: 1px solid #D8D8D8;
  padding: 25px 0 0 0;
  align-items: center;
}
.m-entity__image-text-signpost-item {
  display: grid;
  grid-template-columns: 840px 1fr;
  grid-column-gap: 120px;
  grid-template-rows: auto 1fr;
}
@media (max-width: 1599px) {
  .m-entity__image-text-signpost-item {
    grid-template-columns: 740px 1fr;
    grid-column-gap: 80px;
  }
}
@media (max-width: 1199px) {
  .m-entity__image-text-signpost-item {
    grid-template-columns: 540px 1fr;
    grid-column-gap: 60px;
  }
}
@media (max-width: 991px) {
  .m-entity__image-text-signpost-item {
    grid-column-gap: 40px;
    grid-template-columns: 1fr;
    grid-template-rows: auto;
  }
}
.m-entity__image-text-signpost-item .image-container {
  height: 100%;
  width: 100%;
}
.m-entity__image-text-signpost-item .image-container video {
  width: 100%;
  height: 100%;
}
.m-entity__image-text-signpost-item--image-right {
  grid-template-columns: 1fr 840px;
}
@media (max-width: 1599px) {
  .m-entity__image-text-signpost-item--image-right {
    grid-template-columns: 1fr 740px;
  }
}
@media (max-width: 1199px) {
  .m-entity__image-text-signpost-item--image-right {
    grid-template-columns: 1fr 540px;
  }
}
@media (max-width: 991px) {
  .m-entity__image-text-signpost-item--image-right {
    grid-template-columns: 1fr;
  }
}
.m-entity__image-text-signpost-item--image-right .m-entity__image-text-signpost-item--image {
  grid-column: 2;
}
@media (max-width: 991px) {
  .m-entity__image-text-signpost-item--image-right .m-entity__image-text-signpost-item--image {
    grid-column: 1;
  }
}
.m-entity__image-text-signpost-item--image-right .m-entity__image-text-signpost-item--title, .m-entity__image-text-signpost-item--image-right .m-entity__image-text-signpost-item--content {
  grid-column: 1;
}
.m-entity__image-text-signpost-item--links {
  margin: 15px 0 40px 0;
  display: grid;
  grid-gap: 15px;
}
@media (max-width: 767px) {
  .m-entity__image-text-signpost-item--links {
    margin: 15px 0;
  }
}
@media (max-width: 767px) {
  .m-entity__image-text-signpost-item--links a {
    font-size: 16px;
    line-height: 26px;
  }
}
.m-entity__image-text-signpost-item--title {
  grid-row: 1;
  grid-column: 2;
}
@media (max-width: 991px) {
  .m-entity__image-text-signpost-item--title {
    grid-row: 1;
    grid-column: 1;
  }
}
.m-entity__image-text-signpost-item--content {
  grid-row: 2;
  grid-column: 2;
}
@media (max-width: 991px) {
  .m-entity__image-text-signpost-item--content {
    grid-row: 3;
    grid-column: 1;
  }
}
.m-entity__image-text-signpost-item--action {
  display: flex;
  margin-top: 20px;
}
.m-entity__image-text-signpost-item--image {
  grid-column: 1;
  grid-row: span 2;
}
@media (max-width: 991px) {
  .m-entity__image-text-signpost-item--image {
    grid-row: 2;
    grid-column: 1;
    margin-bottom: 20px;
  }
}
.m-entity__artist-listing__title {
  font-size: 26px;
  letter-spacing: 0;
  line-height: 40px;
  margin: 0 0 18px;
}
.m-entity__artist-listing__list-item {
  font-size: 20px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 32px;
  font-family: var(--fontBody);
}
.m-entity__artist-listing__list-item__surname {
  font-family: var(--fontBold);
}
.m-entity__artist-listing ul li {
  display: inline-flex;
  flex-flow: row wrap;
  width: 23%;
  margin: 0 2% 0 0;
}
@media (max-width: 767px) {
  .m-entity__artist-listing ul li {
    width: 48%;
    margin: 0 2% 0 0;
  }
}
@media (max-width: 575px) {
  .m-entity__artist-listing ul li {
    width: 100%;
  }
}
.m-entity .artist-listing__container {
  width: 100%;
  height: 100%;
}
.m-entity .artist-listing__container > .LazyLoad {
  opacity: 0;
  transition: 1s var(--easing);
}
.m-entity .artist-listing__container > .LazyLoad.is-visible {
  opacity: 1;
  height: auto !important;
}
.m-entity .artist-listing__searchbar {
  position: relative;
  display: grid;
  grid-template-columns: 200px 1fr;
  gap: 40px;
  margin-bottom: 72px;
  align-items: center;
}
@media (max-width: 767px) {
  .m-entity .artist-listing__searchbar {
    grid-template-columns: 1fr;
    gap: 15px;
    margin-bottom: 40px;
  }
}
.m-entity .artist-listing__searchbar__title {
  margin: 0;
}
.m-entity .artist-listing__searchbar__input {
  position: relative;
}
.m-entity .artist-listing__searchbar__input input {
  width: 100%;
  padding: calc(var(--bump) * 0.65) calc(var(--bump) * 2.5) calc(var(--bump) * 0.65) calc(var(--bump) * 0.75);
  border: 1px solid #979797;
  border-radius: 3px;
}
.m-entity .artist-listing__searchbar__input input::-moz-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--c-font-color);
  font-family: var(--fontRegular);
  opacity: 1;
  /* Firefox */
  font-size: 20px;
  letter-spacing: 0;
  line-height: 30px;
}
.m-entity .artist-listing__searchbar__input input:-ms-input-placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--c-font-color);
  font-family: var(--fontRegular);
  opacity: 1;
  /* Firefox */
  font-size: 20px;
  letter-spacing: 0;
  line-height: 30px;
}
.m-entity .artist-listing__searchbar__input input::placeholder {
  /* Chrome, Firefox, Opera, Safari 10.1+ */
  color: var(--c-font-color);
  font-family: var(--fontRegular);
  opacity: 1;
  /* Firefox */
  font-size: 20px;
  letter-spacing: 0;
  line-height: 30px;
}
@media (max-width: 767px) {
  .m-entity .artist-listing__searchbar__input input::-moz-placeholder {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 24px;
  }
  .m-entity .artist-listing__searchbar__input input:-ms-input-placeholder {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 24px;
  }
  .m-entity .artist-listing__searchbar__input input::placeholder {
    font-size: 16px;
    font-weight: 300;
    letter-spacing: 0;
    line-height: 24px;
  }
}
.m-entity .artist-listing__searchbar__input:after {
  content: "";
  background-image: url("/themes/pippip/dist/img/search.svg");
  width: 20px;
  height: 20px;
  position: absolute;
  background-size: 19px;
  background-repeat: no-repeat;
  top: 25%;
  right: 10px;
  transform: translateX(-25%) translateY(12.5%);
}
.m-entity .m-entity_resource-highlights--signposts .m-signpost-grid__grid h2 a {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.m-entity .m-entity_resource-highlights--signposts .m-signpost-grid__grid h2 a::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-entity .m-entity_resource-highlights--signposts .m-signpost-grid__grid h2 a::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-entity .m-entity_resource-highlights--signposts .m-signpost-grid__grid .o-teaser-signpost-content:hover h2 a, .m-entity .m-entity_resource-highlights--signposts .m-signpost-grid__grid .o-teaser-signpost-content:focus h2 a {
  color: #333333;
  background-color: #f5f3f4;
}

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

.m-entity__embed form input[type=checkbox] {
  width: 18px;
  height: 18px;
  position: relative;
  top: 2px;
  margin-right: 5px;
}
/**
 * ----------------------
 * Un.titled
 * Molecules - Main nav
 * ----------------------
 */
@media (max-width: 767px) {
  .m-main-nav ul {
    display: none;
  }
}
[data-nav=open] .m-main-nav {
  display: block;
}

/**
 * ----------------------
 * 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 {
  position: relative;
}
.m-banner.m-banner--without-asset {
  padding: 0;
}
.m-banner__text {
  margin-top: 55px;
}
@media (max-width: 767px) {
  .m-banner__text {
    margin-top: 35px;
  }
}
.m-banner__text span {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
  white-space: pre-wrap;
}
.m-banner__text span::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-banner__text span::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-banner__video-icon {
  position: absolute;
  bottom: 5px;
  cursor: pointer;
  z-index: 1;
}
.m-banner__video-icon.playing .m-banner__video-icon--item.play {
  display: none;
}
.m-banner__video-icon.paused .m-banner__video-icon--item.pause {
  display: none;
}
.m-banner__video-icon--item {
  background-color: #fff;
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding: 10px;
  grid-gap: 10px;
}
.m-banner__video-icon--item h4 {
  margin-bottom: 0;
}
.m-banner--person-artist h1 span span {
  padding: 0;
}
@media (min-width: 769px) {
  .m-banner--contained.m-banner--no-image.m-banner--page .m-banner__copy--inner {
    margin-top: 55px;
  }
}
@media (min-width: 769px) and (max-width: 767px) {
  .m-banner--contained.m-banner--no-image.m-banner--page .m-banner__copy--inner {
    margin-top: 35px;
  }
}
@media (max-width: 767px) {
  .m-banner--contained.m-banner--no-image.m-banner--page {
    min-height: auto;
    margin-top: 60px;
  }
}
.m-banner--contained.m-banner--no-image.m-banner--page .m-banner__copy {
  position: relative;
}
@media (min-width: 769px) {
  .m-banner--contained.m-banner--centered {
    margin-top: 25px;
  }
}
.m-banner--contained.m-banner--centered img {
  min-height: 604px;
}
@media (max-width: 767px) {
  .m-banner--contained.m-banner--centered img {
    min-height: 400px;
  }
}
.m-banner--contained.m-banner--centered .m-banner__copy--inner {
  text-align: center;
  display: flex;
  justify-content: center;
}
.m-banner--contained .m-banner__copy {
  align-items: center;
  display: grid;
  position: absolute;
}
.m-banner--contained.m-banner--with-asset {
  min-height: 652px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .m-banner--contained.m-banner--with-asset {
    min-height: 467px;
  }
}
.m-banner--contained.m-banner--with-asset .duration {
  background: var(--c-colour-theme-set);
  position: absolute;
  bottom: 0;
  left: 0;
  height: 5px;
  transition: 500ms;
}
.m-banner--contained.m-banner--with-asset video {
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
.m-banner__copy {
  height: 100%;
  width: 100%;
  display: grid;
  align-items: center;
}
.m-banner--with-asset .m-banner__copy {
  z-index: 1;
  position: absolute;
  left: 0;
  top: 0;
}
.m-banner__copy > .grid {
  width: 100%;
}
.m-banner__copy h1:not(.m-banner--solid-bg .m-banner__copy h1) {
  display: inline;
  line-height: 99px;
}
@media (max-width: 991px) {
  .m-banner__copy h1:not(.m-banner--solid-bg .m-banner__copy h1) {
    line-height: 77px;
  }
}
@media (max-width: 767px) {
  .m-banner__copy h1:not(.m-banner--solid-bg .m-banner__copy h1) {
    line-height: 55px;
  }
}
.m-banner__copy h1:not(.m-banner--solid-bg .m-banner__copy h1) span {
  white-space: pre-wrap;
}
.m-banner__copy h1 span, .m-banner__copy p {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.m-banner__copy h1 span::-moz-selection, .m-banner__copy p::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-banner__copy h1 span::selection, .m-banner__copy p::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-banner__copy p {
  margin-bottom: 0;
}
.m-banner img {
  width: 100%;
  height: auto;
  display: block;
}
.m-banner--centered .m-banner__copy {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.m-banner--curved {
  padding: 60px 0;
  border-radius: 0 0 300px 0;
}
@media (max-width: 1199px) {
  .m-banner--curved {
    border-radius: 0 0 250px 0;
  }
}
@media (max-width: 991px) {
  .m-banner--curved {
    border-radius: 0 0 200px 0;
  }
}
@media (max-width: 767px) {
  .m-banner--curved {
    border-radius: 0 0 150px 0;
  }
}
.m-banner--curved.m-banner--solid-bg {
  min-height: 652px;
}
@media (max-width: 767px) {
  .m-banner--curved.m-banner--solid-bg {
    min-height: 467px;
  }
}
.m-banner--curved.m-banner--with-asset {
  min-height: 652px;
  position: relative;
  overflow: hidden;
}
@media (max-width: 767px) {
  .m-banner--curved.m-banner--with-asset {
    min-height: 467px;
  }
}
.m-banner--curved.m-banner--with-asset .duration {
  background: var(--c-colour-theme-set);
  position: absolute;
  bottom: 0;
  left: 0;
  height: 5px;
  transition: 500ms;
}
.m-banner--curved video {
  border-radius: 0 0 300px 0;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1199px) {
  .m-banner--curved video {
    border-radius: 0 0 250px 0;
  }
}
@media (max-width: 991px) {
  .m-banner--curved video {
    border-radius: 0 0 200px 0;
  }
}
@media (max-width: 767px) {
  .m-banner--curved video {
    border-radius: 0 0 150px 0;
  }
}
.m-banner--curved picture,
.m-banner--curved video {
  position: absolute;
  top: 0;
  height: 100%;
  width: 100%;
}
.m-banner--curved picture img,
.m-banner--curved video img {
  border-radius: 0 0 300px 0;
  height: 100%;
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
@media (max-width: 1199px) {
  .m-banner--curved picture img,
.m-banner--curved video img {
    border-radius: 0 0 250px 0;
  }
}
@media (max-width: 991px) {
  .m-banner--curved picture img,
.m-banner--curved video img {
    border-radius: 0 0 200px 0;
  }
}
@media (max-width: 767px) {
  .m-banner--curved picture img,
.m-banner--curved video img {
    border-radius: 0 0 150px 0;
  }
}
.m-banner--solid-bg {
  background: var(--c-colour-theme-set);
  display: flex;
  align-items: center;
  min-height: 375px;
}
@media (max-width: 767px) {
  .m-banner--solid-bg {
    min-height: 152px;
  }
}
.m-banner--full-width {
  padding: 60px 0;
  display: flex;
  align-items: center;
  min-height: 375px;
  position: relative;
}
.m-banner--full-width:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  border-radius: 0 0 300px 0;
  height: 100%;
  background: var(--c-colour-theme-set);
  z-index: -1;
}
@media (max-width: 1199px) {
  .m-banner--full-width:after {
    border-radius: 0 0 250px 0;
  }
}
@media (max-width: 991px) {
  .m-banner--full-width:after {
    border-radius: 0 0 200px 0;
  }
}
@media (max-width: 767px) {
  .m-banner--full-width:after {
    border-radius: 0 0 150px 0;
  }
}
@media (max-width: 767px) {
  .m-banner--full-width-image:after {
    height: 387px;
  }
}
@media (max-width: 767px) {
  .m-banner--full-width {
    min-height: 152px;
    padding: 25px 0 0 0;
  }
}
.m-banner--full-width .m-banner__copy {
  position: relative;
}
@media (max-width: 767px) {
  .m-banner--full-width h1 {
    font-size: 32px;
    line-height: 40px;
  }
}
.m-banner--details {
  padding: 45px 0 25px 0;
}
.m-banner--details > .grid {
  width: 100%;
}
.m-banner--details__container {
  display: grid;
  grid-template-columns: 5fr 7fr;
  grid-template-rows: auto 1fr;
  grid-column-gap: 20px;
}
@media (max-width: 991px) {
  .m-banner--details__container {
    grid-template-columns: 5fr 5fr;
  }
}
@media (max-width: 767px) {
  .m-banner--details__container {
    grid-template-rows: auto auto 1fr;
    grid-template-columns: 1fr;
  }
}
.m-banner--details__container .m-banner__title {
  grid-row: 1;
  grid-column: 1;
}
.m-banner--details__container .m-banner__copy {
  grid-row: 2;
  grid-column: 1;
}
@media (max-width: 767px) {
  .m-banner--details__container .m-banner__copy {
    grid-row: 3;
  }
}
.m-banner--details__container .m-banner__image {
  grid-row: span 2;
  grid-column: 2;
  position: relative;
}
@media (min-width: 769px) {
  .m-banner--details__container .m-banner__image img {
    position: absolute;
    -o-object-fit: scale-down;
       object-fit: scale-down;
    -o-object-position: top;
       object-position: top;
  }
}
@media (max-width: 767px) {
  .m-banner--details__container .m-banner__image {
    grid-row: 2;
    grid-column: 1;
    margin-bottom: 40px;
  }
}
.m-banner__footer {
  padding: 30px 0 0 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  .m-banner__footer {
    padding-bottom: 0;
  }
}
.m-banner__footer h4, .m-banner__footer a {
  margin: 0;
}
.m-banner__footer h4 {
  font-family: Adelle;
}
.m-banner__footer a {
  font-family: Adelle Light;
}
.m-banner picture {
  display: flex;
  width: 100%;
  height: 100%;
}
.m-banner picture img {
  -o-object-fit: cover;
     object-fit: cover;
}

.a-banner-image {
  height: 100%;
}
.a-banner-image__caption {
  position: absolute;
  z-index: 2;
  display: flex;
  justify-content: flex-end;
  right: 30px;
  top: 30px;
}
@media (max-width: 767px) {
  .a-banner-image__caption {
    display: none;
  }
}
.a-banner-image__caption--item {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  min-height: 28px;
}
.a-banner-image__caption--item svg {
  cursor: pointer;
}
.a-banner-image__caption--item p {
  font-size: 15px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 18px;
  background-color: #FFFFFF;
  padding: 5px 7px;
  display: none;
}
.a-banner-image__caption--item:hover p, .a-banner-image__caption--item:focus p {
  display: block;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - Linked logos
 * ----------------------
 */
.m-logos {
  align-items: center;
}
.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;
  margin-top: calc(var(--bump) / 3);
}
@media (max-width: 991px) {
  .m-social-links {
    justify-content: center;
  }
}
.m-social-links__link {
  margin-right: calc(var(--bump) / 2);
  height: calc(var(--bump) * 1.25);
  width: calc(var(--bump) * 1.25);
  border-radius: 50%;
  display: block;
  width: 28px;
  height: 28px;
}
.m-social-links__link:last-child {
  margin-right: 0;
}
.m-social-links__link svg {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-social-links__link rect {
  transition: 0.1s var(--easing);
  fill: var(--c-primary);
}
.m-social-links__link:hover path {
  fill: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
}

.m-object-image {
  display: grid;
  grid-template-columns: 88px 1fr 88px;
  grid-gap: 20px;
  border: 1px solid rgba(151, 151, 151, 0.2);
  padding: 20px;
}
@media (max-width: 767px) {
  .m-object-image {
    grid-template-columns: 1fr;
    position: relative;
    margin-bottom: 30px;
  }
}
.m-object-image--full-width {
  grid-template-columns: 1fr;
}
.m-object-image--caption p {
  text-align: center;
  background-color: #F5F5F5;
  padding: 5px;
  border: 1px solid rgba(151, 151, 151, 0.2);
  border-top: none;
  font-family: var(--fontRegular);
  font-size: 16px;
  line-height: 24px;
}
.m-object-image__full {
  display: flex;
  align-items: center;
  position: relative;
}
.m-object-image__full--gallery-toggle {
  border-radius: 6px;
  background-color: #FFFFFF;
  box-shadow: 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  display: flex;
  padding: 10px;
  cursor: pointer;
  position: absolute;
  bottom: 0;
  right: 0;
}
.m-object-image__full img {
  height: 500px;
  -o-object-fit: contain;
     object-fit: contain;
}
@media (max-width: 767px) {
  .m-object-image__full img {
    height: 230px;
  }
}
@media (max-width: 767px) {
  .m-object-image__thumbnails {
    order: 2;
    position: absolute;
    bottom: -30px;
    width: 100%;
  }
}
.m-object-image__thumbnails a {
  width: 100%;
  display: flex;
  justify-content: center;
}
.m-object-image__thumbnails a.inactive {
  visibility: hidden;
}
.m-object-image__thumbnails #up-btn {
  height: 25px;
  cursor: pointer;
  position: relative;
}
@media (max-width: 767px) {
  .m-object-image__thumbnails #up-btn {
    display: none;
  }
}
.m-object-image__thumbnails #up-btn svg {
  transform: rotate(90deg);
  width: 15px;
  height: 10px;
}
.m-object-image__thumbnails #up-btn:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: 25px;
  left: 0;
  pointer-events: none;
  background-image: linear-gradient(to top, rgba(255, 255, 255, 0), white 90%);
  width: 100%;
  height: 160px;
}
.m-object-image__thumbnails #down-btn {
  height: 25px;
  cursor: pointer;
  position: relative;
}
@media (max-width: 767px) {
  .m-object-image__thumbnails #down-btn {
    display: none;
  }
}
.m-object-image__thumbnails #down-btn svg {
  transform: rotate(270deg);
  width: 15px;
  height: 10px;
}
.m-object-image__thumbnails #down-btn:after {
  content: "";
  position: absolute;
  z-index: 1;
  top: -160px;
  left: 0;
  pointer-events: none;
  background-image: linear-gradient(to bottom, rgba(255, 255, 255, 0), white 90%);
  width: 100%;
  height: 160px;
}
@media (min-width: 769px) {
  .m-object-image__thumbnails--container {
    max-height: 510px;
    overflow: hidden;
    display: grid;
    grid-gap: 12px;
  }
}
@media (max-width: 767px) {
  .m-object-image__thumbnails--container {
    display: flex;
    justify-content: center;
    gap: 8px;
  }
  .m-object-image__thumbnails--container .thumbnail-count a {
    width: 12px;
    height: 12px;
    background-color: #D8D8D8;
    border-radius: 50%;
    cursor: pointer;
  }
  .m-object-image__thumbnails--container .thumbnail-count.active-thumbnail a {
    background-color: #333333;
  }
}
.m-object-image__thumbnails--item {
  cursor: pointer;
}
.m-object-image__thumbnails--item img {
  width: auto;
}
@media (max-width: 767px) {
  .m-object-image__thumbnails--item img {
    display: none;
  }
}

.m-artworks {
  padding: 25px 0 5px 0;
  display: grid;
  grid-template-columns: 7fr 5fr;
}
@media (max-width: 767px) {
  .m-artworks {
    padding: 5px 0;
    grid-template-columns: 1fr;
    grid-gap: 20px;
  }
}
.m-artworks__action {
  grid-column: 2;
  display: flex;
  justify-content: flex-end;
  height: 100%;
  align-items: flex-end;
}
@media (max-width: 767px) {
  .m-artworks__action {
    grid-column: 1;
    grid-row: 3;
    justify-content: flex-start;
  }
}
.m-artworks__header {
  display: grid;
  grid-gap: 20px;
}
@media (max-width: 767px) {
  .m-artworks__header {
    grid-template-columns: 1fr auto;
  }
}
@media (max-width: 767px) {
  .m-artworks__header--title {
    grid-column: 1;
    grid-row: 1;
  }
}
.m-artworks__header--title h2 {
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .m-artworks__header--arrows {
    display: none;
  }
}
@media (max-width: 767px) {
  .m-artworks__header--arrows {
    grid-column: 2;
    grid-row: 1;
    display: flex;
    gap: 40px;
  }
  .m-artworks__header--arrows a {
    cursor: pointer;
    width: 15px;
    background-size: auto;
    background-repeat: no-repeat;
    background-position: center center;
  }
  .m-artworks__header--arrows a.prev-btn {
    background-image: url(/themes/pippip/dist/img/arrow-left-active.svg);
  }
  .m-artworks__header--arrows a.prev-btn[aria-disabled=true] {
    background-image: url(/themes/pippip/dist/img/arrow-left-inactive.svg);
  }
  .m-artworks__header--arrows a.next-btn {
    background-image: url(/themes/pippip/dist/img/arrow-right-active.svg);
  }
  .m-artworks__header--arrows a.next-btn[aria-disabled=true] {
    background-image: url(/themes/pippip/dist/img/arrow-right-inactive.svg);
  }
}
@media (max-width: 767px) {
  .m-artworks__header--content {
    grid-column: span 2;
    grid-row: 2;
  }
}
.m-artworks__biography {
  padding: 40px 0;
}
.m-artworks--grid {
  grid-row: 2;
  grid-column: span 2;
  display: block;
  padding-top: 40px;
}
@media (max-width: 767px) {
  .m-artworks--grid {
    grid-column: 1;
    grid-row: 2;
    padding-top: 0;
  }
}
@media (min-width: 769px) {
  .m-artworks--grid__container {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    grid-gap: 25px;
  }
}
.m-artworks--grid__loadmore {
  display: grid;
  margin: 40px 0 0 0;
  justify-content: center;
}

.slick-list {
  padding: 0 !important;
  max-width: calc(100vw - 52px);
  width: 100%;
  overflow: hidden;
}

/**
 * ----------------------
 * Un.titled
 * Molecules - YMAL
 * ----------------------
 */
.m-signpost-grid {
  display: grid;
  grid-template-columns: 7fr 5fr;
  grid-template-rows: auto 1fr;
  grid-gap: 40px;
}
@media (max-width: 1199px) {
  .m-signpost-grid {
    grid-template-columns: 8fr 4fr;
  }
}
@media (max-width: 991px) {
  .m-signpost-grid {
    grid-template-columns: 9fr 3fr;
  }
}
@media (max-width: 767px) {
  .m-signpost-grid {
    grid-gap: 20px;
    grid-template-columns: 1fr;
    grid-auto-rows: auto;
  }
}
.m-signpost-grid__header {
  grid-column: 1;
  grid-row: 1;
  display: grid;
  grid-gap: 20px;
}
.m-signpost-grid__header h2, .m-signpost-grid__header p {
  margin: 0;
}
.m-signpost-grid__action {
  grid-column: 2;
  grid-row: 1;
  display: grid;
  align-items: flex-end;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .m-signpost-grid__action {
    grid-row: 3;
    grid-column: 1;
    justify-content: flex-start;
  }
}
.m-signpost-grid__grid {
  grid-column: span 2;
  grid-row: 2;
  grid-gap: 25px;
  display: grid;
}
.m-signpost-grid__grid--4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
  .m-signpost-grid__grid--4 {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 767px) {
  .m-signpost-grid__grid {
    grid-template-columns: 1fr;
    grid-row: 2;
    grid-column: 1;
  }
}

.m-details-grid h3 {
  border-bottom: 1px solid #979797;
  margin: 0;
  padding: 15px 0 10px 0;
}
@media (max-width: 767px) {
  .m-details-grid h3 {
    padding-top: 0;
  }
}
.m-details-grid--artist .m-details-grid--row {
  grid-template-columns: 160px 1fr;
}
.m-details-grid--artist .m-details-grid--row h4:first-of-type {
  font-family: Adelle Semi Bold !important;
}
.m-details-grid--row {
  display: grid;
  grid-template-columns: 120px 1fr;
  grid-gap: 50px;
  border-bottom: 1px solid #979797;
  padding: 12px 0 8px 0;
}
@media (max-width: 767px) {
  .m-details-grid--row {
    grid-gap: 2px;
    grid-template-columns: 1fr;
    padding: 15px 0 11px 0;
  }
}
.m-details-grid--row h4, .m-details-grid--row a {
  margin: 0;
}
@media (max-width: 767px) {
  .m-details-grid--row h4, .m-details-grid--row a {
    font-size: 16px;
    line-height: 26px;
    font-family: Adelle Light;
  }
}
@media (min-width: 769px) {
  .m-details-grid--row h4:first-of-type {
    font-family: Adelle !important;
  }
}
@media (max-width: 767px) {
  .m-details-grid--row h4:first-of-type {
    font-family: Adelle Semi Bold !important;
  }
}

.m-large-signpost {
  position: relative;
}
.m-large-signpost--container {
  position: relative;
  display: flex;
  align-items: center;
  padding: 40px 0;
}
@media (min-width: 769px) {
  .m-large-signpost--container {
    min-height: 620px;
  }
}
@media (max-width: 767px) {
  .m-large-signpost--container {
    min-height: 430px;
  }
}
.m-large-signpost__copy {
  height: 100%;
  display: flex;
  align-items: center;
  width: 100%;
}
.m-large-signpost__copy--inner {
  text-align: center;
}
.m-large-signpost__copy--inner h2, .m-large-signpost__copy--inner p {
  display: inline-flex;
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.m-large-signpost__copy--inner h2::-moz-selection, .m-large-signpost__copy--inner p::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.m-large-signpost__copy--inner h2::selection, .m-large-signpost__copy--inner p::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
@media (max-width: 767px) {
  .m-large-signpost__copy--inner h2 {
    font-size: 32px;
    line-height: 40px;
  }
}
.m-large-signpost__copy--inner p {
  font-size: 16px;
  line-height: 28px;
}
@media (max-width: 767px) {
  .m-large-signpost__copy--inner p {
    display: none;
  }
}
.m-large-signpost__copy--cta {
  display: flex;
  justify-content: center;
  margin-top: 30px;
}
.m-large-signpost__image {
  position: absolute;
  top: 0;
  height: 100%;
  z-index: -1;
  width: 100%;
}
.m-large-signpost__image .image-container {
  height: 100%;
  display: flex;
  width: 100%;
}
.m-large-signpost__image .image-container img {
  height: auto;
  -o-object-fit: cover;
     object-fit: cover;
}
.m-large-signpost__image .image-container figure picture {
  min-height: 505px;
  display: flex;
}
.m-large-signpost__image .image-container figure picture img {
  width: 100%;
  height: auto;
  display: block;
  -o-object-fit: cover;
     object-fit: cover;
}

.m-media-entity {
  display: grid;
  grid-gap: 10px;
}
.m-media-entity__caption {
  border-left: 3px solid #592B41;
  padding-left: 10px;
}
.m-media-entity__caption p {
  font-size: 16px;
  line-height: 26px;
  margin-bottom: 0;
}
.m-media-entity iframe {
  border: none;
}

.m-reactview-museum__options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 40px;
  border-bottom: 1px solid #979797;
  padding-bottom: 40px;
  grid-gap: 20px;
  align-items: flex-end;
}
.m-reactview-museum__options--actions div {
  display: flex;
}
@media (max-width: 767px) {
  .m-reactview-museum__options--actions div a {
    width: 100%;
  }
}
@media (max-width: 767px) {
  .m-reactview-museum__options {
    padding-bottom: 20px;
    margin-bottom: 20px;
    grid-template-columns: 1fr;
    grid-gap: 10px;
  }
  .m-reactview-museum__options h4 {
    margin-bottom: 10px;
  }
  .m-reactview-museum__options button {
    width: 100%;
  }
}
.m-reactview-museum__header {
  margin: 40px 0;
  border-bottom: 1px solid #979797;
  padding-bottom: 40px;
}
@media (max-width: 767px) {
  .m-reactview-museum__header {
    margin: 0 0 15px 0;
    padding-bottom: 20px;
  }
}
@media (max-width: 767px) {
  .m-reactview-museum__header .m-entity__signpost--action {
    border-top: 1px solid #979797;
    padding: 20px;
    background-size: cover;
    background-image: url(/themes/pippip/dist/img/map-background.png);
  }
  .m-reactview-museum__header .m-entity__signpost--action button {
    width: 100%;
  }
}
.m-reactview-museum__members {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .m-reactview-museum__members {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 20px;
    margin-top: 10px;
  }
}
.m-reactview-museum__members a {
  font-family: Adelle;
  font-size: 18px;
  line-height: 28px;
  cursor: pointer;
}
.m-reactview__filters {
  grid-template-columns: 1fr;
}
@media (min-width: 769px) {
  .m-reactview__filters {
    margin-top: 30px;
  }
}
.m-reactview__filters--options {
  display: grid;
  grid-template-columns: 1fr 1fr;
  margin-bottom: 40px;
  border-bottom: 1px solid #979797;
  padding-bottom: 40px;
  grid-gap: 20px;
}
@media (max-width: 767px) {
  .m-reactview__filters--options--count {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: 1px solid #979797;
  }
}
@media (max-width: 767px) {
  .m-reactview__filters--options {
    padding-bottom: 20px;
    margin-bottom: 20px;
    grid-template-columns: 1fr;
    grid-gap: 10px;
  }
}
.m-reactview__filters--options h4 {
  margin-bottom: 0;
}
.m-reactview__filters--options .search-app__filters--options--checkbox {
  grid-column: 1;
}
.m-reactview__filters--options .search-app__filters--options--checkbox div {
  display: flex;
  -moz-column-gap: 30px;
       column-gap: 30px;
  row-gap: 10px;
  height: 100%;
  align-items: flex-end;
  flex-wrap: wrap;
}
.m-reactview__filters--options .search-app__filters--options--grid {
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .m-reactview__filters--options .search-app__filters--options--grid {
    grid-row: 3;
    justify-content: flex-start;
  }
}
.m-reactview__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 991px) {
  .m-reactview__grid {
    grid-template-columns: 1fr 1fr;
  }
}
@media (max-width: 991px) {
  .m-reactview__grid {
    grid-template-columns: 1fr;
  }
}

#root .a-btn, #root .m-entity__embed form input[type=submit], .m-entity__embed form #root input[type=submit] {
  grid-column-gap: 5px;
}
#root .a-btn:after, #root .m-entity__embed form input[type=submit]:after, .m-entity__embed form #root input[type=submit]:after {
  background-image: url(/themes/pippip/dist/img/filter-white.svg);
  visibility: initial;
  background-size: contain;
  width: 15px;
}
#root .a-btn.map-view:after, #root .m-entity__embed form input.map-view[type=submit]:after, .m-entity__embed form #root input.map-view[type=submit]:after {
  background-image: url(/themes/pippip/dist/img/map-view-white.svg);
}
#root .a-btn.grid-view:after, #root .m-entity__embed form input.grid-view[type=submit]:after, .m-entity__embed form #root input.grid-view[type=submit]:after {
  background-image: url(/themes/pippip/dist/img/grid-view-white.svg);
}
#root .gm-style-iw {
  padding: 18px 8px 8px 8px !important;
}
#root .gm-style-iw .gm-style-iw-d {
  padding: 0;
  width: 175px;
  overflow: hidden !important;
}

.slide-pane.content-after-open {
  width: 50vw !important;
}
@media screen and (max-height: 750px) {
  .slide-pane.content-after-open {
    width: 70vw !important;
  }
}
@media (max-width: 1199px) {
  .slide-pane.content-after-open {
    width: 65vw !important;
  }
}
@media (max-width: 991px) {
  .slide-pane.content-after-open {
    width: 80vw !important;
  }
}
@media (max-width: 767px) {
  .slide-pane.content-after-open {
    width: 100% !important;
  }
}

.ReactModalPortal .slide-pane__close div {
  background-color: #FFFFFF;
  display: flex;
  padding: 10px;
  border-radius: 50%;
}
.ReactModalPortal .slide-pane__close div img {
  width: 15px;
}

.dialog-off-canvas-main-canvas {
  position: relative;
}
.dialog-off-canvas-main-canvas .menu-overlay,
.dialog-off-canvas-main-canvas .header-search {
  display: none;
}

@media (max-width: 767px) {
  .o-header {
    position: fixed !important;
    z-index: 2;
    background-color: #fff;
  }

  .menu-overlay,
main {
    margin-top: 73.5px;
  }
}
#headermobilesearch {
  position: relative;
}
@media (max-width: 767px) {
  #headermobilesearch {
    margin: 0 0 var(--bump);
  }
}
#headermobilesearch input[type=submit] {
  position: absolute;
  background-image: url("/themes/pippip/dist/img/search.svg");
  background-repeat: no-repeat;
  width: 20px;
  background-size: 20px;
  background-position: center center;
  right: 0;
  font-size: 0;
  line-height: 0;
  height: 100%;
  border-left: none;
  border-color: #333333;
}
#headermobilesearch input[type=text] {
  width: 100%;
  border-color: #333333;
}
#headermobilesearch input[type=text]:focus {
  border-color: #333333;
}

@media (max-width: 767px) {
  body[data-mobile-nav=open],
body[data-mobile-search=open],
body[data-art-overlay=open] {
    overflow-y: hidden;
  }
}
body[data-mobile-nav=open] .menu-active,
body[data-mobile-search=open] .menu-active,
body[data-art-overlay=open] .menu-active {
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  z-index: 4;
  background: rgba(255, 255, 255, 0.85);
}
@media (max-width: 767px) {
  body[data-mobile-nav=open] .menu-active,
body[data-mobile-search=open] .menu-active,
body[data-art-overlay=open] .menu-active {
    height: 100%;
  }
}
body[data-mobile-nav=open] .header .menu-icon,
body[data-mobile-search=open] .header .menu-icon,
body[data-art-overlay=open] .header .menu-icon {
  position: relative;
  z-index: 5;
}
@media (min-width: 769px) {
  body[data-mobile-nav=open] .header .header-logo,
body[data-mobile-search=open] .header .header-logo,
body[data-art-overlay=open] .header .header-logo {
    position: relative;
    z-index: 5;
  }
}
body[data-mobile-nav=open] .header .menu-icon .menu-icon-active,
body[data-mobile-search=open] .header .menu-icon .menu-icon-active,
body[data-art-overlay=open] .header .menu-icon .menu-icon-active {
  display: block;
}
body[data-mobile-nav=open] .header .menu-icon .menu-icon-inactive,
body[data-mobile-search=open] .header .menu-icon .menu-icon-inactive,
body[data-art-overlay=open] .header .menu-icon .menu-icon-inactive {
  background-image: url(/themes/pippip/assets/img/close.svg) !important;
}
@media (max-width: 767px) {
  body[data-mobile-nav=open] .admin-functions,
body[data-mobile-search=open] .admin-functions,
body[data-art-overlay=open] .admin-functions {
    display: none;
  }
}
body[data-mobile-nav=open] .menu-overlay,
body[data-mobile-search=open] .menu-overlay,
body[data-art-overlay=open] .menu-overlay {
  display: block;
  -webkit-animation: fadeIn 0.2s ease-in-out forwards;
          animation: fadeIn 0.2s ease-in-out forwards;
  position: fixed;
  width: 100%;
  z-index: 50;
  height: 100%;
  background-color: #fff;
}
@media (max-width: 991px) {
  body[data-mobile-nav=open] .menu-overlay,
body[data-mobile-search=open] .menu-overlay,
body[data-art-overlay=open] .menu-overlay {
    overflow-y: scroll;
  }
}
body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner {
  display: none;
  height: 95vh;
  background-color: #fff;
}
body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner .o-header__art-content > h3,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner .o-header__art-content > h3,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner .o-header__art-content > h3 {
  display: none;
}
body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner--newsletter h3,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner--newsletter h3,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner--newsletter h3 {
  font-size: 18px;
  letter-spacing: 0;
  line-height: 24px;
  margin: 0 0 10px 0;
}
body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner--newsletter-cta,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner--newsletter-cta,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner--newsletter-cta {
  display: flex;
}
body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner--menu,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner--menu,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner--menu {
  border-bottom: 2px solid #F3F3F3;
  padding-bottom: 30px;
  margin-bottom: 30px;
  display: grid;
  grid-gap: 13px;
}
@media (min-width: 769px) {
  body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner--menu,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner--menu,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner--menu {
    margin-top: 45px;
  }
}
body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner--menu ul,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner--menu ul,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner--menu ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-gap: 13px;
}
body[data-mobile-nav=open] .menu-overlay .menu-overlay__inner--menu ul li a,
body[data-mobile-search=open] .menu-overlay .menu-overlay__inner--menu ul li a,
body[data-art-overlay=open] .menu-overlay .menu-overlay__inner--menu ul li a {
  text-decoration: none;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 28px;
  color: #333333;
  font-family: Adelle;
  cursor: pointer;
}

body[data-mobile-search=open] .mobile-search-icon {
  display: none;
}
body[data-mobile-search=open] .mobile-menu-close-icon {
  order: 1;
  display: block;
}
body[data-mobile-search=open] .mobile-menu-icon {
  order: 2;
}

body[data-mobile-nav=open] .mobile-menu-close-icon,
body[data-art-overlay=open] .mobile-menu-close-icon {
  display: block;
}
body[data-mobile-nav=open] .mobile-menu-icon,
body[data-art-overlay=open] .mobile-menu-icon {
  display: none;
}

body[data-mobile-nav=open] .menu-mobile-overlay {
  display: block !important;
}
body[data-mobile-nav=open] .menu-mobile-overlay .menu {
  display: grid;
  grid-gap: 15px;
}
body[data-mobile-nav=open] .menu-mobile-overlay .menu li a {
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0;
  line-height: 22px;
  text-decoration: none;
  font-family: var(--fontBold);
  position: relative;
  padding-right: 5px;
}
body[data-mobile-nav=open] .menu-mobile-overlay .menu li a:after {
  content: "";
  background-image: url(/themes/pippip/dist/img/blackedarrow.svg);
  width: 100%;
  height: 100%;
  position: absolute;
  background-repeat: no-repeat;
  top: 0;
  right: 0;
  background-position: calc(100% - 10px) center;
  transition: 0.1s;
  margin-right: -30px;
  padding-right: 30px;
}

body[data-mobile-search=open] .search-mobile-overlay {
  display: block !important;
}
body[data-mobile-search=open] .search-mobile-overlay__search .m-quick-links {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 13px;
}
body[data-mobile-search=open] .search-mobile-overlay__search .m-quick-links a {
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 24px;
  font-family: Adelle Light;
}
body[data-mobile-search=open] .search-mobile-overlay__search--focused {
  margin-top: 30px;
}
@media (max-width: 767px) {
  body[data-mobile-search=open] .search-mobile-overlay__search--focused {
    margin-top: 0;
    margin-bottom: 90px;
  }
}
body[data-mobile-search=open] .search-mobile-overlay__search--focused h4 {
  margin-bottom: 15px;
}
body[data-mobile-search=open] .search-mobile-overlay__search--focused .o-header__radios--item {
  grid-template-columns: 1fr;
  margin-bottom: 20px;
}
body[data-mobile-search=open] .search-mobile-overlay__search--focused .o-header__radios--item p {
  font-family: Adelle;
}
body[data-mobile-search=open] .search-mobile-overlay__search--focused .o-header__radios--item label {
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 24px;
}
body[data-mobile-search=open] .search-mobile-overlay__search--popular-searches {
  margin-top: 40px;
}

body[data-art-overlay=open] .art-overlay {
  display: block !important;
}
body[data-art-overlay=open] .art-overlay__inner {
  border-top: 2px solid #f3f3f3;
  padding-top: 30px;
  margin-top: 30px;
}
@media (max-width: 767px) {
  body[data-art-overlay=open] .art-overlay__inner {
    margin-top: 0;
    margin-bottom: 90px;
  }
}
body[data-art-overlay=open] .art-overlay__inner a {
  text-decoration: none;
  font-family: Adelle;
}
body[data-art-overlay=open] .art-overlay__inner a svg {
  transform: rotate(180deg);
  width: 9px;
  height: 15px;
  margin-right: 15px;
}
body[data-art-overlay=open] .art-overlay__inner p {
  margin-top: 15px;
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0;
}

/**
 * Organisims
 */
/**
 * ----------------------
 * Un.titled
 * Organisms - Header
 * ----------------------
 */
body[data-search=open] .o-header {
  background-color: #F5F5F5;
  position: absolute;
  width: 100%;
  z-index: 32;
  height: auto;
}
body[data-search=open] main {
  padding-top: 125px;
  opacity: 0.5;
}
@media (max-width: 767px) {
  body[data-search=open] main {
    padding-top: 73.5px;
  }
}

.o-header {
  display: grid;
  width: 100%;
  align-items: center;
  position: relative;
}
.o-header > .grid {
  min-height: 125px;
}
@media (max-width: 767px) {
  .o-header > .grid {
    min-height: 73.5px;
    height: 73.5px;
    align-items: center;
  }
}
.o-header__mobile {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  justify-content: flex-end;
  align-items: center;
  grid-gap: 20px;
  height: 100%;
}
.o-header__mobile li a {
  width: 44px;
  height: 44px;
  display: flex;
  cursor: pointer;
  justify-content: center;
}
.o-header__mobile li a img {
  -o-object-fit: scale-down;
     object-fit: scale-down;
}
.o-header .mobile-menu-close-icon {
  display: none;
}
.o-header__art {
  display: none;
}
body[data-artheader=open] .o-header__art {
  position: relative;
  z-index: 3;
  padding: 40px 0;
  background: #F3F3F3;
  display: block;
}
.o-header__art-content p {
  font-size: 16px;
  line-height: 26px;
  margin-bottom: 25px;
}
.o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content {
  grid-template-rows: 188px auto;
}
@media (max-width: 991px) {
  .o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content {
    grid-template-rows: auto auto;
  }
}
@media (max-width: 767px) {
  .o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content {
    grid-template-rows: 200px auto;
  }
}
.o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content__content h2 a {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
  font-size: 18px;
  line-height: 24px;
}
.o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content__content h2 a::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content__content h2 a::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content:hover h2 a, .o-header__art-content .m-entity__signpost--item .o-teaser-signpost-content:focus h2 a {
  color: #333333;
  background-color: #ffffff;
}
.o-header > .grid {
  width: 100%;
}
.o-header__close {
  display: none;
}
body[data-search=open] .o-header__close {
  display: flex;
  justify-content: flex-end;
}
.o-header__radios {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  grid-gap: 50px;
}
.o-header__radios input {
  margin-top: -3px;
}
.o-header__radios h3, .o-header__radios input, .o-header__radios label {
  margin: 0;
  font-size: 16px;
  font-weight: 300;
  line-height: 24px;
  color: var(--c-font-color);
}
.o-header__radios--item {
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  grid-gap: 10px;
}
.o-header__radios--item-selection {
  display: flex;
  align-items: center;
  gap: 10px;
}
body[data-search=open] .o-header__logo, body[data-search=open] .o-header__contact, body[data-search=open] .o-header__main-menu, body[data-search=open] .o-header__sub-menu {
  display: none;
}
.o-header__logo {
  display: grid;
  align-items: center;
  height: 100%;
}
@media (max-width: 767px) {
  .o-header__logo {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    align-items: flex-start;
  }
}
.o-header__logo img {
  width: 100%;
  max-width: 165px;
}
@media (min-width: 769px) {
  .o-header__logo img {
    height: 84px;
  }
}
@media (max-width: 767px) {
  .o-header__logo img {
    max-width: 98px;
  }
}
@media (max-width: 767px) {
  .o-header__logo--desktop {
    display: none;
  }
}
@media (min-width: 769px) {
  .o-header__logo--mobile {
    display: none;
  }
}
.o-header__logo--top {
  display: flex;
  background-color: #fff;
  position: relative;
  z-index: 2;
  width: 100%;
  align-items: center;
  padding: 5px 0;
  top: -15px;
  transition: all 0.2s ease-in-out;
  transition-delay: 0.25s;
}
.mobile-js .o-header__logo--top {
  top: 0;
}
.o-header__logo--top svg {
  height: auto;
  transition: all 0.2s ease-in-out;
  transition-delay: 0.25s;
}
.mobile-js .o-header__logo--top svg {
  width: 85px;
}
.o-header__logo--bottom {
  position: relative;
  display: flex;
  height: 0;
  top: -15px;
  transition: all 0.2s ease-in-out;
  transition-delay: 0.25s;
}
.o-header__logo--bottom svg {
  width: 115px;
  height: 35px;
  transition: transform 0.25s cubic-bezier(0.4, 0, 0.2, 1) 0.2s;
  transition-delay: 0.25s;
}
.mobile-js .o-header__logo--bottom svg {
  transform: translateY(-70%);
}
.o-header__search input {
  font-size: 16px;
  line-height: 24px;
  border-color: #979797;
}
.o-header__search input[type=submit] {
  background-size: 20px;
  border-color: #979797;
}
body[data-search=open] .o-header__search input {
  border-color: #333333;
}
.o-header__search--focused {
  display: none;
}
body[data-search=open] .o-header__search--focused {
  display: grid;
  padding-top: 35px;
  grid-gap: 30px;
}
.o-header__search--popular-quick-links .m-quick-links {
  display: flex;
  gap: 10px;
}
.o-header__search--popular-quick-links .m-quick-links a {
  border-right: 2px solid #D8D8D8;
  padding-right: 10px;
  font-size: 16px;
  line-height: 24px;
}
.o-header__search--popular-quick-links .m-quick-links a:last-of-type {
  border: none;
  padding-right: 0;
}
.o-header__search--popular-searches .m-entity__signpost--item .o-teaser-signpost-content {
  grid-template-rows: 188px auto;
}
.o-header__search--popular-searches .m-entity__signpost--item .o-teaser-signpost-content__content h2 a {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
  font-size: 18px;
  line-height: 24px;
}
.o-header__search--popular-searches .m-entity__signpost--item .o-teaser-signpost-content__content h2 a::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.o-header__search--popular-searches .m-entity__signpost--item .o-teaser-signpost-content__content h2 a::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.o-header__search input {
  width: 100%;
}
.o-header__contact {
  display: flex;
}
.o-header__contact a {
  width: 100%;
}
.o-header__sub-menu ul {
  gap: 15px;
}
.o-header__main-menu ul, .o-header__sub-menu ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
}
.o-header__main-menu ul li, .o-header__sub-menu ul li {
  display: flex;
  gap: 15px;
}
.o-header__main-menu ul li a, .o-header__sub-menu ul li a {
  text-decoration: none;
  font-size: 16px;
  line-height: 24px;
}
.o-header__main-menu ul li a:hover, .o-header__main-menu ul li a:focus, .o-header__sub-menu ul li a:hover, .o-header__sub-menu ul li a:focus {
  text-decoration: underline;
}
@media (max-width: 991px) {
  .o-header__main-menu ul li a, .o-header__sub-menu ul li a {
    font-size: 14px;
    line-height: 20px;
  }
}
.o-header__menu {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  padding-top: 20px;
}
.o-header__main-menu ul {
  gap: 32px;
}
.o-header__main-menu ul li a {
  font-family: Adelle;
}
.o-header__main-menu--art {
  background-color: transparent;
  border-color: transparent;
  padding: 0;
  margin: 0;
  text-decoration: none;
  font-size: 16px;
  line-height: 24px;
  font-family: "Adelle";
  font-weight: inherit;
  /* text-decoration: underline; */
  transition: all var(--transition);
  word-break: break-word;
  color: var(--c-font-color);
  /* outline: 0; */
  border: 0;
}
.o-header__main-menu--art:hover {
  text-decoration: underline;
}
.o-header__main-menu--art svg {
  transition: 0.2s;
  position: relative;
  top: -2px;
}
body[data-artheader=open] .o-header__main-menu--art svg {
  transform: rotate(180deg);
}
.o-header__sub-menu {
  display: flex;
  justify-content: flex-end;
  align-items: center;
}
.o-header__sub-menu li:last-of-type:after {
  display: none;
}
.o-header__sub-menu li:after {
  display: flex;
  height: 100%;
  content: "";
  width: 1px;
  background-color: #D8D8D8;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Footer
 * ----------------------
 */
.o-footer {
  margin-top: 50px;
}
@media (max-width: 767px) {
  .o-footer {
    margin-top: 10px;
  }
}
.o-footer__mobile-top {
  margin-bottom: 40px;
}
.o-footer__mobile-top a {
  display: flex;
  gap: 10px;
}
.o-footer__mobile-top a svg {
  transform: rotate(180deg);
  width: 12px;
  height: 9px;
}
.o-footer__content--column p {
  font-size: 16px;
  font-weight: 300;
  line-height: 26px;
}
.o-footer__content--links ul, .o-footer__content--links-stacked ul {
  padding: 0;
  margin: 0;
  display: grid;
  grid-gap: 20px 40px;
  list-style: none;
}
.o-footer__content--links ul li, .o-footer__content--links-stacked ul li {
  display: flex;
  align-self: center;
}
.o-footer__content--links ul li a, .o-footer__content--links-stacked ul li a {
  font-size: 16px;
  letter-spacing: 0;
  line-height: 24px;
}
.o-footer__content--links-stacked ul {
  margin-top: 30px;
  grid-template-columns: auto 1fr;
}
@media (max-width: 767px) {
  .o-footer__content--links-stacked ul {
    grid-template-columns: 1fr 1fr;
  }
}
.o-footer__content--logos a {
  display: flex;
  margin-bottom: 40px;
}
@media (max-width: 767px) {
  .o-footer__content--logos a {
    margin-bottom: 15px;
  }
}
.o-footer__content--logos a:first-of-type img, .o-footer__content--logos a:first-of-type svg {
  max-width: 300px;
}
.o-footer__content--logos a:last-of-type img, .o-footer__content--logos a:last-of-type svg {
  max-width: 230px;
}
@media (max-width: 767px) {
  .o-footer__content--links ul {
    grid-template-columns: 1fr 1fr;
  }
}
.o-footer__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 60px;
}
@media (max-width: 767px) {
  .o-footer__footer {
    margin-top: 30px;
    display: grid;
    grid-gap: 20px;
  }
}
@media (max-width: 767px) {
  .o-footer__footer--social {
    order: 1;
  }
}
.o-footer__footer--social ul {
  padding: 0;
  margin: 0;
  list-style: none;
  display: flex;
  gap: 20px;
}
@media (max-width: 767px) {
  .o-footer__footer--social ul {
    gap: 20px;
  }
}
.o-footer__footer--social ul li {
  display: flex;
}
.o-footer__footer--social ul li a {
  display: flex;
  transition: 0.2s;
}
.o-footer__footer--social ul li a.facebook {
  background-image: url("/themes/pippip/dist/img/facebook-with-circle.svg");
  width: 28px;
  height: 28px;
}
.o-footer__footer--social ul li a.facebook:hover, .o-footer__footer--social ul li a.facebook:focus {
  background-image: url("/themes/pippip/dist/img/facebook-with-circle-hover.svg");
}
.o-footer__footer--social ul li a.instagram {
  background-image: url("/themes/pippip/dist/img/instagram-with-circle.svg");
  width: 28px;
  height: 28px;
}
.o-footer__footer--social ul li a.instagram:hover, .o-footer__footer--social ul li a.instagram:focus {
  background-image: url("/themes/pippip/dist/img/instagram-with-circle-hover.svg");
}
.o-footer__footer--social ul li a.twitter {
  background-image: url("/themes/pippip/dist/img/twitter-with-circle.svg");
  width: 28px;
  height: 28px;
}
.o-footer__footer--social ul li a.twitter:hover, .o-footer__footer--social ul li a.twitter:focus {
  background-image: url("/themes/pippip/dist/img/twitter-with-circle-hover.svg");
}
@media (max-width: 767px) {
  .o-footer__footer--trademark {
    order: 3;
  }
}
@media (max-width: 767px) {
  .o-footer__footer--creator {
    order: 2;
  }
}
@media (min-width: 769px) {
  .o-footer__footer--creator {
    order: 3;
  }
}
.o-footer__footer h5 {
  font-size: 16px;
  font-weight: 300;
  letter-spacing: 0;
  line-height: 26px;
  margin: 0;
  font-family: Adelle Light;
}

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

.o-search-results-wrapper h2 {
  display: none;
}
.o-search-results-wrapper .result__title {
  margin-bottom: 0;
}
.o-search-results-wrapper__list {
  margin-bottom: 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);
}

.ReactModal__Body--open {
  overflow: hidden;
}

.ReactModalPortal .slide-pane {
  background-color: #f5f5f5;
}
.ReactModalPortal .slide-pane__header {
  background: none;
  border: none;
  display: grid;
  justify-content: flex-end;
}
.ReactModalPortal .slide-pane__header button {
  background-color: transparent;
  border-color: transparent;
}
@media screen and (max-height: 750px) {
  .ReactModalPortal .slide-pane__header {
    position: absolute;
    width: 100%;
    z-index: 2;
  }
}
@media (max-width: 767px) {
  .ReactModalPortal .slide-pane__header {
    position: absolute;
    width: 100%;
    z-index: 2;
  }
}
.ReactModalPortal .slide-pane__content {
  padding: 0;
  align-items: flex-start;
  overflow: hidden;
}
@media (max-width: 767px) {
  .ReactModalPortal .slide-pane__content h3 {
    font-size: 25px;
    line-height: 32px;
  }
}
.ReactModalPortal .slide-pane__overlay {
  z-index: 2000;
}

@media (max-width: 767px) {
  .virtuoso-grid-list {
    grid-template-columns: 1fr !important;
  }
}

.search-app__active-pane--active--inner,
.search-app__active-filters--items {
  overflow-x: auto;
  padding: 5px;
  flex-wrap: nowrap;
}
.search-app__active-pane--active--inner a,
.search-app__active-filters--items a {
  min-width: 120px;
  text-align: center;
}

.search-app__active-pane--lazyload {
  height: 242px;
}

.search-app__active-pane--mobile--items {
  display: grid;
  grid-template-columns: 1fr;
  grid-gap: 16px;
  margin-top: 80px;
}
.search-app__active-pane--mobile--items a {
  font-size: 18px;
  line-height: 28px;
  text-decoration: none;
  cursor: pointer;
  position: relative;
  font-family: Adelle;
}
.search-app__active-pane--mobile--items a:after {
  content: "";
  background-image: url(/themes/pippip/dist/img/arrow-right-active.svg);
  height: 100%;
  width: 100%;
  right: -15px;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  background-size: 7px;
}

.search-app {
  margin: 40px 0;
  display: grid;
  grid-gap: 20px;
}
.search-app__container {
  min-height: 75vh;
}
.search-app__loading {
  min-height: 75vh;
  position: relative;
}
.search-app__loading:after {
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  cursor: not-allowed;
  background-color: rgba(0, 0, 0, 0.45);
  position: absolute;
  background-image: url(/themes/pippip/dist/img/tail-spin.svg);
  background-size: 200px;
  background-repeat: no-repeat;
  background-position: center center;
}
.search-app__searchbar {
  position: relative;
}
.search-app__searchbar input[type=submit] {
  position: absolute;
  background-image: url(/themes/pippip/dist/img/search.svg);
  background-repeat: no-repeat;
  width: 50px;
  background-position: center center;
  right: 0;
  font-size: 0;
  line-height: 0;
  height: 100%;
  border-left: none;
  border-color: #979797;
}
body[data-search=open] .search-app__searchbar input[type=submit] {
  border-color: #333333;
}
.search-app__searchbar input[type=text] {
  width: 100%;
}
.search-app__indexes {
  display: flex;
  border-bottom: 1px solid #D8D8D8;
  margin: 40px 0 15px 0;
}
@media (max-width: 767px) {
  .search-app__indexes {
    margin: 15px 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    text-align: center;
    justify-content: center;
    grid-gap: 10px;
    border-top: 1px solid #D8D8D8;
    padding-top: 10px;
  }
}
.search-app__indexes .a-search-btn {
  padding: 0 10px;
  display: flex;
  color: #333333;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 36px;
  text-decoration: none;
  border-bottom: 2px solid #fff;
  gap: 5px;
  text-transform: capitalize;
  cursor: pointer;
}
@media (max-width: 767px) {
  .search-app__indexes .a-search-btn {
    justify-content: center;
  }
}
.search-app__indexes .a-search-btn.active, .search-app__indexes .a-search-btn:hover {
  border-color: #EDAE58;
}
.search-app__indexes .a-search-btn span {
  font-weight: bold;
}
.search-app__filters {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 20px;
}
@media (min-width: 769px) {
  .search-app__filters {
    grid-gap: 20px;
  }
}
.search-app__filters--icon {
  display: flex;
  align-items: center;
  position: relative;
  top: -2px;
}
.search-app__filters--icon img {
  width: 15px;
}
.search-app__filters--counter {
  color: #333333;
  font-family: Adelle Semi Bold;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0;
  line-height: 15px;
  background-color: #fff;
  padding: 2px 12px;
  border-radius: 9px;
}
.search-app__filters h4 {
  margin-bottom: 10px;
}
.search-app__filters--options--grid {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}
.search-app__filters--options--mobile-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-gap: 15px;
}
.search-app__filters--options--mobile-grid h4 {
  background-color: #F5F5F5;
  padding: 8px;
  grid-column: span 2;
  text-align: center;
}
.search-app__filters--options--mobile-grid button {
  width: 100%;
}
.search-app__active-filters {
  display: grid;
  grid-template-columns: auto 1fr auto;
  grid-gap: 20px;
  background-color: #F5F5F5;
  padding: 10px;
}
@media (max-width: 767px) {
  .search-app__active-filters {
    display: none;
  }
}
.search-app__active-filters h4 {
  margin-bottom: 0;
}
.search-app__active-filters .a-circular-links a {
  background-color: #fff;
}
.search-app__active-filters--reset a {
  font-size: 16px;
  line-height: 28px;
  cursor: pointer;
}
.search-app__results {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.search-app__active-pane {
  display: grid;
  grid-gap: 20px;
  grid-template-rows: 1fr 5fr;
  width: 100%;
  height: 100%;
}
.search-app__active-pane--header {
  border-bottom: 1px solid #979797;
  padding-bottom: 20px;
  margin-bottom: 20px;
  width: 100%;
}
@media (max-width: 767px) {
  .search-app__active-pane--header {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
.search-app__active-pane--header-container {
  margin: 0 auto;
}
.search-app__active-pane--header-container-search {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 30px;
}
@media (max-width: 767px) {
  .search-app__active-pane--header-container-search {
    grid-template-columns: 1fr;
  }
}
.search-app__active-pane--header-container-search input {
  border: 1px solid #979797;
  border-radius: 3px;
  background-color: #FFFFFF;
  font-family: var(--fontTitle);
  font-size: 16px;
  letter-spacing: 0;
  line-height: 24px;
  background-image: url(/themes/pippip/dist/img/search.svg);
  background-repeat: no-repeat;
  background-position: right 10px center;
  background-size: 20px;
}
@media (max-width: 767px) {
  .search-app__active-pane--header-container-search {
    grid-template-columns: 1fr;
    grid-gap: 15px;
  }
}
.search-app__active-pane--header-container input {
  width: 100%;
}
.search-app__active-pane--clear {
  text-align: right;
}
.search-app__active-pane--clear a {
  font-size: 16px;
  line-height: 28px;
  cursor: pointer;
}
.search-app__active-pane--active {
  display: grid;
  grid-template-columns: 1fr auto;
  grid-gap: 10px;
  align-items: flex-end;
}
@media (max-width: 767px) {
  .search-app__active-pane--active {
    margin-top: 20px;
    grid-template-columns: 1fr;
  }
}
@media (min-width: 769px) {
  .search-app__active-pane--active--inner {
    margin: 30px 0 0 0;
  }
}
.search-app__active-pane--active .a-circular-links a {
  background-color: #fff;
}
.search-app__active-pane--filters {
  width: 100%;
  height: 100%;
  overflow: scroll;
}
.search-app__active-pane--filters-grid {
  height: 100%;
  display: grid;
}
.search-app__active-pane--filters-grid-Museums {
  grid-template-columns: 1fr;
}
.search-app__active-pane--filters-grid-Classification .search-app__active-pane--filters-grid--checkbox {
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 767px) {
  .search-app__active-pane--filters-grid-Classification .search-app__active-pane--filters-grid--checkbox {
    grid-template-columns: 1fr;
  }
}
.search-app__active-pane--filters-grid .search-app__active-pane--filters-grid--checkbox {
  display: grid;
}
.search-app__active-pane--filters-grid .search-app__active-pane--filters-grid--checkbox label {
  margin-bottom: 10px;
}

@media (min-width: 769px) {
  #root .listing {
    margin-top: 40px;
  }
}
#root .listing--pagination {
  display: flex;
  justify-content: center;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - sidebar
 * ----------------------
 */
@media (min-width: 993px) {
  .o-sidebar {
    border-left: 1px solid #D8D8D8;
    padding-left: 25px;
  }
}
@media (max-width: 991px) {
  .o-sidebar {
    display: grid;
    border-top: 1px solid #D8D8D8;
    padding: 40px 0;
  }
}
.o-sidebar h3, .o-sidebar a {
  font-size: 20px;
  line-height: 30px;
  margin: 0;
}
@media (max-width: 991px) {
  .o-sidebar h3, .o-sidebar a {
    font-size: 18px;
    line-height: 32px;
  }
}
.o-sidebar h3 {
  margin-bottom: 8px;
}
.o-sidebar .menu {
  display: grid !important;
  grid-gap: 8px;
  margin-top: 8px;
  margin-bottom: 0;
}
.o-sidebar .menu li.is-active-trail a {
  color: #777777;
}
.o-sidebar .menu li.is-active-trail a.is-active-trail, .o-sidebar .menu li.is-active-trail a.nav-parent {
  color: #333;
  font-family: var(--fontBold);
}
.o-sidebar .menu li.is-active-trail a.is-active-trail:before, .o-sidebar .menu li.is-active-trail a.nav-parent:before {
  content: "";
  background-image: url(/themes/pippip/dist/img/triangle-right.svg);
  position: absolute;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position-y: 8px;
  margin-left: -15px;
  padding-left: 15px;
  background-size: 15px 10px;
}
.o-sidebar a {
  position: relative;
  display: flex;
  text-decoration: none;
  font-family: Adelle Light;
}
.o-sidebar ul li a {
  text-decoration: none;
  position: relative;
}
.o-sidebar ul li a:hover, .o-sidebar ul li a:focus {
  text-decoration: underline;
}
.o-sidebar ul li ul {
  padding-left: 20px;
}
.o-sidebar ul li ul li a {
  display: block;
}
.o-sidebar__menu > ul.menu {
  padding-left: 13px;
}
.o-sidebar__menu > ul.menu > li > ul.menu {
  display: none;
}
.o-sidebar__menu > ul.menu > li a {
  display: block;
}
.o-sidebar__menu > ul.menu > li.is-active-trail > ul.menu {
  display: block;
  padding-left: 13px;
}
.o-sidebar__menu > ul.menu > li.is-active-trail > ul.menu > li > ul.menu {
  display: none;
}
.o-sidebar__menu > ul.menu > li.is-active-trail > ul.menu > li a {
  display: block;
}
.o-sidebar__menu > ul.menu > li.is-active-trail > ul.menu > li.is-active-trail > ul.menu {
  display: block;
  padding-left: 13px;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Teasers
 * ----------------------
 */
.o-teaser {
  display: grid;
}
.o-teaser:hover .o-teaser__thumb:after {
  opacity: 0.1;
}
.o-teaser__thumb {
  width: 100%;
  position: relative;
  display: grid;
  align-items: flex-end;
  background: none;
  overflow: hidden;
}
@media (max-width: 767px) {
  .o-teaser__thumb {
    align-items: flex-start;
  }
}
.o-teaser__thumb:after {
  height: 100%;
  width: 100%;
  content: "";
  position: absolute;
  background-color: #333333;
  opacity: 0;
}
.o-teaser__thumb .a-image-credit {
  left: calc(var(--bump) / 1.5);
}
.o-teaser__thumb picture {
  height: 100%;
}
.o-teaser__thumb img {
  width: 100%;
  height: 100%;
  display: block;
  transition: var(--transition);
}
.o-teaser__content {
  display: flex;
  gap: 12px;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
  padding: 20px 0 0 0;
}
.o-teaser__content h4 {
  margin-bottom: 0;
}
.o-teaser__content h4.o-teaser__content--term-title a, .o-teaser__content h4.o-teaser__content--term-title span {
  color: #777777;
  font-size: 16px;
  font-weight: bold;
  line-height: 24px;
  text-transform: uppercase;
  margin-bottom: 0;
}
.o-teaser__content h2, .o-teaser__content h3 {
  margin-bottom: 0;
}
.o-teaser__content h2 a, .o-teaser__content h3 a {
  letter-spacing: 0;
  text-decoration: none;
}
.o-teaser__content h2 a:hover, .o-teaser__content h2 a:focus, .o-teaser__content h3 a:hover, .o-teaser__content h3 a:focus {
  text-decoration: underline;
}
.o-teaser__content h5.o-teaser__content--term-title, .o-teaser__content h5.o-teaser__content--term-title a {
  display: flex;
  gap: 10px;
  color: #777777;
  font-size: 16px;
  font-weight: bold;
  line-height: 24px;
  text-transform: uppercase;
  margin-bottom: 0;
  flex-wrap: wrap;
}
.o-teaser__content a.o-teaser__content--read-more {
  font-size: 16px;
  line-height: 24px;
  font-family: Adelle;
  text-decoration: underline;
  margin-top: 5px;
}
.o-teaser__content a.o-teaser__content--read-more:hover, .o-teaser__content a.o-teaser__content--read-more:focus {
  text-decoration: none;
}
.o-teaser__content p:last-of-type {
  margin-bottom: 0;
}
.o-teaser__buttons {
  margin-top: auto;
  padding: 0 calc(var(--bump) / 1.5) calc(var(--bump) / 1.5);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: calc(var(--bump) / 2);
  align-self: flex-start;
}
.o-teaser-artwork-teaser__image-container {
  align-self: end;
}
@media (min-width: 769px) {
  .o-teaser-artwork-teaser {
    grid-template-rows: 1fr minmax(180px, auto);
  }
}
@media (max-width: 767px) {
  .o-teaser-artwork-teaser {
    display: grid !important;
    grid-template-rows: auto auto;
    padding-right: 15px;
  }
}
.o-teaser-artwork-teaser .o-teaser__thumb {
  display: flex;
}
.o-teaser-artwork-teaser .o-teaser__thumb img {
  height: auto;
}
.a-grid--4 .o-teaser-signpost-content {
  grid-template-rows: 300px auto;
}
@media (max-width: 1199px) {
  .a-grid--4 .o-teaser-signpost-content {
    grid-template-rows: 250px auto;
  }
}
@media (max-width: 991px) {
  .a-grid--4 .o-teaser-signpost-content {
    grid-template-rows: auto auto;
  }
}
@media (max-width: 767px) {
  .a-grid--4 .o-teaser-signpost-content {
    grid-template-rows: 200px auto;
  }
}
.a-grid--3 .o-teaser-signpost-content {
  grid-template-rows: 400px auto;
}
@media (max-width: 1199px) {
  .a-grid--3 .o-teaser-signpost-content {
    grid-template-rows: 350px auto;
  }
}
@media (max-width: 991px) {
  .a-grid--3 .o-teaser-signpost-content {
    grid-template-rows: 300px auto;
  }
}
@media (max-width: 767px) {
  .a-grid--3 .o-teaser-signpost-content {
    grid-template-rows: auto auto;
  }
}
.a-grid--2 .o-teaser-signpost-content {
  grid-template-rows: 500px auto;
}
@media (max-width: 1199px) {
  .a-grid--2 .o-teaser-signpost-content {
    grid-template-rows: 450px auto;
  }
}
@media (max-width: 991px) {
  .a-grid--2 .o-teaser-signpost-content {
    grid-template-rows: auto auto;
  }
}
@media (max-width: 767px) {
  .a-grid--2 .o-teaser-signpost-content {
    grid-template-rows: 200px auto;
  }
}
.o-teaser-signpost-content img {
  -o-object-fit: cover;
     object-fit: cover;
}
.o-teaser-museum-map-teaser__content {
  grid-gap: 5px;
}
.o-teaser-museum-map-teaser__content h4, .o-teaser-museum-map-teaser__content h2, .o-teaser-museum-map-teaser__content a {
  font-size: 14px;
  line-height: 19px;
}
.o-teaser-explore-teaser .o-teaser__content, .o-teaser-teaser .o-teaser__content, .o-teaser-artwork-teaser .o-teaser__content {
  grid-template-rows: auto auto auto auto;
}
.o-teaser-explore-teaser {
  grid-template-rows: 243px auto;
}
@media (max-width: 767px) {
  .o-teaser-explore-teaser {
    grid-template-rows: auto auto;
  }
}
.o-teaser-explore-teaser a {
  text-decoration: none;
}
.o-teaser-explore-teaser p {
  font-size: 16px;
  line-height: 26px;
}
.o-teaser-explore-teaser .o-teaser__thumb {
  display: grid;
  align-items: flex-end;
  background: none;
  overflow: hidden;
}
.o-teaser-explore-teaser .o-teaser__thumb img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.o-teaser-teaser {
  grid-template-rows: 243px auto;
}
@media (max-width: 767px) {
  .o-teaser-teaser {
    grid-template-rows: auto 1fr;
    grid-gap: 10px;
  }
}
.o-teaser-teaser .o-teaser__thumb {
  display: grid;
  align-items: flex-end;
  background: none;
  overflow: hidden;
}
.o-teaser-search-result-teaser {
  display: grid;
  grid-template-columns: 225px 1fr;
  grid-gap: 25px;
}
@media (max-width: 767px) {
  .o-teaser-search-result-teaser {
    grid-template-rows: auto 1fr;
    grid-gap: 10px;
  }
}
@media (min-width: 769px) {
  .o-teaser-search-result-teaser__title {
    display: none;
  }
}
@media (max-width: 767px) {
  .o-teaser-search-result-teaser__title {
    grid-column: 2;
    grid-row: 1;
    align-self: flex-start;
  }
  .o-teaser-search-result-teaser__title h2 {
    font-size: 18px;
    line-height: 24px;
  }
  .o-teaser-search-result-teaser__title h2 a {
    text-decoration: none;
  }
}
@media (max-width: 767px) {
  .o-teaser-search-result-teaser__content {
    grid-column: span 2;
    grid-row: 2;
  }
}
@media (max-width: 767px) {
  .o-teaser-search-result-teaser__content--title {
    display: none;
  }
}
.o-teaser-search-result-teaser__content--tags {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
.o-teaser-search-result-teaser__content--tags h4 {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .o-teaser-search-result-teaser__thumb {
    grid-column: 1;
    grid-row: 1;
  }
}
.o-teaser-search-result-teaser p {
  font-size: 16px;
  line-height: 26px;
}

.o-signup {
  background: var(--c-colour-theme-set);
  padding: 60px 0;
}
@media (max-width: 767px) {
  .o-signup {
    padding: 25px 0;
  }
}
.o-signup__content {
  text-align: center;
  display: grid;
  justify-content: center;
}
.o-signup__content h2 {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.o-signup__content h2::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.o-signup__content h2::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.o-signup__content--action {
  display: flex;
  justify-content: center;
}

/**
 * ----------------------
 * Un.titled
 * Organisms - Default
 * ----------------------
 */
.o-default__centered-content .m-entity:first-of-type {
  margin-top: 0;
}
.o-default__event-details {
  margin: 40px 0;
  display: grid;
  grid-template-columns: 1fr auto;
  position: relative;
  grid-template-rows: auto 1fr 1fr;
}
@media (max-width: 767px) {
  .o-default__event-details {
    margin: 20px 0;
    grid-template-columns: 1fr;
    grid-gap: 10px;
  }
}
.o-default__event-details--item-date {
  grid-row: 2;
  grid-column: span 2;
}
@media (max-width: 767px) {
  .o-default__event-details--item-date {
    grid-column: 1;
  }
}
.o-default__event-details--item-time {
  grid-row: 3;
}
.o-default__event-details--item-limit {
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .o-default__event-details--item-limit {
    grid-column: 1;
  }
}
.o-default__event-details--item-booking {
  grid-row: 3;
  display: grid;
  justify-content: flex-end;
  align-items: flex-end;
}
.o-default__event-details--item-booking div {
  display: flex;
  gap: 5px;
}
.o-default__event-details--item-booking div p {
  margin-bottom: 0;
}
@media (min-width: 769px) {
  .o-default__event-details--item-booking {
    position: absolute;
    bottom: 0;
    right: 0;
  }
}
@media (max-width: 767px) {
  .o-default__event-details--item-booking {
    grid-column: 1;
    grid-row: auto;
    justify-content: flex-start;
  }
}
.o-default__event-details--item p {
  display: flex;
  gap: 5px;
}
@media (max-width: 767px) {
  .o-default__event-details--item {
    margin: 0;
  }
}
@media (min-width: 769px) {
  .o-default__content {
    margin-top: 45px;
  }
}
.o-default__content--body {
  margin-top: 0;
}
.o-default__content--details {
  list-style: none;
  padding: 0;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 35px;
  margin: 40px 0;
}
@media (max-width: 767px) {
  .o-default__content--details {
    grid-template-columns: 1fr;
    grid-gap: 10px;
    margin: 20px 0;
  }
}
.o-default__content--details li {
  border-right: 2px solid #D8D8D8;
  padding-right: 35px;
  display: flex;
  gap: 12px;
  font-family: Adelle;
}
@media (max-width: 767px) {
  .o-default__content--details li {
    font-size: 18px;
    line-height: 28px;
  }
}
.o-default__content--details li:last-of-type {
  border: none;
  padding-right: 0;
}

.o-event__details {
  padding: 0;
  margin: 0;
  list-style: none;
}

div#sliding-popup, div#sliding-popup .eu-cookie-withdraw-banner, .eu-cookie-withdraw-tab {
  background-color: var(--c-colour-theme-set);
}
div#sliding-popup .popup-content, div#sliding-popup .eu-cookie-withdraw-banner .popup-content, .eu-cookie-withdraw-tab .popup-content {
  height: 100%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media (max-width: 767px) {
  div#sliding-popup .popup-content, div#sliding-popup .eu-cookie-withdraw-banner .popup-content, .eu-cookie-withdraw-tab .popup-content {
    flex-direction: column;
  }
}
div#sliding-popup .popup-content .eu-cookie-compliance-buttons, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .eu-cookie-compliance-buttons, .eu-cookie-withdraw-tab .popup-content .eu-cookie-compliance-buttons {
  display: grid;
  grid-template-columns: 1fr 1fr;
}
div#sliding-popup .popup-content h2, div#sliding-popup .popup-content p, div#sliding-popup .popup-content a, div#sliding-popup .popup-content .find-more-button, div#sliding-popup .popup-content .agree-button, div#sliding-popup .eu-cookie-withdraw-banner .popup-content h2, div#sliding-popup .eu-cookie-withdraw-banner .popup-content p, div#sliding-popup .eu-cookie-withdraw-banner .popup-content a, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .find-more-button, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .agree-button, .eu-cookie-withdraw-tab .popup-content h2, .eu-cookie-withdraw-tab .popup-content p, .eu-cookie-withdraw-tab .popup-content a, .eu-cookie-withdraw-tab .popup-content .find-more-button, .eu-cookie-withdraw-tab .popup-content .agree-button {
  color: var(--c-colour-theme-style-set);
  font-family: var(--fontRegular);
}
div#sliding-popup .popup-content p, div#sliding-popup .popup-content .find-more-button, div#sliding-popup .eu-cookie-withdraw-banner .popup-content p, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .find-more-button, .eu-cookie-withdraw-tab .popup-content p, .eu-cookie-withdraw-tab .popup-content .find-more-button {
  font-size: 16px;
  line-height: 26px;
  font-family: var(--fontBody);
}
div#sliding-popup .popup-content .agree-button, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .agree-button, .eu-cookie-withdraw-tab .popup-content .agree-button {
  text-decoration: underline;
  font-size: 20px;
  line-height: 30px;
}
div#sliding-popup .popup-content .decline-button, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .decline-button, .eu-cookie-withdraw-tab .popup-content .decline-button {
  position: relative;
  cursor: pointer;
  border-radius: 3px;
  background-color: var(--c-font-color);
  color: #fff;
  font-size: 18px;
  letter-spacing: 0;
  line-height: 28px;
  padding: 10px 25px 7px 25px;
  text-decoration: none;
  font-family: var(--fontRegular);
  transition: 0.2s;
  display: grid;
  grid-template-columns: 1fr auto;
  grid-template-rows: 1fr;
  justify-content: center;
  align-items: center;
  text-align: center;
  box-shadow: none;
  background-image: none;
  font-weight: lighter;
  border: none;
  text-shadow: none;
}
div#sliding-popup .popup-content .decline-button:after, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .decline-button:after, .eu-cookie-withdraw-tab .popup-content .decline-button:after {
  transition: 0.2s;
  content: "";
  background-image: url(/themes/pippip/dist/img/chevron-right-white.svg);
  position: relative;
  height: 100%;
  width: 8px;
  right: -5px;
  top: -1px;
  background-repeat: no-repeat;
  background-position: center center;
  visibility: hidden;
}
@media (max-width: 767px) {
  div#sliding-popup .popup-content .decline-button, div#sliding-popup .eu-cookie-withdraw-banner .popup-content .decline-button, .eu-cookie-withdraw-tab .popup-content .decline-button {
    grid-template-columns: auto auto;
  }
}

/**
 * Templates
 */
.o-objects__details {
  text-align: center;
}
@media (max-width: 767px) {
  .o-objects__details h2.h3 a, .o-objects__details .o-objects__content .m-expanding-card.accordion__row h2.js-accordion__header a, .o-objects__content .m-expanding-card.accordion__row .o-objects__details h2.js-accordion__header a {
    font-size: 20px;
    line-height: 28px;
  }
}
.o-objects__details--museums {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  justify-content: center;
}
.o-objects__content .m-expanding-card.accordion__row .m-expanding-card__content {
  padding: 0 25px;
}
.o-objects__content .m-expanding-card.accordion__row .js-accordion__header {
  height: 100px;
}
@media (max-width: 767px) {
  .o-objects__content .m-expanding-card.accordion__row .js-accordion__header {
    height: 62px;
  }
}
.o-objects__content--footer {
  margin: 60px 0 40px 0;
}
@media (max-width: 767px) {
  .o-objects__content--footer {
    margin: 40px 0 20px 0;
  }
  .o-objects__content--footer h3 {
    margin-bottom: 10px;
  }
  .o-objects__content--footer a {
    font-size: 16px;
    line-height: 26px;
  }
}
.o-objects__image-selector {
  margin-top: -40px;
}
.o-objects__lightbox {
  display: none;
}
body[data-lightbox=open] .o-objects__lightbox {
  position: fixed;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #F5F5F5;
  z-index: 5;
  display: grid;
  align-items: center;
  overflow: scroll;
}
.o-objects__lightbox .grid {
  width: 100%;
}
.o-objects__lightbox--close {
  display: flex;
  justify-content: flex-end;
}
.o-objects__lightbox--action {
  height: 100%;
  justify-content: center;
  display: grid;
  align-items: center;
}
.o-objects__lightbox--action.inactive a {
  display: none;
}
.o-objects__lightbox--action svg {
  cursor: pointer;
  height: 50px;
  width: 38px;
}
.o-objects__lightbox--content {
  height: 70vh;
  flex-direction: column;
  justify-content: center;
  display: flex;
  align-items: center;
  gap: 40px;
}
.o-objects__lightbox--content img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

body[data-lightbox=open] {
  overflow: hidden;
}

.o-event-page__content {
  margin-top: 65px;
}
.o-event-page__content h1 {
  background: var(--c-colour-theme-set);
  color: var(--c-colour-theme-style-set);
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 3px 5px;
}
.o-event-page__content h1::-moz-selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}
.o-event-page__content h1::selection {
  background-color: var(--c-white);
  color: var(--c-font-color);
}

@media (max-width: 767px) {
  .o-museum__biography h2 {
    font-size: 20px;
    line-height: 30px;
    margin-bottom: 10px;
  }
}

.o-artist__wikipedia {
  display: grid;
  grid-gap: 40px;
  margin-top: 40px;
}
.o-artist__wikipedia p, .o-artist__wikipedia p a, .o-artist__wikipedia a {
  font-size: 16px;
  line-height: 26px;
}
.o-artist__art-movements {
  margin-top: 60px;
}

.scroll-container {
  max-height: 800px;
  overflow-x: hidden;
  overflow-y: scroll;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
}

.virtuoso-grid-list {
  will-change: transform;
}

/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9nbG9iYWwuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvYmFndWV0dGVib3guanMvc3JjL2JhZ3VldHRlQm94LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL192YXJpYWJsZXMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9fZ3JpZC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL25vZGVfbW9kdWxlcy9yZWZsZXgtZ3JpZC9zY3NzL2luY2x1ZGVzL19taXhpbnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvcmVmbGV4LWdyaWQvc2Nzcy9pbmNsdWRlcy9faGVscGVycy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2NvbmZpZy9fZm9udHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9jb25maWcvX3ZhcnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi9ub2RlX21vZHVsZXMvaW5jbHVkZS1tZWRpYS9kaXN0L19pbmNsdWRlLW1lZGlhLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fZm9jdXMtdmlzaWJsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2hlbHBlcnMvX2ZvbnQtc21vb3RoaW5nLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fbWl4aW5zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvaGVscGVycy9fdGFibGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19kZWZhdWx0cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2Jhc2UvX3R5cG9ncmFwaHkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9iYXNlL19kcnVwYWw4LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYmFzZS9fbWFpbi5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19ncmlkLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvYXRvbXMvX25hdi10b2dnbGUuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fYnV0dG9ucy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL2F0b21zL19pbWFnZS1jcmVkaXQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fYnJlYWRjcnVtYnMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9hdG9tcy9fY2lyY3VsYXItbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2VtbXNnLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19lbnRpdHkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2JvZHkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX2ltYWdlLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL192aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19xdW90ZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZ2FsbGVyeS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9faW1hZ2UtdGV4dC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZG93bmxvYWRzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19zaWducG9zdC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fZW1iZWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvZW50aXRpZXMvX3ZpZGVvLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19pbWFnZS10ZXh0LWVsZW1lbnRzLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19oaWdobGlnaHRlZC1jb250ZW50LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19wZXJzb24tcHJvZmlsZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fb2JqZWN0LXJlc291cmNlLXRlYXNlci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fcmVzb3VyY2UtaGlnaGxpZ2h0cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fYWNjb3JkaW9uLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL2VudGl0aWVzL19pbWFnZS1hbmQtdGV4dC1zaWducG9zdC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9lbnRpdGllcy9fYXJ0aXN0LWxpc3Rpbmcuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2Zvcm1zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19uYXYuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2Jhbm5lci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbGlua2VkLWxvZ29zLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19zb2NpYWwtbGlua3Muc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX29iamVjdC1pbWFnZS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fYXJ0d29ya3Muc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX3NpZ25wb3N0LWdyaWQuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX2RldGFpbHMtZ3JpZC5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fbGFyZ2Utc2lnbnBvc3Quc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9tb2xlY3VsZXMvX21lZGlhLWVudGl0eS5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL21vbGVjdWxlcy9fcmVhY3R2aWV3LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvbW9sZWN1bGVzL19tZW51LW92ZXJsYXkuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX2hlYWRlci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fZm9vdGVyLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL192aWV3cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2VhcmNoLXJlc3VsdHMuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3NpZGViYXIuc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy9vcmdhbmlzbXMvX3RlYXNlci5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL29yZ2FuaXNtcy9fc2lnbnVwLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3Mvb3JnYW5pc21zL19kZWZhdWx0LnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvdGVtcGxhdGVzL19vYmplY3Quc2NzcyIsIndlYnBhY2s6Ly9zeWQtZDkvLi93ZWIvdGhlbWVzL3BpcHBpcC9hc3NldHMvc2Fzcy90ZW1wbGF0ZXMvX2V2ZW50cy5zY3NzIiwid2VicGFjazovL3N5ZC1kOS8uL3dlYi90aGVtZXMvcGlwcGlwL2Fzc2V0cy9zYXNzL3RlbXBsYXRlcy9fbXVzZXVtLnNjc3MiLCJ3ZWJwYWNrOi8vc3lkLWQ5Ly4vd2ViL3RoZW1lcy9waXBwaXAvYXNzZXRzL3Nhc3MvdGVtcGxhdGVzL19hcnRpc3Quc2NzcyJdLCJu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RUNrYXBCLDJCRGxhb0I7RUNtYXBCLHNCRG5hb0I7RUFDcEI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBSitsQko7QUk3bEJJOztFQUNJO0VBQ0E7QUpnbUJSOztBSTNsQkk7RUFESjtJQUVRLGdCRFVJO0VIcWxCVjtBQUNGO0FJN2xCSTtFQUxKO0lBTVEsZ0JET0k7RUh5bEJWO0FBQ0Y7QUk5bEJJO0VBVEo7SUFVUSxnQkRJSTtFSDZsQlY7QUFDRjtBSS9sQkk7RUFiSjtJQWNRLGlCRENJO0VIaW1CVjtBQUNGO0FJaG1CSTtFQWpCSjtJQWtCUSxpQkRGSztFSHFtQlg7QUFDRjs7QUk1bEJBO0VDMFhJLDhCRHpYb0I7RUMwWHBCLDJCRDFYb0I7RUMyWHBCLHNCRDNYb0I7RUFDcEI7RUNvR0E7RUFDQTtFQUNBO0VBNENBLG1CQURvQjtFQUVwQix1QkFGb0I7RUFHcEIsZUFIb0I7RUQ5SXBCO0VBQ0E7RUFDQTtFQ05JO0dBQ0E7RUFDQTtFRGNKO0FKK2xCSjtBSXRtQkk7RUNnWEEsOEJEOVd3QjtFQytXeEIsMkJEL1d3QjtFQ2dYeEIsc0JEaFh3QjtFQ0hwQjtFQUNBO0VBQ0E7QUw2bUJSOztBSWhtQkE7RUNrV0ksOEJEaldvQjtFQ2tXcEIsMkJEbFdvQjtFQ21XcEIsc0JEbldvQjtFQ2hCaEI7RUFDQTtFQUNBO0VEZ0JKO0VBQ0E7RUFDQTtFQUNBLGFEckJrQjtFQ29DZDtHQUNBO0VBQ0E7QUp5bEJSO0FJeG1CSTtFQzBWQSw4QkR4VndCO0VDeVZ4QiwyQkR6VndCO0VDMFZ4QixzQkQxVndCO0VDekJwQjtFQUNBO0VBQ0E7QUxxb0JSO0FJem1CSTtFQzRFSTtFQUdKO0VBQ0E7RUQ5RUk7QUo2bUJSOztBS3JyQlE7RUFDSTtHQUVJO0FMdXJCaEI7O0FLMXJCUTtFQUNJO0dBRUk7QUw0ckJoQjs7QUsvckJRO0VBQ0k7R0FFSTtBTGlzQmhCOztBS3BzQlE7RUFDSTtHQUVJO0FMc3NCaEI7O0FLenNCUTtFQUNJO0dBRUk7QUwyc0JoQjs7QUs5c0JRO0VBQ0k7R0FFSTtBTGd0QmhCOztBS250QlE7RUFDSTtHQUVJO0FMcXRCaEI7O0FLeHRCUTtFQUNJO0dBRUk7QUwwdEJoQjs7QUs3dEJRO0VBQ0k7R0FFSTtBTCt0QmhCOztBS2x1QlE7RUFDSTtHQUVJO0FMb3VCaEI7O0FLdnVCUTtFQUNJO0dBRUk7QUx5dUJoQjs7QUs1dUJRO0VBQ0k7R0FFSTtBTDh1QmhCOztBSXpwQkE7RUN4RlE7SUFDSTtLQUVJO0VMb3ZCZDs7RUt2dkJNO0lBQ0k7S0FFSTtFTHl2QmQ7O0VLNXZCTTtJQUNJO0tBRUk7RUw4dkJkOztFS2p3Qk07SUFDSTtLQUVJO0VMbXdCZDs7RUt0d0JNO0lBQ0k7S0FFSTtFTHd3QmQ7O0VLM3dCTTtJQUNJO0tBRUk7RUw2d0JkOztFS2h4Qk07SUFDSTtLQUVJO0VMa3hCZDs7RUtyeEJNO0lBQ0k7S0FFSTtFTHV4QmQ7O0VLMXhCTTtJQUNJO0tBRUk7RUw0eEJkOztFSy94Qk07SUFDSTtLQUVJO0VMaXlCZDs7RUtweUJNO0lBQ0k7S0FFSTtFTHN5QmQ7O0VLenlCTTtJQUNJO0tBRUk7RUwyeUJkO0FBQ0Y7QUludEJBO0VDNUZRO0lBQ0k7S0FFSTtFTGl6QmQ7O0VLcHpCTTtJQUNJO0tBRUk7RUxzekJkOztFS3p6Qk07SUFDSTtLQUVJO0VMMnpCZDs7RUs5ekJNO0lBQ0k7S0FFSTtFTGcwQmQ7O0VLbjBCTTtJQUNJO0tBRUk7RUxxMEJkOztFS3gwQk07SUFDSTtLQUVJO0VMMDBCZDs7RUs3MEJNO0lBQ0k7S0FFSTtFTCswQmQ7O0VLbDFCTTtJQUNJO0tBRUk7RUxvMUJkOztFS3YxQk07SUFDSTtLQUVJO0VMeTFCZDs7RUs1MUJNO0lBQ0k7S0FFSTtFTDgxQmQ7O0VLajJCTTtJQUNJO0tBRUk7RUxtMkJkOztFS3QyQk07SUFDSTtLQUVJO0VMdzJCZDtBQUNGO0FJNXdCQTtFQ2hHUTtJQUNJO0tBRUk7RUw4MkJkOztFS2ozQk07SUFDSTtLQUVJO0VMbTNCZDs7RUt0M0JNO0lBQ0k7S0FFSTtFTHczQmQ7O0VLMzNCTTtJQUNJO0tBRUk7RUw2M0JkOztFS2g0Qk07SUFDSTtLQUVJO0VMazRCZDs7RUtyNEJNO0lB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O0lBbEJKLDBCQUZhO0tBSVQ7RUxrbkROOztFS2xtRE07SUFsQkosY0FMUztLQU9MO0VMdW5ETjtBQUNGO0FJbGlEQTtFQ3RFUTtJQWxCSiwyQkFGYTtLQUlUO0VMNm5ETjs7RUs3bURNO0lBbEJKLDJCQUZhO0tBSVQ7RUxrb0ROOztFS2xuRE07SUFsQkosZ0JBRmE7S0FJVDtFTHVvRE47O0VLdm5ETTtJQWxCSiwyQkFGYTtLQUlUO0VMNG9ETjs7RUs1bkRNO0lBbEJKLDJCQUZhO0tBSVQ7RUxpcEROOztFS2pvRE07SUFsQkosZ0JBRmE7S0FJVDtFTHNwRE47O0VLdG9ETTtJQWxCSiwyQkFGYTtLQUlUO0VMMnBETjs7RUszb0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUxncUROOztFS2hwRE07SUFsQkosZ0JBRmE7S0FJVDtFTHFxRE47O0VLcnBETTtJQWxCSiwyQkFGYTtLQUlUO0VMMHFETjs7RUsxcERNO0lBbEJKLDBCQUZhO0tBSVQ7RUwrcUROOztFSy9wRE07SUFsQkosY0FMUztLQU9MO0VMb3JETjtBQUNGO0FJM2xEQTtFQzFFUTtJQWxCSiwyQkFGYTtLQUlUO0VMMHJETjs7RUsxcURNO0lBbEJKLDJCQUZhO0tBSVQ7RUwrckROOztFSy9xRE07SUFsQkosZ0JBRmE7S0FJVDtFTG9zRE47O0VLcHJETTtJQWxCSiwyQkFGYTtLQUlUO0VMeXNETjs7RUt6ckRNO0lBbEJKLDJCQUZhO0tBSVQ7RUw4c0ROOztFSzlyRE07SUFsQkosZ0JBRmE7S0FJVDtFTG10RE47O0VLbnNETTtJQWxCSiwyQkFGYTtLQUlUO0VMd3RETjs7RUt4c0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUw2dEROOztFSzdzRE07SUFsQkosZ0JBRmE7S0FJVDtFTGt1RE47O0VLbHRETTtJQWxCSiwyQkFGYTtLQUlUO0VMdXVETjs7RUt2dERNO0lBbEJKLDBCQUZhO0tBSVQ7RUw0dUROOztFSzV0RE07SUFsQkosY0FMUztLQU9MO0VMaXZETjtBQUNGO0FJcHBEQTtFQzlFUTtJQWxCSiwyQkFGYTtLQUlUO0VMdXZETjs7RUt2dURNO0lBbEJKLDJCQUZhO0tBSVQ7RUw0dkROOztFSzV1RE07SUFsQkosZ0JBRmE7S0FJVDtFTGl3RE47O0VLanZETTtJQWxCSiwyQkFGYTtLQUlUO0VMc3dETjs7RUt0dkRNO0lBbEJKLDJCQUZhO0tBSVQ7RUwyd0ROOztFSzN2RE07SUFsQkosZ0JBRmE7S0FJVDtFTGd4RE47O0VLaHdETTtJQWxCSiwyQkFGYTtLQUlUO0VMcXhETjs7RUtyd0RNO0lBbEJKLDJCQUZhO0tBSVQ7RUwweEROOztFSzF3RE07SUFsQkosZ0JBRmE7S0FJVDtFTCt4RE47O0VLL3dETTtJQWxCSiwyQkFGYTtLQUlUO0VMb3lETjs7RUtweERNO0lBbEJKLDBCQUZhO0tBSVQ7RUx5eUROOztFS3p4RE07SUFsQkosY0FMUztLQU9MO0VMOHlETjtBQUNGO0FNeDVEQTtFRHdMSSxtQkN2TG1CO0VEd0xuQix1QkN4TG1CO0VEeUxuQixlQ3pMbUI7QU40NUR2Qjs7QU16NURBO0VEb0xJLHFCQ25MbUI7RURvTG5CLHlCQ3BMbUI7RURxTG5CLGlCQ3JMbUI7QU44NUR2QjtBTXo1REk7RUQySkEsb0JDMUp5QjtFRDJKekIsc0JDM0p5QjtFRDRKekIsY0M1SnlCO0FONjVEN0I7O0FNejVEQTtFRHlLSSwyQkN4S21CO0VEeUtuQiwrQkN6S21CO0VEMEtuQix1QkMxS21CO0FOODVEdkI7O0FNdjVEQTtFRHVLSSx1QkN0S3dCO0VEdUt4QiwyQkN2S3dCO0VEd0t4QixtQkN4S3dCO0FONDVENUI7O0FNejVEQTtFRG1LSSwrQkNsS3dCO0VEbUt4QixtQ0NuS3dCO0VEb0t4QiwyQkNwS3dCO0FOODVENUI7O0FNMzVEQTtFRCtKSSwwQkM5SndCO0VEK0p4Qiw4QkMvSndCO0VEZ0t4QixzQkNoS3dCO0FOZzZENUI7O0FNNzVEQTtFRDJKSSxrQ0MxSndCO0VEMkp4QixzQ0MzSndCO0VENEp4Qiw4QkM1SndCO0FOazZENUI7O0FNMzVEQTtFRG9MUTtFQXRCSiwrQkM3SnFCO0VEOEpyQix1QkM5SnFCO0FOZzZEekI7O0FNNzVEQTtFRGtMUTtFQXhCSiw2QkN6SnFCO0VEMEpyQixxQkMxSnFCO0FOazZEekI7QU05NURRO0VBQ0k7QU5nNkRaOztBTTM1REE7RUR5S1Esc0JDeEtpQjtFRDhJckIsMkJDOUlxQjtFRCtJckIsbUJDL0lxQjtBTmc2RHpCO0FNNTVEUTtFQUNJO0FOODVEWjs7QU16NURBO0VEOEpRLHdCQzdKaUI7RURtSXJCLDZCQ25JcUI7RURvSXJCLHFCQ3BJcUI7QU44NUR6Qjs7QU12NURBO0VEc0tRO0VBOUJKLGlDQ3ZJdUI7RUR3SXZCLHlCQ3hJdUI7QU40NUQzQjs7QU16NURBO0VEb0tRO0VBaENKLCtCQ25JdUI7RURvSXZCLHVCQ3BJdUI7QU44NUQzQjtBTTM1REk7RUFDSTtBTjY1RFI7O0FNejVEQTtFRGlLUSwwQkNoS21CO0VEMEh2Qiw2QkMxSHVCO0VEMkh2QixxQkMzSHVCO0FOODVEM0I7O0FNMzVEQTtFRHlKUTtFQWxDSixvQ0N0SHVCO0VEdUh2Qiw0QkN2SHVCO0FOZzZEM0I7O0FNNzVEQTtFRHVKUTtFQXBDSixtQ0NsSHVCO0VEbUh2QiwyQkNuSHVCO0FOazZEM0I7O0FNMzVEQTtFRG1JUSw0QkNsSWdCO0VEb0dwQiwyQkNwR29CO0VEcUdwQixtQkNyR29CO0FOZzZEeEI7O0FNNzVEQTtFRDJIUTtFQTFCSiw4QkNoR29CO0VEaUdwQixzQkNqR29CO0FOazZEeEI7O0FNLzVEQTtFRHlIUTtFQTVCSiw0QkM1Rm9CO0VENkZwQixvQkM3Rm9CO0VBQ3BCO0FObzZESjs7QU1qNkRBO0VEc0hRLDJCQ3JIZ0I7RUR1RnBCLDBCQ3ZGb0I7RUR3RnBCLGtCQ3hGb0I7RUFDcEI7QU5zNkRKOztBTW42REE7RURpSFEsNkJDaEhnQjtFRGtGcEIsNEJDbEZvQjtFRG1GcEIsb0JDbkZvQjtFQUNwQjtBTnc2REo7O0FNajZEQTtFRG1JSTtFQUNBO0VBQ0E7QUxreURKO0FNbjZEUTtFQUNJO0FOcTZEWjs7QU1oNkRBO0VEK0hJO0VBQ0E7RUFDQTtBTHF5REo7QU1sNkRRO0VBQ0k7RUFDQTtFQUNBO0FObzZEWjtBTWw2RFk7RUQxRlI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMKy9ESjs7QU1uNkRBO0VEcUhJO0VBQ0E7RUFDQTtBTGt6REo7QU1yNkRRO0VBQ0k7RUFDQTtFQUNBO0FOdTZEWjtBTXI2RFk7RUQxR1I7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMa2hFSjs7QU10NkRBO0VEMkdJO0VBQ0E7RUFDQTtBTCt6REo7QU14NkRRO0VBQ0k7RUFDQTtFQUNBO0FOMDZEWjtBTXg2RFk7RUQxSFI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMcWlFSjs7QU16NkRBO0VEaUdJO0VBQ0E7RUFDQTtBTDQwREo7QU0zNkRRO0VBQ0k7RUFDQTtFQUNBO0FONjZEWjtBTTM2RFk7RUQxSVI7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FMd2pFSjs7QU10NkRJO0VBQ0k7QU55NkRSOztBTWg2REE7RURyRkk7RUFDQTtFQUNBO0VBa0RBLDBCQ21Dd0I7RURsQ3hCLDhCQ2tDd0I7RURqQ3hCLHNCQ2lDd0I7QU51NkQ1QjtBTXI2REk7RURyQ0EsdUJDc0M0QjtFRHJDNUIsMkJDcUM0QjtFRHBDNUIsbUJDb0M0QjtBTnk2RGhDOztBTXA2REE7RUFDSTtBTnU2REo7O0FNbjZEQTtFQUNJO0FOczZESjs7QU1sNkRBO0VBQ0k7QU5xNkRKOztBTTk1REE7RUFDSTtFRHJHSTtFQUdKO0VBQ0E7RUNtR0E7RUFDQTtFQUNBO0dBRUk7QU5rNkRSOztBTTk1REE7RUFDSTtFQUNBO0VBQ0E7QU5pNkRKO0FNLzVESTtFQUNJO0FOaTZEUjs7QUt6eURRO0VBdEZBO0lBRVE7RUxrNERkO0FBQ0Y7O0FLL3pEUTtFQS9ESTtJQUVRO0VMaTREbEI7QUFDRjs7QUtyekRRO0VBeEVJO0lBRVE7RUxnNERsQjtBQUNGOztBSzN6RFE7RUFsRUk7SUFFUTtFTGc0RGxCO0FBQ0Y7O0FLajFEUTtFQS9ESTtJQUVRO0VMbTVEbEI7QUFDRjs7QUt2MERRO0VBeEVJO0lBRVE7RUxrNURsQjtBQUNGOztBSzcwRFE7RUFsRUk7SUFFUTtFTGs1RGxCO0FBQ0Y7O0FLbjJEUTtFQS9ESTtJQUVRO0VMcTZEbEI7QUFD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QWV6bkZBO0VBQ0U7RUFDQTtBZjRuRkY7O0FlOW5GQTtFQUNFO0VBQ0E7QWY0bkZGOztBZXpuRkE7O0VBQUE7QUFJRTtFQUNFO0FmMm5GSjtBVXYwRkk7RUsrTUU7QWYybkZOOztBZXRuRkE7O0VBQUE7QUFHQTtFQUNFO0VBQ0E7QWZ5bkZGOztBZXRuRkE7RUFDRTtFQUNBO0FmeW5GRjs7QWV0bkZBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZnluRkY7O0FldG5GQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBZnluRkY7O0FldG5GQTtFQUNFO0FmeW5GRjs7QWV0bkZBO0VBQ0U7RUFDQTtFQUNBO0FmeW5GRjs7QWV0bkZBO0VBQ0U7QWZ5bkZGOztBZ0JwNEZBOzs7OztFQUFBO0FBUUE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBaEJxNEZGO0FnQnA0RkU7RUFDRTtBaEJzNEZKO0FnQnI0Rkk7RUFDRTtBaEJ1NEZOO0FnQnI0Rkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBaEJ1NEZOO0FnQnQ0Rk07RUFFRTtBaEJ1NEZSO0FnQm40Rk07RUFDRTtBaEJxNEZSOztBZ0I3M0ZBO0VBQ0U7RUFBQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCZzRGRjtBZ0I5M0ZFO0VBQ0U7QWhCZzRGSjtBZ0I3M0ZFO0VBQ0U7QWhCKzNGSjtBZ0I1M0ZFO0VBQ0U7QWhCODNGSjtBZ0IzM0ZFO0VKcERBO0VBQ0E7RUFDQTtFSW9ERTtFQUNBO0VBQ0E7QWhCKzNGSjtBWW43RkU7RUFDRTtFQUNBO0VBQ0E7QVpxN0ZKO0FnQmw0Rkk7RUFDRTtFQUNBO0FoQm80Rk47QWdCbDRGTTtFQUNFO0FoQm80RlI7O0FnQjkzRkE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QWhCaTRGRjs7QWdCOTNGQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQmk0RkY7O0FnQi8zRkE7O0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7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QTtFckI2N0dGO0FBQ0Y7QXFCMzdHRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXJCNjdHSjtBcUIxN0dFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FyQjQ3R0o7QXFCdDdHSTtFQUNFO0FyQnc3R047O0FzQmwvR0E7Ozs7O0NBQUE7QUFPQTs7Q0FBQTtBQUdBO0VBRUU7RUFDQTtBdEJtL0dGO0FzQmwvR0U7RUFDRTtFQUNBO0F0Qm8vR0o7QXNCai9HRTtFVlZBO0VBQ0E7RUFDQTtFVVVFO0F0QnEvR0o7QVk3L0dFO0VBQ0U7RUFDQTtFQUNBO0FaKy9HSjtBc0J4L0dJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QXRCMC9HTjtBc0J2L0dJO0VBQ0U7RUFDQTtFQUNBO0F0QnkvR047QXNCdi9HTTtFQUNFO0VBQ0E7QXRCeS9HUjtBc0J0L0dNO0VBQ0U7RUFDQTtBdEJ3L0dSO0FzQnYvR1E7RUFFRTtBdEJ3L0dWO0FzQm4vR1E7RUFDRTtBdEJxL0dWOztBdUJ4aUhBO0VBQ0U7RUFDQTtPQUFBO0VBQ0E7RUFDQTtBdkIyaUhGO0F1QnppSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBdkIyaUhKO0F1QjFpSEk7RUFDRTtBdkI0aUhOO0F1QjFpSEk7RVh5QkY7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0Fab2hIRjtBWW5oSEU7RUFDRTtFQUNBO0FacWhISjtBWXZoSEU7RUFDRTtFQUNBO0FacWhISjs7QXVCN2lIQTtFQUNFO0VBQ0E7T0FBQTtFQUNBO0VBQ0E7QXZCZ2pIRjtBdUI5aUhFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXZCZ2pISjtBdUIvaUhJO0VBQ0U7QXZCaWpITjtBdUIvaUhJO0VYTEY7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0FadWpIRjtBWXRqSEU7RUFDRTtFQUNBO0Fad2pISjtBWTFqSEU7RUFDRTtFQUNBO0Fad2pISjs7QUE5akhBOztFQUFBO0F3QmhEQTs7Ozs7RUFBQTtBQU9BOztHQUFBO0FBR0E7RUFDRTtJQUNFO0lBQ0E7RXhCbW5IRjtFd0JqbkhBO0lBQ0U7RXhCbW5IRjtFd0JqbkhBO0lBQ0U7SUFDQTtFeEJtbkhGO0FBQ0Y7QXdCOW5IQTtFQUNFO0lBQ0U7SUFDQTtFeEJtbkhGO0V3QmpuSEE7SUFDRTtFeEJtbkhGO0V3QmpuSEE7SUFDRTtJQUNBO0V4Qm1uSEY7QUFDRjtBd0JobkhBOztHQUFBO0FBR0E7RUFDRTtFQUNBO0VBSUE7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4QittSEY7QXdCdm5IRTtFQUNFO0F4QnluSEo7QXdCam5IRTtFQUNFO0VBQ0E7RUFDQTtBeEJtbkhKO0F3QmxuSEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEJvbkhOO0F3QmxuSEk7RUFDRTtBeEJvbkhOO0F3QmxuSEk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBeEJvbkhOO0F3QmhuSEU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO1VBQUE7QXhCa25ISjtBd0JobkhJO0VBQ0U7QXhCa25ITjtBU3JvR0k7RWV0aEJKO0lBK0NJO0V4QmduSEY7QUFDRjtBd0I5bUhFO0VacENBO0VBQ0E7RUFDQTtLQUFBO1VBQUE7RUFDQTtFWW1DRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhCbW5ISjtBd0JsbkhJO0VBQ0U7QXhCb25ITjs7QXlCN3NIQTs7Ozs7RUFBQTtBQU9BO0VBRUU7RUNURjs7Ozs7SUFBQTtFQ0FBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQU9BOztJQUFBO0VDUEE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQ0FBOzs7OztHQUFBO0VBT0E7O0dBQUE7RUFJQTs7R0FBQTtFQ1hBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQ0FBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7RUNBQTs7Ozs7SUFBQTtFQ0FBOzs7OztJQUFBO0VDQUE7Ozs7O0lBQUE7QXhDMHpIQTtBU3p3R0k7RWdCMWlCSjtJQUtJO0V6Qmt6SEY7QUFDRjtBeUJoekhFO0VBQ0U7QXpCa3pISjtBeUJoekhFO0VBQ0U7RUFDQTtFQUNBO0F6Qmt6SEo7QXlCM3lISTtFQUNFO0F6QjZ5SE47QXlCM3lITTtFQUNFO0F6QjZ5SFI7QXlCcnlISTtFQUNFO0F6QnV5SE47QXlCcnlITTtFQUNFO0VBQ0E7RUFDQTtBekJ1eUhSO0F5QnJ5SFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpCdXlIVjtBUy95R0k7RWdCamdCSTtJQVdJO0lBQ0E7SUFDQTtFekJ5eUhWO0FBQ0Y7QTBCaDJIQTtFQUNFO0ExQmsySEY7QTJCbjJIQTtFQUNFO0EzQnEySEY7QTRCcjJIRTtFQUNFO0E1QnUySEo7QTRCcjJIRTtFQUNFO0E1QnUySEo7QTZCdDJIRTtFQUNFO0VBQ0E7RUFDQTtBN0J3MkhKO0E2QnQySEk7RUFDRTtFQUNBO0E3QncySE47QTZCdjJITTtFQUNFO0E3QnkySFI7QTZCdjJITTtFQUNFO0E3QnkySFI7QTZCcDJIRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTdCczJISjtBNkJuMkhFO0VBQ0U7RUFDQTtFQUVBO0E3Qm8ySEo7QTZCbDJISTtFQUNFO0E3Qm8ySE47QXlDajVIQTtFQUNFO0VBQ0E7QXpDbTVIRjtBeUNsNUhFO0VBQ0U7RUFDQTtBekNvNUhKO0F5Q2o1SE07RUFDRTtFQUNBO0F6Q201SFI7QXlDLzRISTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q2k1SE47QVM5M0dJO0VnQ25pQkE7SUFrQkk7SUFDQTtFekNtNUhOO0FBQ0Y7QXlDbDVITTtFQUNFO0VBQ0E7QXpDbzVIUjtBeUNqNUhRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXpDbTVIVjtBU2o1R0k7RWdDemdCSTtJQVNJO0V6Q3E1SFY7QUFDRjtBeUNuNUhRO0VBQ0U7QXpDcTVIVjtBeUNqNUhRO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F6Q201SFY7QXlDLzRISTtFQUNFO0F6Q2k1SE47QXlDLzRISTtFQUNFO0F6Q2k1SE47QXlDaDVITTtFQUNFO0VBQ0E7RUFDQTtBekNrNUhSO0FTNTZHSTtFZ0N6ZUU7SUFLSTtFekNvNUhSO0FBQ0Y7QVNqN0dJO0VnQ3plRTtJQVFJO0lBQ0E7RXpDczVIUjtBQUNGO0F5Q3I1SFE7RUFDRTtBekN1NUhWO0F5Q3A1SFE7RUFDRTtBekNzNUhWO0F5Q3A1SFE7RUFDRTtBekNzNUhWO0F5Q3A1SFE7RUFDRTtBekNzNUhWO0F5Q3A1SFE7RUFDRTtBekNzNUhWO0F5Q3A1SFE7RUFDRTtBekNzNUhWO0E4QmwvSEU7RUFDRTtFQUNBO0E5Qm8vSEo7QVM3OEdJO0VxQnppQkY7SUFJSTtFOUJzL0hKO0FBQ0Y7QThCbi9ISTtFQUNFO0E5QnEvSE47QStCLy9IQTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0EvQmlnSUY7QVMzOUdJO0VzQjFpQko7SUFPSTtJQUNBO0UvQmtnSUY7QUFDRjtBZ0NuZ0lFO0VBQ0U7RUFDQTtFQUNBO0FoQ3FnSUo7QWdDcGdJSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ3NnSU47QWdDcmdJTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FoQ3VnSVI7QWlDOWhJTTs7RXJCcUNKO0VBQ0E7RUFDQTtFQUFBO0VBQUE7RUFDQTtBWjYvSEY7QVk1L0hFO0VBQ0U7RUFDQTtBWisvSEo7QVlqZ0lFOztFQUNFO0VBQ0E7QVorL0hKO0FpQ3BpSVU7OztFQUNFO0VBQ0E7QWpDd2lJWjtBaUMvaElVO0VBQ0U7QWpDaWlJWjtBaUMzaElFO0VBQ0U7QWpDNmhJSjtBU2hoSEk7RXdCemdCRTtJQUNFO0VqQzRoSU47QUFDRjtBaUN6aElFO0VBQ0U7RUFDQTtFQUNBO0FqQzJoSUo7QWlDemhJRTtFQUNFO0FqQzJoSUo7QVM3aEhJO0V3Qi9mRjtJQUdJO0lBQ0E7RWpDNmhJSjtBQUNGO0FTbmlISTtFd0IvZkY7SUFPSTtJQUNBO0VqQytoSUo7QUFDRjtBaUM3aElFO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpDK2hJSjtBa0N4bElFO0VBQ0U7QWxDMGxJSjtBbUMzbElFO0VBQ0U7QW5DNmxJSjtBbUMxbElJO0VBQ0U7RUFDQTtBbkM0bElOO0FTempISTtFMEJyaUJBO0lBSUk7RW5DOGxJTjtBQUNGO0FTOWpISTtFMEI1aEJGO0lBRUk7RW5DNGxJSjtBQUNGO0FtQ3psSUU7RUFFRTtFQUNBO0VBQ0E7QW5DMGxJSjtBbUN4bElFO0VBQ0U7RUFDQTtBbkMwbElKO0FTNWtISTtFMEJoaEJGO0lBSUk7RW5DNGxJSjtBQUNGO0FTamxISTtFMEJoaEJGO0lBT007RW5DOGxJTjtBQUNGO0FtQzNsSUk7RUFDRTtFQUNBO0FuQzZsSU47QVMxbEhJO0UwQnJnQkE7SUFJSTtFbkMrbElOO0FBQ0Y7QVMvbEhJO0UwQjdmQTtJQUVJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0VuQzhsSU47QUFDRjtBbUMxbElFO0VBQ0U7RUFDQTtBbkM0bElKO0FvQ3RwSUU7RUFDRTtFQUNBO0FwQ3dwSUo7QW9DcnBJRTtFeEJzREE7RUFDQTtFQUNBO0V3QnRERTtBcEN5cElKO0FTeG5ISTtFMkJuaUJGO0l4QjBERTtFWnFtSUY7QUFDRjtBb0MzcElNO0VBQ0U7RUFDQTtBcEM2cElSO0FvQ3pwSUk7RUFDRTtFQUNBO0FwQzJwSU47QXFDOXFJRTtFQUNFO0VBSUE7QXJDNnFJSjtBU3pvSEk7RTRCemlCRjtJQUdJO0VyQ21ySUo7QUFDRjtBcUNocklJO0V6QmlDRjtFQUNBO0VBQ0E7RUFBQTtFQUFBO0VBQ0E7QVprcElGO0FZanBJRTtFQUNFO0VBQ0E7QVptcElKO0FZcnBJRTtFQUNFO0VBQ0E7QVptcElKO0FxQ3ZySUk7RUFDRTtBckN5cklOO0FxQ3RySUU7RUFDRTtFQUNBO0FyQ3dySUo7QXNDdnNJRTtFMUJrREE7RUFDQTtFQUNBO0UwQmxERTtBdEMyc0lKO0FTcnFISTtFNkJ4aUJGO0kxQnNERTtFWjJwSUY7QUFDRjtBc0M5c0lNO0VBQ0U7RUFDQTtBdENndElSO0FzQzlzSU07RUFDRTtFQUNBO0F0Q2d0SVI7QXNDM3NJRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXRDNnNJSjtBc0Mzc0lNO0VBQ0U7RUFDQTtLQUFBO0VBQ0E7S0FBQTtBdEM2c0lSO0FzQzFzSUk7RUFDRTtFQUNBO0VBQ0E7QXRDNHNJTjtBU25zSEk7RTZCNWdCQTtJQUtJO0lBQ0E7RXRDOHNJTjtBQUNGO0F1Q2x2SUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBdkNvdklKO0F1Q252SUk7RUFDRTtFQUNBO0VBQ0E7QXZDcXZJTjtBMENud0lFO0VBRUU7RUFDQTtFQUNBO0VBQ0E7QTFDb3dJSjtBUzF0SEk7RWlDL2lCRjtJQU9JO0lBQ0E7RTFDc3dJSjtBQUNGO0FTaHVISTtFaUMvaUJGO0lBV0k7SUFDQTtFMUN3d0lKO0FBQ0Y7QVN0dUhJO0VpQy9pQkY7SUFlSTtJQUNBO0lBQ0E7RTFDMHdJSjtBQUNGO0EwQ3h3SUk7RUFDRTtFQUNBO0ExQzB3SU47QTBDendJTTtFQUNFO0VBQ0E7QTFDMndJUjtBMEN4d0lJO0VBQ0U7QTFDMHdJTjtBU3h2SEk7RWlDbmhCQTtJQUdJO0UxQzR3SU47QUFDRjtBUzd2SEk7RWlDbmhCQTtJQU1JO0UxQzh3SU47QUFDRjtBU2x3SEk7RWlDbmhCQTtJQVNJO0UxQ2d4SU47QUFDRjtBMEM5d0lRO0VBQ0U7QTFDZ3hJVjtBUzF3SEk7RWlDdmdCSTtJQUdJO0UxQ2t4SVY7QUFDRjtBMENoeElRO0VBRUU7QTFDaXhJVjtBMEM1d0lJO0VBQ0U7RUFDQTtFQUNBO0ExQzh3SU47QVN2eEhJO0VpQzFmQTtJQUtJO0UxQ2d4SU47QUFDRjtBUzV4SEk7RWlDbmZFO0lBRUk7SUFDQTtFMUNpeElSO0FBQ0Y7QTBDN3dJSTtFQUNFO0VBQ0E7QTFDK3dJTjtBU3R5SEk7RWlDM2VBO0lBSUk7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eUxWO0F3RHB5TFE7OztFQUNFO0F4RHd5TFY7QXdEcnlMTTs7O0VBQ0U7RUFDQTtFQUVBO0VBQ0E7RUFDQTtBeER3eUxSO0FTMzNLSTtFK0NuYkU7OztJQVFJO0V4RDR5TFI7QUFDRjtBd0QzeUxROzs7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RCt5TFY7QXdEN3lMWTs7O0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEaXpMZDs7QXdEdHlMRTtFQUNFO0F4RHl5TEo7QXdEdnlMRTtFQUNFO0VBQ0E7QXhEeXlMSjtBd0R2eUxFO0VBQ0U7QXhEeXlMSjs7QXdEbnlMRTs7RUFDRTtBeER1eUxKO0F3RHJ5TEU7O0VBQ0U7QXhEd3lMSjs7QXdEbnlMRTtFQUNFO0F4RHN5TEo7QXdEcnlMSTtFQUNFO0VBQ0E7QXhEdXlMTjtBd0R0eUxNO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBeER3eUxSO0F3RHZ5TFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QXhEeXlMVjs7QXdEanlMRTtFQUNFO0F4RG95TEo7QXdEbHlMTTtFQUNFO0VBQ0E7RUFDQTtBeERveUxSO0F3RG55TFE7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0F4RHF5TFY7QXdEbHlMTTtFQUNFO0F4RG95TFI7QVM3OUtJO0UrQ3hVRTtJQUdJO0lBQ0E7RXhEc3lMUjtBQUNGO0F3RHJ5TFE7RUFDRTtBeER1eUxWO0F3RHJ5TFE7RUFDRTtFQUNBO0F4RHV5TFY7QXdEdHlMVTtFQUNFO0F4RHd5TFo7QXdEdHlMVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0F4RHd5TFo7QXdEbnlMSTtFQUNFO0F4RHF5TE47O0F3RGh5TEU7RUFDRTtBeERteUxKO0F3RGx5TEk7RUFDRTtFQUNBO0VBQ0E7QXhEb3lMTjtBUy8vS0k7RStDeFNBO0lBS0k7SUFDQTtFeERzeUxOO0FBQ0Y7QXdEcnlMTTtFQUVFO0VBQ0E7QXhEc3lMUjtBd0RyeUxRO0VBQ0U7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NWZFO0lBSUk7RTFEbzdNUjtBQUNGO0EwRGg3TU07RUFDRTtFQUNBO0ExRGs3TVI7QVNqOExJO0VpRG5mRTtJQUlJO0UxRG83TVI7QUFDRjtBMERsN01VO0VBQ0U7QTFEbzdNWjtBMERoN01VO0VBQ0U7QTFEazdNWjtBUzU4TEk7RWlEN2RFO0lBRUk7RTFEMjZNUjtBQUNGO0EwRHY2TUU7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBMUR5Nk1KO0FTdjlMSTtFaUR0ZEY7SUFNSTtJQUNBO0lBQ0E7RTFEMjZNSjtBQUNGO0FTOTlMSTtFaUQ1Y0E7SUFFSTtFMUQ0Nk1OO0FBQ0Y7QTBEMzZNTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTFENjZNUjtBUzErTEk7RWlEeGNFO0lBT0k7RTFEKzZNUjtBQUNGO0EwRDk2TVE7RUFDRTtBMURnN01WO0EwRC82TVU7RUFDRTtFQUNBO0ExRGk3TVo7QTBEaDdNWTtFQUNFO0VBQ0E7RUFDQTtBMURrN01kO0EwRGo3TWM7RUFFRTtBMURrN01oQjtBMEQvNk1ZO0VBQ0U7RUFDQTtFQUNBO0ExRGk3TWQ7QTBEaDdNYztFQUVFO0ExRGk3TWhCO0EwRDk2TVk7RUFDRTtFQUNBO0VBQ0E7QTFEZzdNZDtBMEQvNk1jO0VBRUU7QTFEZzdNaEI7QVM5Z01JO0VpRDNaQTtJQUVJO0UxRDI2TU47QUFDRjtBU25oTUk7RWlEdFpBO0lBRUk7RTFEMjZNTjtBQUNGO0FTeGhNSTtFaUR0WkE7SUFLSTtFMUQ2Nk1OO0FBQ0Y7QTBEMzZNSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBMUQ2Nk1OOztBMkR0bE5BOzs7OztFQUFBO0FDQUE7Ozs7O0VBQUE7QUFPQTtFQUNFO0VBQ0E7QTVEOGxORjs7QTREMWxORTtFQUNFO0E1RDZsTko7QTREMWxORTtFQUNFO0E1RDRsTko7QTREemxORTtFQUNFO0E1RDJsTko7QTREemxOSTtFaERmRjtFQUNBO0VBQ0E7QVoybU5GO0FZem1ORTtFQUNFO0VBQ0E7RUFDQTtBWjJtTko7QTREaG1OTTtFQUNFO0E1RGttTlI7O0E0RDVsTkE7RUFDRTtBNUQrbE5GOztBNEQzbE5FO0VBQ0U7QTVEOGxOSjtBNEQ3bE5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEK2xOTjtBNEQ5bE5NO0VBQ0U7RUFDQTtBNURnbU5SO0E0RDlsTk07RUFURjtJQVVJO0lBQ0E7SUFDQTtFNURpbU5OO0FBQ0Y7QVN0bU1JO0VtRHhnQkE7SUFlSTtJQUNBO0lBQ0E7RTVEbW1OTjtBQUNGO0E0RGptTkk7RUFDRTtFQUNBO0VBQ0E7QTVEbW1OTjtBU2xuTUk7RW1EL2VJO0lBQ0U7SUFDQTtFNURvbU5SO0FBQ0Y7QTREam1OSTtFQUNFO0E1RG1tTk47O0FTM25NSTtFbURsZUo7SUFFSTtFNURnbU5GO0FBQ0Y7O0E0RDdsTkE7O0VBRUU7RUFDQTtFQUNBO0E1RGdtTkY7QTREL2xORTs7RUFDRTtFQUNBO0E1RGttTko7O0E0RDlsTkE7RUFDRTtBNURpbU5GOztBNEQ5bE5BO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEaW1ORjtBNERobU5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RGttTko7QTREam1OSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNURtbU5OOztBNEQ5bE5BO0VBQ0U7RUFDQTtFQUNBO0E1RGltTkY7QTREaG1ORTtFQUNFO0E1RGttTko7QTREaG1ORTtFQUNFO0VBQ0E7QTVEa21OSjtBNERqbU5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RG1tTk47QTREaG1ORTtFQUNFO0E1RGttTko7QTREaG1OTTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEa21OUjtBNERobU5RO0VBQ0U7QTVEa21OVjtBNEQvbE5NO0VBQ0U7QTVEaW1OUjtBNER6bE5FO0VBQ0U7RUFDQTtFQUNBO0E1RDJsTko7QVNqdU1JO0VtRDdYRjtJQUtJO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7RTVENmxOSjtBQUNGO0E0RDVsTkk7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RDhsTk47QVMxdk1JO0VtRC9XQTtJQWFJO0U1RGdtTk47QUFDRjtBNEQvbE5NO0VBRUU7QTVEZ21OUjtBNEQ5bE5NO0VBQ0U7QTVEZ21OUjtBNEQ1bE5FO0VBQ0U7RUFDQTtFQUNBO0E1RDhsTko7QVMxd01JO0VtRHZWRjtJQUtJO0U1RGdtTko7QUFDRjtBNEQvbE5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEaW1OTjtBNERobU5NO0VBQ0U7QTVEa21OUjtBNEQvbE5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E1RGltTk47QTREOWxOSTtFQUNFO0E1RGdtTk47QTRENWxOTTtFQUNFO0VBQ0E7RUFDQTtBNUQ4bE5SO0E0RDVsTk07RUFDRTtFQUNBO0VBQ0E7QTVEOGxOUjtBNEQ3bE5RO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEK2xOVjtBNEQ3bE5RO0VBQ0U7QTVEK2xOVjtBNEQxbE5FO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBNUQ0bE5KO0FTaDBNSTtFbURqU0Y7SUFPSTtFNUQ4bE5KO0FBQ0Y7QTREN2xOSTtFQUNFO0E1RCtsTk47QTRENWxOTTtFQUNFO0E1RDhsTlI7QTREMWxOTTtFQUNFO0VBQ0E7RUFDQTtBNUQ0bE5SO0E0RHhsTkU7RUFDRTtFQUNBO0E1RDBsTko7QTREeGxORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEMGxOSjtBNER6bE5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEMmxOTjtBU2oyTUk7RW1EOVBBO0lBTUk7SUFDQTtFNUQ2bE5OO0FBQ0Y7QTRENWxOTTtFQUNFO0E1RDhsTlI7QTREN2xOUTtFQUNFO0VBQ0E7RUFDQTtBNUQrbE5WO0FTLzJNSTtFbURuUEk7SUFLSTtFNURpbU5WO0FBQ0Y7QTREaG1OVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTVEa21OWjtBU2o0TUk7RW1EblBJO0lBcUJJO0lBQ0E7RTVEbW1OVjtBQUNGO0E0RGptTlE7RUFDRTtBNURtbU5WO0E0RC9sTkk7RUFDRTtBNURpbU5OO0E0RGhtTk07RUFDRTtFQUNBO0VBQ0E7QTVEa21OUjtBNEQvbE5JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTVEaW1OTjtBU3g1TUk7RW1EN01BO0lBTUk7SUFDQTtFNURtbU5OO0FBQ0Y7QVM5NU1JO0VtRHBNRTtJQUVJO0U1RG9tTlI7QUFDRjtBNERobU5RO0VBQ0U7QTVEa21OVjtBNEQ5bE5JO0VBQ0U7RUFDQTtFQUNBO0E1RGdtTk47QTREL2xOTTtFQUNFO0VBRUE7QTVEZ21OUjtBNEQ5bE5RO0VBQ0U7QTVEZ21OVjtBNEQzbE5VO0VBQ0U7QTVENmxOWjtBU3I3TUk7RW1EektNO0lBR0k7RTVEK2xOWjtBQUNGO0E0RHpsTlE7RUFDRTtBNUQybE5WO0E0RDFsTlU7RUFDRTtBNUQ0bE5aOztBU2g4TUk7RW1EbEpGO0lBR0k7RTVEb2xOSjtBQUNGO0E0RGxsTkk7RUFFRTtFQUNBO0E1RG1sTk47O0E2RDMvTkE7Ozs7O0VBQUE7QXBEaWpCSTtFb0QzaUJKO0lBRUk7SUFDQTtFN0Q4L05GO0FBQ0Y7QVN2OU1JO0VvRDNpQko7SUFNSTtJQUVBO0lBQ0E7RTdEKy9ORjtBQUNGO0E2RDkvTkU7RUFDRTtFQUNBO0VBQ0E7QTdEZ2dPSjtBU24rTUk7RW9EaGlCRjtJQUtJO0lBQ0E7RTdEa2dPSjtBQUNGO0E2RGhnT0U7RUFDRTtBN0RrZ09KO0E2RGhnT0U7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBN0RrZ09KO0E2RGhnT007RUFDRTtBN0RrZ09SO0E2RGpnT1E7RUFFRTtFQUNBO0E3RGtnT1Y7QTZEamdPVTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E3RG1nT1o7QTZENy9ORTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0E3RCsvTko7QTZEMy9OTTtFQUNFO0VBQ0E7QTdENi9OUjtBNkQ1L05RO0VBRUU7QTdENi9OVjtBNkR6L05NO0VBQ0U7QTdEMi9OUjtBNkR6L05VO0VBQ0U7QTdEMi9OWjtBNkRwL05JO0VBQ0U7QTdEcy9OTjtBNkRwL05RO0VBQ0U7QTdEcy9OVjtBNkRwL05RO0VBQ0U7QTdEcy9OVjtBNkRqL05RO0VBQ0U7RUFDQTtBN0RtL05WO0E2RGgvTlk7RUFDRTtBN0RrL05kO0E2RC8rTlk7RUFDRTtBN0RpL05kO0E2RDUrTlk7RUFDRTtFQUNBO0E3RDgrTmQ7O0E4RGhtT0E7Ozs7O0VBQUE7QUFPQTtFQUNFO0E5RGttT0Y7QThEaG1PTTtFQUNFO0E5RGttT1I7QThENWxPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUQ4bE9KO0FTcGtOSTtFcURoaUJGO0lBUUk7RTlEZ21PSjtBQUNGO0E4RC9sT0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7QTlEaW1PTjtBOEQvbE9JO0VBQ0U7QTlEaW1PTjtBOEQvbE9JO0VBQ0U7QTlEaW1PTjtBOEQvbE9JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlEaW1PTjtBOEQ3bE9FO0VBRUU7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RDhsT0o7QThEM2xPSTtFQUVFO0E5RDRsT047QThEdmxPUTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUR5bE9WO0E4RG5sT0k7RUFDRTtBOURxbE9OO0E4RHBsT007RUFDRTtFQUNBO0E5RHNsT1I7QThEcmxPUTtFQUVFO0E5RHNsT1Y7QThEL2tPTTtFQUVFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOURnbE9SO0E4RDNrT0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0E5RDZrT047QThENWtPTTtFQUVFO0E5RDZrT1I7QThEeGtPTTtFQUNFO0E5RDBrT1I7QThEdGtPRTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBOUR3a09KO0E4RHJrT0k7RUFDRTtBOUR1a09OO0FTN3BOSTtFcUQ1YUY7SUFLSTtFOUR3a09KO0FBQ0Y7QVNscU5JO0VxRDVhRjtJQVFJO0lBQ0E7SUFDQTtFOUQwa09KO0FBQ0Y7QThEemtPSTtFQUNFO0E5RDJrT047QThEMWtPTTtFQUNFO0E5RDRrT1I7QThEdGtPSTtFQUNFO0E5RHdrT047QVNsck5JO0VxRHZaQTtJQUdJO0U5RDBrT047QUFDRjtBU3ZyTkk7RXFEdlpBO0lBTUk7RTlENGtPTjtBQUNGO0FTNXJOSTtFcUR2WkE7SUFTSTtFOUQ4a09OO0FBQ0Y7QThEM2tPSTtFQUNFO0E5RDZrT047QVNwc05JO0VxRDFZQTtJQUdJO0U5RCtrT047QUFDRjtBU3pzTkk7RXFEMVlBO0lBTUk7RTlEaWxPTjtBQUNGO0FTOXNOSTtFcUQxWUE7SUFTSTtFOURtbE9OO0FBQ0Y7QThEamxPSTtFQUNFO0E5RG1sT047QVN0dE5JO0VxRDlYQTtJQUdJO0U5RHFsT047QUFDRjtBUzN0Tkk7RXFEOVhBO0lBTUk7RTlEdWxPTjtBQUNGO0FTaHVOSTtFcUQ5WEE7SUFTSTtFOUR5bE9OO0FBQ0Y7QThEbGxPSTtFQUNFO0tBQUE7QTlEb2xPTjtBOERobE9JO0VBQ0U7QTlEa2xPTjtBOERqbE9NO0VBQ0U7RUFDQTtBOURtbE9SO0E4RDVrT0k7RUFDRTtBOUQ4a09OO0E4RDNrT0U7RUFDRTtBOUQ2a09KO0FTcnZOSTtFcUR6VkY7SUFHSTtFOUQra09KO0FBQ0Y7QThEOWtPSTtFQUNFO0E5RGdsT047QThEOWtPSTtFQUNFO0VBQ0E7QTlEZ2xPTjtBOEQ5a09JO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QTlEZ2xPTjtBOEQva09NO0VBQ0U7RUFDQTtLQUFBO0E5RGlsT1I7QThEN2tPRTtFQUNFO0E5RCtrT0o7QVM5d05JO0VxRGxVRjtJQUdJO0lBQ0E7RTlEaWxPSjtBQUNGO0E4RGhsT0k7RUFDRTtFQUNBO0VBQ0E7RUFDQTtBOURrbE9OO0E4RC9rT0U7RUFDRTtFQUNBO0VBQ0E7QTlEaWxPSjtBUy94Tkk7RXFEclRGO0lBS0k7SUFDQTtFOURtbE9KO0FBQ0Y7QVNyeU5JO0VxRDdTQTtJQUVJO0U5RG9sT047QUFDRjtBUzF5Tkk7RXFEN1NBO0lBS0k7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TTtFQUNFO0FqRWluUFI7QWlFNW1QTTtFQUNFO0FqRThtUFI7QVN4bE9JO0V3RHZoQkU7SUFJSTtFakUrbVBSO0FBQ0Y7QWlFNW1QSTtFQUNFO0FqRThtUE47QVNobU9JO0V3RC9nQkE7SUFHSTtFakVnblBOO0VpRS9tUE07SUFDRTtFakVpblBSO0VpRS9tUE07SUFDRTtJQUNBO0VqRWluUFI7QUFDRjtBaUU3bVBFO0VBQ0U7QWpFK21QSjtBaUU3bVBFO0VBQ0U7QWpFK21QSjtBaUU5bVBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0FqRWduUE47QWlFOW1QSTtFQUNFO0FqRWduUE47QWlFOW1QSTtFQUNFO0VBQ0E7QWpFZ25QTjtBaUU5bVBJO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7QWpFZ25QTjtBaUU5bVBRO0VBQ0U7QWpFZ25QVjtBaUU3bVBNO0VBQ0U7RUFDQTtFQUNBO0FqRSttUFI7QWlFem1QSTtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBakUybVBOO0FpRTFtUE07RUFDRTtFQUNBO0VBQ0E7S0FBQTtBakU0bVBSOztBaUV0bVBBO0VBQ0U7QWpFeW1QRjs7QWtFbnRQRTtFQUNFO0FsRXN0UEo7QWtFcnRQSTtFdEQ2Q0Y7RUFDQTtFQUNBO0VBQUE7RUFBQTtFQUNBO0FaMnFQRjtBWTFxUEU7RUFDRTtFQUNBO0FaNHFQSjtBWTlxUEU7RUFDRTtFQUNBO0FaNHFQSjs7QVNqck9JO0UwRC9pQkE7SUFFSTtJQUNBO0lBQ0E7RW5FbXVQTjtBQUNGOztBb0V6dVBJO0VBQ0U7RUFDQTtFQUNBO0FwRTR1UE47QW9FM3VQTTtFQUNFO0VBQ0E7QXBFNnVQUjtBb0UxdVBFO0VBQ0k7QXBFNHVQTjs7QUFscVBBO0VBQ0U7RUFDQTtFQUNBO0VBQ0E7RUFDQTtBQXFxUEY7O0FBbHFQQTtFQUNFO0FBcXFQRixDIiwiZmlsZSI6ImNzcy9nbG9iYWwuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1haW4gLSBHbG9iYWxcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIERlcGVuZGVuY2llc1xuICovXG5AaW1wb3J0ICd+YmFndWV0dGVib3guanMvc3JjL2JhZ3VldHRlQm94JztcbkBpbXBvcnQgJ35pbmNsdWRlLW1lZGlhL2Rpc3QvX2luY2x1ZGUtbWVkaWEnO1xuQGltcG9ydCAnfm5vcm1hbGl6ZS5zY3NzL25vcm1hbGl6ZS5zY3NzJztcbkBpbXBvcnQgJ35yZWZsZXgtZ3JpZC9zY3NzL3JlZmxleC5zY3NzJztcbi8vIEBpbXBvcnQgJ35jaG9pY2VzLmpzL3B1YmxpYy9hc3NldHMvc3R5bGVzL2Nob2ljZXMubWluLmNzcyc7XG5cbi8qKlxuICogQ29uZmlnXG4gKi9cbkBpbXBvcnQgJ2NvbmZpZy9mb250cyc7XG5AaW1wb3J0ICdjb25maWcvdmFycyc7XG5cbi8qKlxuICogSGVscGVyc1xuICovXG5AaW1wb3J0ICdoZWxwZXJzL2ZvY3VzLXZpc2libGUnO1xuQGltcG9ydCAnaGVscGVycy9mb250LXNtb290aGluZyc7XG5AaW1wb3J0ICdoZWxwZXJzL21peGlucyc7XG5AaW1wb3J0ICdoZWxwZXJzL3RhYmxlJztcblxuLyoqXG4gKiBCYXNlXG4gKi9cbkBpbXBvcnQgJ2Jhc2UvZGVmYXVsdHMnO1xuQGltcG9ydCAnYmFzZS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Jhc2UvZHJ1cGFsOCc7XG5AaW1wb3J0ICdiYXNlL21haW4nO1xuXG4vKipcbiogQXRvbXNcbiovXG5AaW1wb3J0ICdhdG9tcy9ncmlkJztcbkBpbXBvcnQgJ2F0b21zL25hdi10b2dnbGUnO1xuQGltcG9ydCAnYXRvbXMvYnV0dG9ucyc7XG5AaW1wb3J0ICdhdG9tcy9pbWFnZS1jcmVkaXQnO1xuQGltcG9ydCAnYXRvbXMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnYXRvbXMvY2lyY3VsYXItbGlua3MnO1xuXG4vKipcbiAqIE1vbGVjdWxlc1xuICovXG5AaW1wb3J0ICdtb2xlY3VsZXMvZW1tc2cnO1xuQGltcG9ydCAnbW9sZWN1bGVzL2VudGl0eSc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvZm9ybXMnO1xuQGltcG9ydCAnbW9sZWN1bGVzL25hdic7XG5AaW1wb3J0ICdtb2xlY3VsZXMvYmFubmVyJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9saW5rZWQtbG9nb3MnO1xuQGltcG9ydCAnbW9sZWN1bGVzL3NvY2lhbC1saW5rcyc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvb2JqZWN0LWltYWdlJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9hcnR3b3Jrcyc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvc2lnbnBvc3QtZ3JpZCc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvZGV0YWlscy1ncmlkJztcbkBpbXBvcnQgJ21vbGVjdWxlcy9sYXJnZS1zaWducG9zdCc7XG5AaW1wb3J0ICdtb2xlY3VsZXMvbWVkaWEtZW50aXR5JztcbkBpbXBvcnQgJ21vbGVjdWxlcy9yZWFjdHZpZXcnO1xuQGltcG9ydCAnbW9sZWN1bGVzL21lbnUtb3ZlcmxheSc7XG5cbi8qKlxuICogT3JnYW5pc2ltc1xuICovXG5AaW1wb3J0ICdvcmdhbmlzbXMvaGVhZGVyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9mb290ZXInO1xuQGltcG9ydCAnb3JnYW5pc21zL3ZpZXdzJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9zZWFyY2gtcmVzdWx0cyc7XG5AaW1wb3J0ICdvcmdhbmlzbXMvc2lkZWJhcic7XG5AaW1wb3J0ICdvcmdhbmlzbXMvdGVhc2VyJztcbkBpbXBvcnQgJ29yZ2FuaXNtcy9zaWdudXAnO1xuQGltcG9ydCAnb3JnYW5pc21zL2RlZmF1bHQnO1xuXG4vKipcbiAqIFRlbXBsYXRlc1xuICovXG5AaW1wb3J0IFwidGVtcGxhdGVzL3RlbXBsYXRlc1wiO1xuXG5cbi5zY3JvbGwtY29udGFpbmVyIHtcbiAgbWF4LWhlaWdodDogODAwcHg7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnIgMWZyIDFmcjtcbn1cblxuLnZpcnR1b3NvLWdyaWQtbGlzdCB7XG4gIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm1cbn0iLCIvKiFcbiAqIGJhZ3VldHRlQm94LmpzXG4gKiBAYXV0aG9yICBmZWltb3NpXG4gKiBAdmVyc2lvbiAlJUlOSkVDVF9WRVJTSU9OJSVcbiAqIEB1cmwgaHR0cHM6Ly9naXRodWIuY29tL2ZlaW1vc2kvYmFndWV0dGVCb3guanNcbiAqL1xuXG4jYmFndWV0dGVCb3gtb3ZlcmxheSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxMDAwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMjI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLDAsMCwuOCk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAuNXMgZWFzZTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmZ1bGwtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGZpZ3VyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7ICAgICAgLy8gbmVlZGVkIGZvciBtb2JpbGVcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTsgICAvLyBPcGVyYSAxMiBpbWFnZSBzdHJldGNoaW5nIGZpeFxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIC8vIElFOCBmaXhcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuXG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLDAsMCwuNik7XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS44O1xuICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgICAgICAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwwLDAsLjYpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gICAgICAgIH1cblxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0Oi0xcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNiYWd1ZXR0ZUJveC1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IC40cyBlYXNlLCB0cmFuc2Zvcm0gLjRzIGVhc2U7XG5cbiAgICAmLmJvdW5jZS1mcm9tLXJpZ2h0IHtcbiAgICAgICAgYW5pbWF0aW9uOiBib3VuY2VGcm9tUmlnaHQgLjRzIGVhc2Utb3V0O1xuICAgIH1cblxuICAgICYuYm91bmNlLWZyb20tbGVmdCB7XG4gICAgICAgIGFuaW1hdGlvbjogYm91bmNlRnJvbUxlZnQgLjRzIGVhc2Utb3V0O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBib3VuY2VGcm9tUmlnaHR7XG4gICAgMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxuICAgIDUwJSB7IG1hcmdpbi1sZWZ0OiAtMzBweDsgfVxuICAgIDEwMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG5Aa2V5ZnJhbWVzIGJvdW5jZUZyb21MZWZ0e1xuICAgIDAlIHsgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICA1MCUgeyBtYXJnaW4tbGVmdDogMzBweDsgfVxuICAgIDEwMCUgeyBtYXJnaW4tbGVmdDogMDsgfVxufVxuXG4lYXJyb3ctYnV0dG9uIHtcbiAgICB0b3A6IDUwJTtcbiAgICB0b3A6IGNhbGMoNTAlIC0gMzBweCk7XG4gICAgd2lkdGg6IDQ0cHg7XG4gICAgaGVpZ2h0OiA2MHB4O1xufVxuXG4uYmFndWV0dGVCb3gtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE1JTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzIzMjMyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsNTAsNTAsLjUpO1xuICAgIGNvbG9yOiAjZGRkO1xuICAgIGZvbnQ6IDEuNmVtIHNhbnMtc2VyaWY7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAuNHMgZWFzZTtcblxuICAgICY6Zm9jdXMsXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoNTAsNTAsNTAsLjkpO1xuICAgIH1cblxuICAgICYjbmV4dC1idXR0b24ge1xuICAgICAgICBAZXh0ZW5kICVhcnJvdy1idXR0b247XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICB9XG5cbiAgICAmI3ByZXZpb3VzLWJ1dHRvbiB7XG4gICAgICAgIEBleHRlbmQgJWFycm93LWJ1dHRvbjtcbiAgICAgICAgbGVmdDogMiU7XG4gICAgfVxuXG4gICAgJiNjbG9zZS1idXR0b24ge1xuICAgICAgICB0b3A6IDIwcHg7XG4gICAgICAgIHJpZ2h0OiAyJTtcbiAgICAgICAgcmlnaHQ6IGNhbGMoMiUgKyA2cHgpO1xuICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgIH1cblxuICAgIC8vIEZpcmVmb3ggZml4XG4gICAgc3ZnIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4vKlxuICAgIFByZWxvYWRlclxuICAgIEJvcnJvd2VkIGZyb20gaHR0cDovL3RvYmlhc2FobGluLmNvbS9zcGlua2l0L1xuKi9cblxuLmJhZ3VldHRlQm94LXNwaW5uZXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMjBweDtcbiAgICBtYXJnaW4tbGVmdDogLTIwcHg7XG59XG5cbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMSxcbi5iYWd1ZXR0ZUJveC1kb3VibGUtYm91bmNlMiB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG9wYWNpdHk6IC42O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBhbmltYXRpb246IGJvdW5jZSAycyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbn1cblxuLmJhZ3VldHRlQm94LWRvdWJsZS1ib3VuY2UyIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0xcztcbn1cblxuQGtleWZyYW1lcyBib3VuY2Uge1xuICAgIDAlLCAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwKTtcbiAgICB9IDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgfVxufVxuIiwiLyohIG5vcm1hbGl6ZS5zY3NzIHYwLjEuMCB8IE1JVCBMaWNlbnNlIHwgYmFzZWQgb24gZ2l0LmlvL25vcm1hbGl6ZSAqL1xuXG4vKipcbiAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gKiAyLiBQcmV2ZW50IGlPUyB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZSwgd2l0aG91dCBkaXNhYmxpbmdcbiAqICAgIHVzZXIgem9vbS5cbiAqL1xuXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgbWFyZ2luLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgZGV0YWlsc2Agb3IgYHN1bW1hcnlgIGluIElFIDEwLzExXG4gKiBhbmQgRmlyZWZveC5cbiAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gKi9cblxuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG59XG5cbi8qKlxuICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gKi9cblxuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAqL1xuXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cblxuLyogTGlua3NcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIEltcHJvdmUgcmVhZGFiaWxpdHkgd2hlbiBmb2N1c2VkIGFuZCBhbHNvIG1vdXNlIGhvdmVyZWQgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmE6YWN0aXZlLFxuYTpob3ZlciB7XG4gIG91dGxpbmU6IDA7XG59XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG59XG5cbi8qKlxuICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLyoqXG4gKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKi9cblxuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAqIGNvbnRleHRzIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAqL1xuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gKi9cblxubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwO1xufVxuXG4vKipcbiAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG59XG5cbi8qKlxuICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtO1xufVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW1nIHtcbiAgYm9yZGVyOiAwO1xufVxuXG4vKipcbiAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICovXG5cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAqL1xuXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4O1xufVxuXG4vKipcbiAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAqL1xuXG5ociB7XG4gIC1tb3otYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7XG59XG5cbi8qKlxuICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxucHJlIHtcbiAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi8qKlxuICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTtcbn1cblxuLyogRm9ybXNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgY29sb3Igbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAqIDMuIEFkZHJlc3MgbWFyZ2lucyBzZXQgZGlmZmVyZW50bHkgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgbWFyZ2luOiAwOyAvKiAzICovXG59XG5cbi8qKlxuICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gKi9cblxuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi8qKlxuICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAqL1xuXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbmlucHV0W3R5cGU9XCJyZXNldFwiXSxcbmlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICBjdXJzb3I6IHBvaW50ZXI7IC8qIDMgKi9cbn1cblxuLyoqXG4gKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICovXG5cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgYm9yZGVyIGluIEZpcmVmb3ggNCsuXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuaW5wdXQ6Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICogdGhlIFVBIHN0eWxlc2hlZXQuXG4gKi9cblxuaW5wdXQge1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xufVxuXG4vKipcbiAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gKlxuICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gKi9cblxuaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gKi9cblxuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQWRkcmVzcyBgYXBwZWFyYW5jZWAgc2V0IHRvIGBzZWFyY2hmaWVsZGAgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lXG4gKiAgICAoaW5jbHVkZSBgLW1vemAgdG8gZnV0dXJlLXByb29mKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgLW1vei1ib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLXdlYmtpdC1ib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbn1cblxuLyoqXG4gKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAqL1xuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbn1cblxuLyoqXG4gKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gKi9cblxuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICovXG5cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICovXG5cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi8qIFRhYmxlc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gKi9cblxudGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICBib3JkZXItc3BhY2luZzogMDtcbn1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IHZhcmlhYmxlc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLy8gUHJlZml4XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBZb3UgY2FuIG9wdGlvbmFsbHkgbmFtZXNwYWNlIHJlZmxleCBjbGFzc2VzIHRvIGF2b2lkIGNsYXNoaW5nIHdpdGggb3RoZXIgY3NzIGZyYW1ld29ya3Ncbi8vIGUuZy4gc2V0dGluZyAkcmVmbGV4LXByZWZpeCBhcyBcInJlZmxleC1cIiBoZXJlIHdvdWxkIGNhdXNlIGNvbC1zbS02IHRvIGJlY29tZSByZWZsZXgtY29sLXNtLTZcbi8vIEV4YW1wbGU6ICRyZWZsZXgtcHJlZml4OiByZWZsZXgtO1xuLy8gQnkgZGVmYXVsdCB0aGlzIGlzIGFuIGVtcHR5IHN0cmluZ1xuJHJlZmxleC1wcmVmaXg6IG51bGwgIWRlZmF1bHQ7XG5cblxuLy8gTGVnYWN5IHN1cHBvcnRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlZmxleCBhZGRzIGEgbG90IG9mIGNzcyBwcm9wZXJ0aWUgdG8gc3VwcG9ydCBvbGRlciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgZmxleGJveCBsYXlvdXQuXG4vLyBJZiB5b3UgcHJlZmVyIHRvIHVzZSB0aGlzIGFzIGEgcHVyZWx5IGZsZXhib3ggZ3JpZCB3aXRob3V0IGxlZ2FjeSBzdXBwb3J0IHRoZW4gc2V0IHRoaXMgdG8gZmFsc2VcbiRsZWdhY3ktc3VwcG9ydDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IGhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIFJlZmxleCBoYXMgc29tZSBnZW5lcmljIHZpc2liaWxpdHkgY2xhc3NlcyB0byBoaWRlIGVsZW1lbnRzIGF0IGRpZmZlcmVudCBicmVha3BvaW50cy5cbi8vIElmIHlvdSB3YW50IHRvIGRpc2FibGUgdGhlc2UgdGhlbiBzZXQgdGhpcyB0byBmYWxzZVxuJHZpc2liaWxpdHktaGVscGVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gR3JpZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuJHJlZmxleC1jb2x1bW5zOiAxMiAhZGVmYXVsdDsgLy8gbnVtYmVyIG9mIGNvbHVtbnNcblxuLy8gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgteHM6IDU3NnB4ICFkZWZhdWx0O1xuJHJlZmxleC1zbTogNzY4cHggIWRlZmF1bHQ7XG4kcmVmbGV4LW1kOiA5OTJweCAhZGVmYXVsdDtcbiRyZWZsZXgtbGc6IDEyMDBweCAhZGVmYXVsdDtcbiRyZWZsZXgteGxnOiAxNjAwcHggIWRlZmF1bHQ7XG5cbiRyZWZsZXgteHhzLW1heDogKCRyZWZsZXgteHMgLSAxKTtcbiRyZWZsZXgteHMtbWF4OiAoJHJlZmxleC1zbSAtIDEpO1xuJHJlZmxleC1zbS1tYXg6ICgkcmVmbGV4LW1kIC0gMSk7XG4kcmVmbGV4LW1kLW1heDogKCRyZWZsZXgtbGcgLSAxKTtcbiRyZWZsZXgtbGctbWF4OiAoJHJlZmxleC14bGcgLSAxKTtcblxuJHJlZmxleC1icmVha3BvaW50czogKFxuICB4eHM6IDBweCxcbiAgeHM6ICRyZWZsZXgteHMsXG4gIHNtOiAkcmVmbGV4LXNtLFxuICBtZDogJHJlZmxleC1tZCxcbiAgbGc6ICRyZWZsZXgtbGcsXG4gIHhsZzogJHJlZmxleC14bGdcbik7XG5cbi8vIFNwYWNpbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiRyZWZsZXgtZ3JpZC1zcGFjaW5nOiAxNXB4ICFkZWZhdWx0O1xuXG4vLyBDdXN0b20gcHJvcGVydGllcyBzbyBvdGhlcnMgY2FuIHJlZmVyZW5jZSB0aGUgdmFyaWFibGVzLlxuOnJvb3Qge1xuICAtLXJlZmxleC1jb2x1bW5zOiAjeyAkcmVmbGV4LWNvbHVtbnMgfTtcbiAgLS1yZWZsZXgtZ3JpZC1zcGFjaW5nOiAjeyAkcmVmbGV4LWdyaWQtc3BhY2luZyB9O1xuICAtLXJlZmxleC14czogI3sgJHJlZmxleC14cyB9O1xuICAtLXJlZmxleC1zbTogI3sgJHJlZmxleC1zbSB9O1xuICAtLXJlZmxleC1tZDogI3sgJHJlZmxleC1tZCB9O1xuICAtLXJlZmxleC1sZzogI3sgJHJlZmxleC1sZyB9O1xuICAtLXJlZmxleC14bGc6ICN7ICRyZWZsZXgteGxnIH07XG4gIC0tcmVmbGV4LXh4cy1tYXg6ICN7ICRyZWZsZXgteHhzLW1heCB9O1xuICAtLXJlZmxleC14cy1tYXg6ICN7ICRyZWZsZXgteHMtbWF4IH07XG4gIC0tcmVmbGV4LXNtLW1heDogI3sgJHJlZmxleC1zbS1tYXggfTtcbiAgLS1yZWZsZXgtbWQtbWF4OiAjeyAkcmVmbGV4LW1kLW1heCB9O1xuICAtLXJlZmxleC1sZy1tYXg6ICN7ICRyZWZsZXgtbGctbWF4IH07XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGNvbnRhaW5lcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWNvbnRhaW5lcixcbi4jeyRyZWZsZXgtcHJlZml4fWNvbnRhaW5lci1mdWxsIHtcbiAgICBAaW5jbHVkZSBib3gtc2l6aW5nKGJvcmRlci1ib3gpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBwYWRkaW5nLXJpZ2h0OiAoJHJlZmxleC1ncmlkLXNwYWNpbmcgKiAyKTtcbiAgICBwYWRkaW5nLWxlZnQ6ICgkcmVmbGV4LWdyaWQtc3BhY2luZyAqIDIpO1xuXG4gICAgLiN7JHJlZmxleC1wcmVmaXh9Z3JpZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgICAgICBtYXJnaW4tbGVmdDogLSRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29udGFpbmVyIHtcbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgteHM7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtc20pIHtcbiAgICAgICAgbWF4LXdpZHRoOiAkcmVmbGV4LXNtO1xuICAgIH1cblxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC1tZDtcbiAgICB9XG5cbiAgICBAbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgICAgICBtYXgtd2lkdGg6ICRyZWZsZXgtbGc7XG4gICAgfVxuXG4gICAgQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteGxnKSB7XG4gICAgICAgIG1heC13aWR0aDogJHJlZmxleC14bGc7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWRcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWdyaWQge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgQGluY2x1ZGUgZGlzcGxheS1mbGV4KCk7XG4gICAgQGluY2x1ZGUgZmxleC13cmFwKCk7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgQGluY2x1ZGUgc2V0dXAtd2hpdGVzcGFjZSgpO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIH1cblxuICAgIC8vIGhhbmRsZSB3aGVuIGxpc3RzIGFyZSB1c2VkIGFzIGEgZ3JpZFxuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBjb2wgZGVmYXVsdHNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbltjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgIEBpbmNsdWRlIGJveC1zaXppbmcoYm9yZGVyLWJveCk7XG4gICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIHBhZGRpbmc6ICRyZWZsZXgtZ3JpZC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYm94LXNpemluZyhib3JkZXItYm94KTtcbiAgICAgICAgQGluY2x1ZGUgcmVzZXQtd2hpdGVzcGFjZSgpO1xuICAgIH1cblxuICAgIC8vIGhhbmRsZSBncmlkcyBuZXN0ZWQgaW4gY29sdW1uc1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWdyaWQge1xuICAgICAgICBAaW5jbHVkZSBmbGV4KDEsIDEsIGF1dG8pO1xuICAgICAgICBtYXJnaW46IC0kcmVmbGV4LWdyaWQtc3BhY2luZztcbiAgICB9XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICpkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHpvb206IDE7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWQgZ2VuZXJhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtKTtcblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC14cy0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIG1ha2UtcmVmbGV4LWdyaWQoY29sLXNtLSk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LW1kKSB7XG4gICAgQGluY2x1ZGUgbWFrZS1yZWZsZXgtZ3JpZChjb2wtbWQtKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC1sZy0pO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBtYWtlLXJlZmxleC1ncmlkKGNvbC14bGctKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBjb2wtYXV0b1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWF1dG8ge1xuICAgIEBpbmNsdWRlIHNldHVwLWF1dG8tY29scygpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC14cy1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1zbS1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1tZC1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIC4jeyRyZWZsZXgtcHJlZml4fWNvbC1sZy1hdXRvIHtcbiAgICAgICAgQGluY2x1ZGUgc2V0dXAtYXV0by1jb2xzKCk7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICAuI3skcmVmbGV4LXByZWZpeH1jb2wteGxnLWF1dG8ge1xuICAgICAgICBAaW5jbHVkZSBzZXR1cC1hdXRvLWNvbHMoKTtcbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggb3JkZXIgaGVscGVycyBnZW5lcmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AaW5jbHVkZSBtYWtlLW9yZGVyLWhlbHBlcnMoKTtcblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgteHMpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLXhzJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXNtKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vcmRlci1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucywgJy1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICctbWQnKTtcbn1cblxuQG1lZGlhIChtaW4td2lkdGg6ICRyZWZsZXgtbGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zLCAnLWxnJyk7XG59XG5cbkBtZWRpYSAobWluLXdpZHRoOiAkcmVmbGV4LXhsZykge1xuICAgIEBpbmNsdWRlIGxvb3Atb3JkZXItaGVscGVycygkcmVmbGV4LWNvbHVtbnMsICcteGxnJyk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyByZWZsZXggb2Zmc2V0IGhlbHBlcnMgZ2VuZXJhdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgbWFrZS1vZmZzZXQtaGVscGVycygpO1xuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14cykge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy14cycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1zbSkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1zbScpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1tZCkge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1tZCcpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC1sZykge1xuICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zIC0gMSwgJy1sZycpO1xufVxuXG5AbWVkaWEgKG1pbi13aWR0aDogJHJlZmxleC14bGcpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCRyZWZsZXgtY29sdW1ucyAtIDEsICcteGxnJyk7XG59XG4iLCIvLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gcmVmbGV4IGdyaWQgZ2VuZXJhdGlvbiBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBtYWtlLXJlZmxleC1ncmlkKCRjbGFzcykge1xuICAgIEBpbmNsdWRlIGxvb3AtcmVmbGV4LWNvbHVtbnMoJHJlZmxleC1jb2x1bW5zLCAkY2xhc3MsIHdpZHRoKTtcbn1cblxuQG1peGluIGNhbGMtcmVmbGV4LWNvbHVtbnMoJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gICAgQGlmICR0eXBlID09IHdpZHRoIGFuZCAkaW5kZXggPiAwIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9I3skY2xhc3N9I3skaW5kZXh9IHtcbiAgICAgICAgICAgIHdpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkcmVmbGV4LWNvbHVtbnMpKTtcbiAgICAgICAgICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICAgICAgICAgKndpZHRoOiBwZXJjZW50YWdlKCgkaW5kZXggLyAkcmVmbGV4LWNvbHVtbnMpKSAtIC4xOyAvLyBpZTcgY3NzIGhhY2tcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuQG1peGluIGxvb3AtcmVmbGV4LWNvbHVtbnMoJGluZGV4LCAkY2xhc3MsICR0eXBlKSB7XG4gICAgQGlmICRpbmRleCA+PSAwIHtcbiAgICAgICAgQGluY2x1ZGUgY2FsYy1yZWZsZXgtY29sdW1ucygkaW5kZXgsICRjbGFzcywgJHR5cGUpO1xuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLXJlZmxleC1jb2x1bW5zKCgkaW5kZXggLSAxKSwgJGNsYXNzLCAkdHlwZSk7XG4gICAgfVxufVxuXG4vLyBkZWZhdWx0cyBmb3IgYXV0byBjb2xzXG5AbWl4aW4gc2V0dXAtYXV0by1jb2xzKCkge1xuICAgIEBpbmNsdWRlIGZsZXgoMSwgMCwgMHB4KTsgLy8gYSB1bml0IG9uIGxhc3QgdmFsdWUgaXMgcmVxdWlyZWQgYnkgSUUxMC0xMVxuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gaW5saW5lLWJsb2NrIHNwZWNpZmljIG1peGluc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHNldHVwLXdoaXRlc3BhY2UoKSB7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0uMzFlbTtcbiAgICAgICAgKmxldHRlci1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdvcmQtc3BhY2luZzogLS40M2VtO1xuICAgIH1cbn1cblxuQG1peGluIHJlc2V0LXdoaXRlc3BhY2UoKSB7XG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IG5vcm1hbDtcbiAgICAgICAgd29yZC1zcGFjaW5nOiBub3JtYWw7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gICAgfVxufVxuXG5AbWl4aW4gcmVzZXQtdGV4dC1hbGlnbigpIHtcbiAgICAvL1xuICAgIC8vIFdlIHdhbnQgdG8gcmVzZXQgYW55IHRleHQtYWxpZ24gcHJvcGVydGllcyBzZXQgYnkgdGhlIGdyaWRcbiAgICAvLyAocmVxdWlyZWQgZm9yIHRoZSBpbmxpbmUtYmxvY2sgZmFsbGJhY2spXG4gICAgLy8gYnV0IHdlIGRvbid0IHdhbnQgdG8gb3ZlcnJpZGUgYW55IHRleHQtYWxpZ24gcHJvcGVydGllc1xuICAgIC8vIHNldCBvbiB0aGUgaW5kaXZpZHVhbCBjb2wteCBlbGVtZW50XG4gICAgLy8gb3Igb24gYW55IG9mIGl0J3MgY2hpbGQgZWxlbWVudHNcbiAgICAvL1xuICAgIC8vIDEpIHNldCB0byBsZWZ0IGJ5IGRlZmF1bHQgKHdvcmtzIGV2ZXJ5d2hlcmUpXG4gICAgLy8gMikgc2V0IHRvIHN0YXJ0IChyZXNwZWN0cyByaWdodCB0byBsZWZ0IHRleHQpXG4gICAgLy9cbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtYWxpZ246IHN0YXJ0O1xuICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBsZWZ0O1xuICAgIC1tb3otdGV4dC1hbGlnbi1sYXN0OiBzdGFydDtcbiAgICB0ZXh0LWFsaWduLWxhc3Q6IGxlZnQ7XG4gICAgdGV4dC1hbGlnbi1sYXN0OiBzdGFydDtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIG9yZGVyIGNsYXNzIGdlbmVyYXRpb24gbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG5AbWl4aW4gb3JkZXIoJG9yZGVyOiAwKSB7XG4gICAgLW1zLWZsZXgtb3JkZXI6ICRvcmRlcjtcbiAgICAtd2Via2l0LW9yZGVyOiAkb3JkZXI7XG4gICAgb3JkZXI6ICRvcmRlcjtcbn1cblxuQG1peGluIG1ha2Utb3JkZXItaGVscGVycygpIHtcbiAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoJHJlZmxleC1jb2x1bW5zKTtcbn1cblxuQG1peGluIGxvb3Atb3JkZXItaGVscGVycygkaW5kZXgsICRicmVha3BvaW50OiBudWxsKSB7XG4gICAgQGlmICRpbmRleCA+PSAwIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9b3JkZXIjeyRicmVha3BvaW50fS0jeyRpbmRleH0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgb3JkZXIoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLW9yZGVyLWhlbHBlcnMoKCRpbmRleCAtIDEpLCAkYnJlYWtwb2ludCk7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gb2Zmc2V0IGNsYXNzIGdlbmVyYXRpb24gbWl4aW5zXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuQG1peGluIG9mZnNldCgkaW5kZXg6IDApIHtcbiAgICAkb2Zmc2V0OiAoJGluZGV4IC8gJHJlZmxleC1jb2x1bW5zKTtcbiAgICAvLyBjb252ZXJ0IHRvIHBlcmNlbnRhZ2Ugb25seSBpZiBub3QgemVyb1xuICAgIEBpZiAkb2Zmc2V0ICE9IDAge1xuICAgICAgICAkb2Zmc2V0OiBwZXJjZW50YWdlKCRvZmZzZXQpO1xuICAgIH1cbiAgICBtYXJnaW4tbGVmdDogJG9mZnNldDtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAqbWFyZ2luLWxlZnQ6IHBlcmNlbnRhZ2UoKCRpbmRleCAvICRyZWZsZXgtY29sdW1ucykpIC0gLjE7IC8vIGllNyBjc3MgaGFja1xuICAgIH1cbn1cblxuQG1peGluIG1ha2Utb2Zmc2V0LWhlbHBlcnMoKSB7XG4gICAgQGluY2x1ZGUgbG9vcC1vZmZzZXQtaGVscGVycygkcmVmbGV4LWNvbHVtbnMgLSAxKTtcbn1cblxuQG1peGluIGxvb3Atb2Zmc2V0LWhlbHBlcnMoJGluZGV4LCAkYnJlYWtwb2ludDogbnVsbCkge1xuICAgIEBpZiAkaW5kZXggPiAwIGFuZCAkYnJlYWtwb2ludCA9PSBudWxsIHtcbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9b2Zmc2V0I3skYnJlYWtwb2ludH0tI3skaW5kZXh9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG9mZnNldCgkaW5kZXgpO1xuICAgICAgICB9XG4gICAgICAgIC8vIG5leHQgaXRlcmF0aW9uXG4gICAgICAgIEBpbmNsdWRlIGxvb3Atb2Zmc2V0LWhlbHBlcnMoKCRpbmRleCAtIDEpLCAkYnJlYWtwb2ludCk7XG4gICAgfSBAZWxzZSBpZiAkaW5kZXggPj0gMCBhbmQgJGJyZWFrcG9pbnQgIT0gbnVsbCB7XG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fW9mZnNldCN7JGJyZWFrcG9pbnR9LSN7JGluZGV4fSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBvZmZzZXQoJGluZGV4KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBuZXh0IGl0ZXJhdGlvblxuICAgICAgICBAaW5jbHVkZSBsb29wLW9mZnNldC1oZWxwZXJzKCgkaW5kZXggLSAxKSwgJGJyZWFrcG9pbnQpO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIHJlZmxleCBtb2RpZmllciBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vXG4vLyBkaXNwbGF5XG4vLyAtLS1cblxuQG1peGluIGRpc3BsYXktZmxleCgpIHtcbiAgICBkaXNwbGF5OiAtbXMtZmxleGJveDtcbiAgICBkaXNwbGF5OiAtd2Via2l0LWZsZXg7XG4gICAgZGlzcGxheTogZmxleDtcbn1cblxuLy9cbi8vIGZsZXhcbi8vIC0tLVxuXG5AbWl4aW4gZmxleCgkZ3JvdzogMCwgJHNocmluazogMSwgJGJhc2lzOiBhdXRvKSB7XG4gICAgQGlmICRiYXNpcyA9PSAwIHtcbiAgICAgICAgLW1zLWZsZXg6ICRncm93ICRzaHJpbmsgYXV0bzsgLy9pZTEwIG5lZWRzIGF1dG9cbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXg6ICRncm93ICRzaHJpbmsgJGJhc2lzO1xuICAgIH1cblxuICAgIC13ZWJraXQtZmxleDogJGdyb3cgJHNocmluayAkYmFzaXM7XG4gICAgZmxleDogJGdyb3cgJHNocmluayAkYmFzaXM7XG59XG5cbkBtaXhpbiBmbGV4LWdyb3coJGdyb3c6MSkge1xuICAgIC1tcy1mbGV4LXBvc2l0aXZlOiAkZ3JvdztcbiAgICAtd2Via2l0LWZsZXgtZ3JvdzogJGdyb3c7XG4gICAgZmxleC1ncm93OiAkZ3Jvdztcbn1cblxuQG1peGluIGZsZXgtc2hyaW5rKCRzaHJpbms6MSkge1xuICAgIC1tcy1mbGV4LW5lZ2F0aXZlOiAkc2hyaW5rO1xuICAgIC13ZWJraXQtZmxleC1zaHJpbms6ICRzaHJpbms7XG4gICAgZmxleC1zaHJpbms6ICRzaHJpbms7XG59XG5cbkBtaXhpbiBmbGV4LWJhc2lzKCRiYXNpczphdXRvKSB7XG4gICAgLW1zLWZsZXgtcHJlZmVycmVkLXNpemU6ICRiYXNpcztcbiAgICAtd2Via2l0LWZsZXgtYmFzaXM6ICRiYXNpcztcbiAgICBmbGV4LWJhc2lzOiAkYmFzaXM7XG59XG5cbkBtaXhpbiBmbGV4LWZsb3coJGRpcmVjdGlvbjogcm93LCAkd3JhcDogbm93cmFwKSB7XG4gICAgLW1zLWZsZXgtd3JhcDogJHdyYXA7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIC13ZWJraXQtZmxleC1mbG93OiAkZGlyZWN0aW9uICR3cmFwO1xuICAgIGZsZXgtZmxvdzogJGRpcmVjdGlvbiAkd3JhcDtcbn1cblxuQG1peGluIGZsZXgtd3JhcCgkd3JhcDogd3JhcCkge1xuICAgIC1tcy1mbGV4LXdyYXA6ICR3cmFwO1xuICAgIC13ZWJraXQtZmxleC13cmFwOiAkd3JhcDtcbiAgICBmbGV4LXdyYXA6ICR3cmFwO1xufVxuXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gICAgLW1zLWZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xuICAgIC13ZWJraXQtZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG4gICAgZmxleC1kaXJlY3Rpb246ICRkaXJlY3Rpb247XG59XG5cbi8vXG4vLyBhbGlnblxuLy8gLS0tXG5cbkBtaXhpbiBhbGlnbi1pdGVtcygkYWxpZ246IHN0cmV0Y2gpIHtcbiAgICBAaW5jbHVkZSBtcy1hbGlnbi1pdGVtcygkYWxpZ24pO1xuICAgIC13ZWJraXQtYWxpZ24taXRlbXM6ICRhbGlnbjtcbiAgICBhbGlnbi1pdGVtczogJGFsaWduO1xufVxuXG5AbWl4aW4gYWxpZ24tc2VsZigkYWxpZ246IHN0cmV0Y2gpIHtcbiAgICBAaW5jbHVkZSBtcy1hbGlnbi1zZWxmKCRhbGlnbik7XG4gICAgLXdlYmtpdC1hbGlnbi1zZWxmOiAkYWxpZ247XG4gICAgYWxpZ24tc2VsZjogJGFsaWduO1xufVxuXG5AbWl4aW4gYWxpZ24tY29udGVudCgkYWxpZ246IHN0cmV0Y2gpIHtcbiAgICBAaW5jbHVkZSBtcy1hbGlnbi1jb250ZW50KCRhbGlnbik7XG4gICAgLXdlYmtpdC1hbGlnbi1jb250ZW50OiAkYWxpZ247XG4gICAgYWxpZ24tY29udGVudDogJGFsaWduO1xufVxuXG4vL1xuLy8gaWUxMCBzeW50YXggZm9yIGFsaWduXG4vLyAtLS1cblxuQG1peGluIG1zLWFsaWduLWl0ZW1zKCRhbGlnbikge1xuICAgIEBpZiAkYWxpZ24gPT0gJ2ZsZXgtc3RhcnQnIHtcbiAgICAgICAgLW1zLWZsZXgtYWxpZ246IHN0YXJ0O1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdmbGV4LWVuZCcge1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogZW5kO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtbXMtZmxleC1hbGlnbjogJGFsaWduO1xuICAgIH1cbn1cblxuQG1peGluIG1zLWFsaWduLXNlbGYoJGFsaWduKSB7XG4gICAgQGlmICRhbGlnbiA9PSAnZmxleC1zdGFydCcge1xuICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiBzdGFydDtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnZmxleC1lbmQnIHtcbiAgICAgICAgLW1zLWZsZXgtaXRlbS1hbGlnbjogZW5kO1xuICAgIH0gQGVsc2Uge1xuICAgICAgICAtbXMtZmxleC1pdGVtLWFsaWduOiAkYWxpZ247XG4gICAgfVxufVxuXG5AbWl4aW4gbXMtYWxpZ24tY29udGVudCgkYWxpZ24pIHtcbiAgICBAaWYgJGFsaWduID09ICdmbGV4LXN0YXJ0JyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogc3RhcnQ7XG4gICAgfSBAZWxzZSBpZiAkYWxpZ24gPT0gJ2ZsZXgtZW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZW5kO1xuICAgIH0gQGVsc2UgaWYgJGFsaWduID09ICdzcGFjZS1iZXR3ZWVuJyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazoganVzdGlmeTtcbiAgICB9IEBlbHNlIGlmICRhbGlnbiA9PSAnc3BhY2UtYXJvdW5kJyB7XG4gICAgICAgIC1tcy1mbGV4LWxpbmUtcGFjazogZGlzdHJpYnV0ZTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICAgLW1zLWZsZXgtbGluZS1wYWNrOiAkYWxpZ247XG4gICAgfVxufVxuXG4vL1xuLy8ganVzdGlmeS1jb250ZW50XG4vL1xuLy8gVXNlcyBcInRleHQtYWxpZ25cIiBmb3IgdGhlIGZhbGxiYWNrIGlubGluZS1ibG9jayBncmlkXG4vLyBcInRleHQtYWxpZ25cIiBpcyBnbG9iYWxseSBzdXBwb3J0ZWQgYW5kIHdvcmtzIG9uIGFsbCByb3dzIGV4Y2VwdCB0aGUgbGFzdFxuLy8gXCJ0ZXh0LWFsaWduLWxhc3RcIiwgd2hlcmUgc3VwcG9ydGVkLCBoYW5kbGVzIHRoZSBsYXN0IGxpbmUgKGFuZCwgaGFwcGlseSwgZ3JpZHMgd2l0aCBvbmx5IG9uZSByb3cpXG4vLyAtLS1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1zdGFydCgpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBzdGFydDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtZW5kKCkge1xuICAgIC1tcy1mbGV4LXBhY2s6IGVuZDtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1jZW50ZXIoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogY2VudGVyO1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbkBtaXhpbiBqdXN0aWZ5LWNvbnRlbnQtc3BhY2UtYmV0d2VlbigpIHtcbiAgICAtbXMtZmxleC1wYWNrOiBqdXN0aWZ5O1xuICAgIC13ZWJraXQtanVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2Vlbjtcbn1cblxuQG1peGluIGp1c3RpZnktY29udGVudC1zcGFjZS1hcm91bmQoKSB7XG4gICAgLW1zLWZsZXgtcGFjazogZGlzdHJpYnV0ZTtcbiAgICAtd2Via2l0LWp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVzcG9uc2libGUgVmlzaWJpbGl0eVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQG1peGluIHJlc3BvbnNpdmUtdmlzaWJpbGl0eS1oZWxwZXJzKCkge1xuICAgIEBpZiAkdmlzaWJpbGl0eS1oZWxwZXJzID09IHRydWUge1xuICAgICAgICAvLyBXZSBuZWVkIHRvIGhhbmRsZSB4eHMgYW5kIHhsZyBicmVha3BvaW50cyBkaWZmZXJlbnRseVxuICAgICAgICAkbWFwLXJlZmxleC1icmVha3BvaW50czogbWFwLXJlbW92ZSgkcmVmbGV4LWJyZWFrcG9pbnRzLCB4eHMsIHhsZyk7XG5cbiAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9aGlkZGVuLXh4cyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LW9ubHkoJ3h4cycpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGVhY2ggJGJwIGluIG1hcC1rZXlzKCRtYXAtcmVmbGV4LWJyZWFrcG9pbnRzKSB7XG4gICAgICAgICAgICAuI3skcmVmbGV4LXByZWZpeH1oaWRkZW4tI3skYnB9LXVwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LXVwKCRicCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgXG5cbiAgICAgICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi0jeyRicH0tZG93biB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1kb3duKCRicCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLiN7JHJlZmxleC1wcmVmaXh9aGlkZGVuLSN7JGJwfSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCRicCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyRyZWZsZXgtcHJlZml4fWhpZGRlbi14bGcge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEtYnJlYWtwb2ludC1vbmx5KCd4bGcnKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQnJlYWtwb2ludCB2aWV3cG9ydCBzaXplcyBhbmQgbWVkaWEgcXVlcmllcy5cbi8vXG4vLyBCcmVha3BvaW50cyBhcmUgZGVmaW5lZCBhcyBhIG1hcCBvZiAobmFtZTogbWluaW11bSB3aWR0aCksIG9yZGVyIGZyb20gc21hbGwgdG8gbGFyZ2U6XG4vLyAoeHM6IDU3NnB4LCBzbTogNzY4cHgsIG1kOiA5OTJweClcbi8vIFRoZSBtYXAgZGVmaW5lZCBpbiB0aGUgYCRyZWZsZXgtYnJlYWtwb2ludHNgIGdsb2JhbCB2YXJpYWJsZSBpcyB1c2VkIGFzIHRoZSBgJGJyZWFrcG9pbnRzYCBhcmd1bWVudCBieSBkZWZhdWx0LlxuLy8gTmFtZSBvZiB0aGUgbmV4dCBicmVha3BvaW50LCBvciBudWxsIGZvciB0aGUgbGFzdCBicmVha3BvaW50LlxuLy8gPj4gYnJlYWtwb2ludC1uZXh0KHNtKSAtPiBtZFxuLy8gPj4gYnJlYWtwb2ludC1uZXh0KHNtLCAkYnJlYWtwb2ludHM6ICh4czogNTc2cHgsIHNtOiA3NjhweCwgbWQ6IDk5MnB4KSkgLT4gbWRcbi8vID4+IGJyZWFrcG9pbnQtbmV4dChzbSwgJGJyZWFrcG9pbnQtbmFtZXM6ICh4cyBzbSBtZCkpIC0+IG1kXG5AZnVuY3Rpb24gYnJlYWtwb2ludC1uZXh0KCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMsICRicmVha3BvaW50LW5hbWVzOiBtYXAta2V5cygkYnJlYWtwb2ludHMpKSB7XG4gICAgJG46IGluZGV4KCRicmVha3BvaW50LW5hbWVzLCAkbmFtZSk7XG4gICAgQHJldHVybiBpZigkbiA8IGxlbmd0aCgkYnJlYWtwb2ludC1uYW1lcyksIG50aCgkYnJlYWtwb2ludC1uYW1lcywgJG4gKyAxKSwgbnVsbCk7XG59XG5cbi8vIE1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIHNtYWxsZXN0IChmaXJzdCkgYnJlYWtwb2ludC5cbi8vID4+IGJyZWFrcG9pbnQtbWluKHNtLCAoeHM6IDU3NnB4LCBzbTogNzY4cHgsIG1kOiA5OTJweCkpIC0+IDc2OHB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1taW4oJG5hbWUsICRicmVha3BvaW50czogJHJlZmxleC1icmVha3BvaW50cykge1xuICAgICRtaW46IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkbmFtZSk7XG4gICAgQHJldHVybiBpZigkbWluICE9MCwgJG1pbiwgbnVsbCk7XG59XG5cbi8vIE1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTnVsbCBmb3IgdGhlIGxhcmdlc3QgKGxhc3QpIGJyZWFrcG9pbnQuXG4vLyBUaGUgbWF4aW11bSB2YWx1ZSBpcyBjYWxjdWxhdGVkIGFzIHRoZSBtaW5pbXVtIG9mIHRoZSBuZXh0IG9uZSBsZXNzIDAuMS5cbi8vID4+IGJyZWFrcG9pbnQtbWF4KHNtLCAoeHM6IDU3NnB4LCBzbTogNzY4cHgsIG1kOiA5OTJweCkpIC0+IDk5MXB4XG5AZnVuY3Rpb24gYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50czogJHJlZmxleC1icmVha3BvaW50cykge1xuICAgICRuZXh0OiBicmVha3BvaW50LW5leHQoJG5hbWUsICRicmVha3BvaW50cyk7XG4gICAgQHJldHVybiBpZigkbmV4dCwgYnJlYWtwb2ludC1taW4oJG5leHQsICRicmVha3BvaW50cykgLSAxLCBudWxsKTtcbn1cblxuLy8gTWVkaWEgb2YgYXQgbGVhc3QgdGhlIG1pbmltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBzbWFsbGVzdCBicmVha3BvaW50LlxuLy8gTWFrZXMgdGhlIEBjb250ZW50IGFwcGx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50IGFuZCB3aWRlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LXVwKCRuYW1lLCAkYnJlYWtwb2ludHM6ICRyZWZsZXgtYnJlYWtwb2ludHMpIHtcbiAgICAkbWluOiBicmVha3BvaW50LW1pbigkbmFtZSwgJGJyZWFrcG9pbnRzKTtcblxuICAgIEBpZiAkbWluIHtcbiAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6ICRtaW4pIHtcbiAgICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGVsc2Uge1xuICAgICAgICBAY29udGVudDtcbiAgICB9XG59XG5cbi8vIE1lZGlhIG9mIGF0IG1vc3QgdGhlIG1heGltdW0gYnJlYWtwb2ludCB3aWR0aC4gTm8gcXVlcnkgZm9yIHRoZSBsYXJnZXN0IGJyZWFrcG9pbnQuXG4vLyBNYWtlcyB0aGUgQGNvbnRlbnQgYXBwbHkgdG8gdGhlIGdpdmVuIGJyZWFrcG9pbnQgYW5kIG5hcnJvd2VyLlxuQG1peGluIG1lZGlhLWJyZWFrcG9pbnQtZG93bigkbmFtZSwgJGJyZWFrcG9pbnRzOiAkcmVmbGV4LWJyZWFrcG9pbnRzKSB7XG4gICAgJG1heDogYnJlYWtwb2ludC1tYXgoJG5hbWUsICRicmVha3BvaW50cyk7XG5cbiAgICBAaWYgJG1heCB7XG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiAkbWF4KSB7XG4gICAgICAgICAgICBAY29udGVudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBlbHNlIHtcbiAgICAgICAgQGNvbnRlbnQ7XG4gICAgfVxufVxuXG4vLyBNZWRpYSBiZXR3ZWVuIHRoZSBicmVha3BvaW50J3MgbWluaW11bSBhbmQgbWF4aW11bSB3aWR0aHMuXG4vLyBObyBtaW5pbXVtIGZvciB0aGUgc21hbGxlc3QgYnJlYWtwb2ludCwgYW5kIG5vIG1heGltdW0gZm9yIHRoZSBsYXJnZXN0IG9uZS5cbi8vIE1ha2VzIHRoZSBAY29udGVudCBhcHBseSBvbmx5IHRvIHRoZSBnaXZlbiBicmVha3BvaW50LCBub3Qgdmlld3BvcnRzIGFueSB3aWRlciBvciBuYXJyb3dlci5cbkBtaXhpbiBtZWRpYS1icmVha3BvaW50LW9ubHkoJG5hbWUsICRicmVha3BvaW50czogJHJlZmxleC1icmVha3BvaW50cykge1xuICAgIEBpbmNsdWRlIG1lZGlhLWJyZWFrcG9pbnQtdXAoJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1icmVha3BvaW50LWRvd24oJG5hbWUsICRicmVha3BvaW50cykge1xuICAgICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBvdGhlciBtaXhpbnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbkBtaXhpbiBib3gtc2l6aW5nKCRib3htb2RlbCkge1xuICAgIC13ZWJraXQtYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgIC1tb3otYm94LXNpemluZzogJGJveG1vZGVsO1xuICAgIGJveC1zaXppbmc6ICRib3htb2RlbDtcbn1cbiIsIlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGdyaWQgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gZmxleC13cmFwXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH13cmFwIHtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fW5vLXdyYXAge1xuICAgIEBpbmNsdWRlIGZsZXgtd3JhcChub3dyYXApO1xuXG4gICAgLy8gVGhpcyBpcyBtb3N0bHkgbmVlZGVkIHRvIHN0b3AgdGhlIGdyaWQgY29udGVudHMgb3ZlcmZsb3dpbmcgaW4gdGhlXG4gICAgLy8gaWUxMCBpbXBsZW1lbnRhdGlvbiBvZiBmbGV4Ym94IGJ1dCBpdCBjYW4ndCBodXJ0IGluIG90aGVyIGJyb3dzZXJzXG4gICAgLy8gYXMgaXQgaXMgdGhlIGRlc2lyZWQgYmVoYXZpb3VyIG9mIG5vbiB3cmFwcGluZyBmbGV4IGl0ZW1zXG4gICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtc2hyaW5rKDEpO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9d3JhcC1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LXdyYXAod3JhcC1yZXZlcnNlKTtcbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGZsZXgtZGlyZWN0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4uI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tcm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihyb3cpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tcm93LXJldmVyc2Uge1xuICAgIEBpbmNsdWRlIGZsZXgtZGlyZWN0aW9uKHJvdy1yZXZlcnNlKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLWNvbHVtbiB7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZGlyZWN0aW9uLWNvbHVtbi1yZXZlcnNlIHtcbiAgICBAaW5jbHVkZSBmbGV4LWRpcmVjdGlvbihjb2x1bW4tcmV2ZXJzZSk7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBhbGlnbiBpdGVtcyAoY3Jvc3MgYXhpcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LXN0YXJ0KTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tZW5kIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1pdGVtcyhmbGV4LWVuZCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAvLyBmYWxsYmFjayB0byBsZWdhY3kgdmVydGljYWwtYWxpZ25cbiAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jZW50ZXIge1xuICAgIEBpbmNsdWRlIGFsaWduLWl0ZW1zKGNlbnRlcik7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAvLyBmYWxsYmFjayB0byBsZWdhY3kgdmVydGljYWwtYWxpZ25cbiAgICAgICAgW2NsYXNzKj1cIiN7JHJlZmxleC1wcmVmaXh9Y29sLVwiXSB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1iYXNlbGluZSB7XG4gICAgQGluY2x1ZGUgYWxpZ24taXRlbXMoYmFzZWxpbmUpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWxpZ24gY29udGVudCAoY3Jvc3MgYXhpcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtc3RhcnQge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoZmxleC1zdGFydCk7XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWFsaWduLWNvbnRlbnQtZW5kIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KGZsZXgtZW5kKTtcblxuICAgIC8vIGZhbGxiYWNrIHRvIGxlZ2FjeSB2ZXJ0aWNhbC1hbGlnblxuICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1jZW50ZXIge1xuICAgIEBpbmNsdWRlIGFsaWduLWNvbnRlbnQoY2VudGVyKTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tY29udGVudC1zcGFjZS1iZXR3ZWVuIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1jb250ZW50KHNwYWNlLWJldHdlZW4pO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1jb250ZW50LXNwYWNlLWFyb3VuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tY29udGVudChzcGFjZS1hcm91bmQpO1xufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gYWxpZ24tc2VsZlxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKHN0cmV0Y2gpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLXN0YXJ0IHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGZsZXgtc3RhcnQpO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLWVuZCB7XG4gICAgQGluY2x1ZGUgYWxpZ24tc2VsZihmbGV4LWVuZCk7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTtcbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9YWxpZ24tc2VsZi1jZW50ZXIge1xuICAgIEBpbmNsdWRlIGFsaWduLXNlbGYoY2VudGVyKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xufVxuXG4uI3skcmVmbGV4LXByZWZpeH1hbGlnbi1zZWxmLWJhc2VsaW5lIHtcbiAgICBAaW5jbHVkZSBhbGlnbi1zZWxmKGJhc2VsaW5lKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBqdXN0aWZ5LWNvbnRlbnQgKG1haW4gYXhpcylcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktc3RhcnQge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1zdGFydCgpO1xuXG4gICAgQGlmICRsZWdhY3ktc3VwcG9ydCA9PSB0cnVlIHtcbiAgICAgICAgJi5ncmlkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktZW5kIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtZW5kKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAtbW96LXRleHQtYWxpZ24tbGFzdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IHJpZ2h0O1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktY2VudGVyIHtcbiAgICBAaW5jbHVkZSBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyKCk7XG5cbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAmLmdyaWQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ24tbGFzdDogY2VudGVyO1xuXG4gICAgICAgICAgICBbY2xhc3MqPVwiI3skcmVmbGV4LXByZWZpeH1jb2wtXCJdIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSByZXNldC10ZXh0LWFsaWduKCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi4jeyRyZWZsZXgtcHJlZml4fWp1c3RpZnktc3BhY2UtYmV0d2VlbiB7XG4gICAgQGluY2x1ZGUganVzdGlmeS1jb250ZW50LXNwYWNlLWJldHdlZW4oKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG5cbiAgICAgICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXRleHQtYWxpZ24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLiN7JHJlZmxleC1wcmVmaXh9anVzdGlmeS1zcGFjZS1hcm91bmQge1xuICAgIEBpbmNsdWRlIGp1c3RpZnktY29udGVudC1zcGFjZS1hcm91bmQoKTtcblxuICAgIEBpZiAkbGVnYWN5LXN1cHBvcnQgPT0gdHJ1ZSB7XG4gICAgICAgICYuZ3JpZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuICAgICAgICAgICAgLW1vei10ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduLWxhc3Q6IGp1c3RpZnk7XG5cbiAgICAgICAgICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIHJlc2V0LXRleHQtYWxpZ24oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNvc21ldGljIGdyaWQgbW9kaWZpZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4vLyBSZW1vdmVzIGludGVybmFsIHBhZGRpbmcgZnJvbSBhbGwgY29sdW1ucyBpbiBhIGdyaWRcbi4jeyRyZWZsZXgtcHJlZml4fWdyaWQtYmxlZWQge1xuICAgIFtjbGFzcyo9XCIjeyRyZWZsZXgtcHJlZml4fWNvbC1cIl0ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cbn1cblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbi8vIGNvbCBtb2RpZmllcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbi8vIE1ha2VzIGEgY29sdW1uIGVsZW1lbnQgaW50byBhIGZsZXhib3ggY29sdW1uXG4uI3skcmVmbGV4LXByZWZpeH1jb2wtZ3JpZCB7XG4gICAgQGluY2x1ZGUgZGlzcGxheS1mbGV4KCk7XG4gICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24oY29sdW1uKTtcblxuICAgICYuI3skcmVmbGV4LXByZWZpeH1kaXJlY3Rpb24tcm93IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1kaXJlY3Rpb24ocm93KTtcbiAgICB9XG59XG5cbi8vIFJlbW92ZXMgaW50ZXJuYWwgcGFkZGluZyBmcm9tIGFsbCBjb2x1bW5zIGluIGEgZ3JpZFxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWJsZWVkIHtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4vLyBSZW1vdmVzIGhvcml6b250YWwgcGFkZGluZyBmcm9tIGFsbCBjb2x1bW5zIGluIGEgZ3JpZFxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWJsZWVkLXgge1xuICAgIHBhZGRpbmc6ICRyZWZsZXgtZ3JpZC1zcGFjaW5nIDA7XG59XG5cbi8vIFJlbW92ZXMgdmVydGljYWwgcGFkZGluZyBmcm9tIGFsbCBjb2x1bW5zIGluIGEgZ3JpZFxuLiN7JHJlZmxleC1wcmVmaXh9Y29sLWJsZWVkLXkge1xuICAgIHBhZGRpbmc6IDAgJHJlZmxleC1ncmlkLXNwYWNpbmc7XG59XG5cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBjb2wtZ3JpZCBjb250ZW50c1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuLiN7JHJlZmxleC1wcmVmaXh9ZmxleC1pbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIEBpbmNsdWRlIGZsZXgoMCwgMCwgYXV0byk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBAaWYgJGxlZ2FjeS1zdXBwb3J0ID09IHRydWUge1xuICAgICAgICAqd2lkdGg6IGF1dG87XG4gICAgfVxufVxuXG4uI3skcmVmbGV4LXByZWZpeH1mbGV4LWZvb3RlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXRvcDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy8gUmVzcG9uc2l2ZSB2aXNpYmlsaXR5IG1vZGlmaWVyc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuQGluY2x1ZGUgcmVzcG9uc2l2ZS12aXNpYmlsaXR5LWhlbHBlcnMoKTtcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBDb25maWcgLSBGb250c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQWRlbGxlO1xuICBzcmM6XG4gICAgICAgICAgdXJsKCcuLi9mb250L0FkZWxsZV9SZWcud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBBZGVsbGUgTGlnaHQ7XG4gIHNyYzpcbiAgICAgICAgICB1cmwoJy4uL2ZvbnQvQWRlbGxlX2xpZ2h0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG59XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogQWRlbGxlIExpZ2h0IEl0YWxpYztcbiAgc3JjOlxuICAgICAgICAgIHVybCgnLi4vZm9udC9BZGVsbGVfTGlnaHRJdGFsaWMud29mZjInKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiAzMDA7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcblxufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IEFkZWxsZSBTZW1pIEJvbGQ7XG4gIHNyYzpcbiAgICAgICAgICB1cmwoJy4uL2ZvbnQvQWRlbGxlX1NlbWlib2xkLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG5cbn1cblxuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBBZGVsbGUgQm9sZDtcbiAgc3JjOlxuICAgICAgICAgIHVybCgnLi4vZm9udC9BZGVsbGVfQm9sZC5vdGYnKSBmb3JtYXQoJ3dvZmYyJyk7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIENvbmZpZyAtIFZhcnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG46cm9vdCB7XG4gIC0tYy1wcmltYXJ5OiAjMjIyMjIyO1xuICAtLWMtc2Vjb25kYXJ5OiAjZmZiN2EzO1xuICAtLWMtd2hpdGU6ICNmZmZmZmY7XG4gIC0tYy1mb250LWNvbG9yOiAjMzMzMzMzO1xuICBcbiAgLS1mb250Qm9keTogQWRlbGxlIExpZ2h0LCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcbiAgLS1mb250UmVndWxhcjogQWRlbGxlLCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcbiAgLS1mb250Qm9sZDogQWRlbGxlIFNlbWkgQm9sZCwgJ09wZW4gU2FucycsICdIZWx2ZXRpY2EgTmV1ZScsIHNhbnMtc2VyaWY7XG4gIC0tZm9udEJvbGRlcjogQWRlbGxlIEJvbGQsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRJdGFsaWM6IEFkZWxsZSBMaWdodCBJdGFsaWMsICdPcGVuIFNhbnMnLCAnSGVsdmV0aWNhIE5ldWUnLCBzYW5zLXNlcmlmO1xuICAtLWZvbnRUaXRsZTogQWRlbGxlLCAnT3BlbiBTYW5zJywgJ0hlbHZldGljYSBOZXVlJywgc2Fucy1zZXJpZjtcbiAgLS1mb250U2l6ZTogMTEyLjUlO1xuICAtLWZvbnRTbWFsbDogNzAlO1xuICAtLWxpbmVIZWlnaHQ6IDEuNTtcbiAgLS1idW1wOiAxcmVtO1xuXG4gIC0tY29udGFpbmVyV2lkdGg6IDEwMHJlbTtcblxuICAvLyBMYXlvdXRcbiAgLS1jb250YWluZXJXaWR0aDogMTQxNHB4O1xuXG4gIC8vIEFuaW1hdGlvbnNcbiAgLS1lYXNpbmc6IGN1YmljLWJlemllcigwLjgzLCAwLCAwLjE3LCAxKTtcbiAgLS10cmFuc2l0aW9uOiAwLjNzIHZhcigtLWVhc2luZyk7XG59XG5cbi8qKlxuICogQnJlYWtwb2ludHNcbiAqL1xuJGJyZWFrcG9pbnRzOiAoXG4gIHhzOiA1NzZweCxcbiAgc206IDc2OHB4LFxuICBtZDogOTkycHgsXG4gIGxnOiAxMjAwcHgsXG4gIHhsZzogMTYwMHB4LFxuKTtcblxuLmZ1bGwtYmxlZWQge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xuICBib3gtc2hhZG93OiAwIDAgMCAxMDB2bWF4ICNGNUY1RjU7XG4gIGNsaXAtcGF0aDogaW5zZXQoMCAtMTAwdm1heCk7XG4gIHBhZGRpbmctdG9wOiA2NXB4O1xuICBwYWRkaW5nLWJvdHRvbTogNjVweDtcbiAgJi0td2hpdGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICB9XG59IiwiQGNoYXJzZXQgXCJVVEYtOFwiO1xuXG4vLyAgICAgXyAgICAgICAgICAgIF8gICAgICAgICAgIF8gICAgICAgICAgICAgICAgICAgICAgICAgICBfIF9cbi8vICAgIChfKSAgICAgICAgICB8IHwgICAgICAgICB8IHwgICAgICAgICAgICAgICAgICAgICAgICAgfCAoXylcbi8vICAgICBfIF8gX18gICBfX198IHxfICAgXyAgX198IHwgX19fICAgXyBfXyBfX18gICBfX18gIF9ffCB8XyAgX18gX1xuLy8gICAgfCB8ICdfIFxcIC8gX198IHwgfCB8IHwvIF9gIHwvIF8gXFwgfCAnXyBgIF8gXFwgLyBfIFxcLyBfYCB8IHwvIF9gIHxcbi8vICAgIHwgfCB8IHwgfCAoX198IHwgfF98IHwgKF98IHwgIF9fLyB8IHwgfCB8IHwgfCAgX18vIChffCB8IHwgKF98IHxcbi8vICAgIHxffF98IHxffFxcX19ffF98XFxfXyxffFxcX18sX3xcXF9fX3wgfF98IHxffCB8X3xcXF9fX3xcXF9fLF98X3xcXF9fLF98XG4vL1xuLy8gICAgICBTaW1wbGUsIGVsZWdhbnQgYW5kIG1haW50YWluYWJsZSBtZWRpYSBxdWVyaWVzIGluIFNhc3Ncbi8vICAgICAgICAgICAgICAgICAgICAgICAgdjEuNC45XG4vL1xuLy8gICAgICAgICAgICAgICAgaHR0cDovL2luY2x1ZGUtbWVkaWEuY29tXG4vL1xuLy8gICAgICAgICBBdXRob3JzOiBFZHVhcmRvIEJvdWNhcyAoQGVkdWFyZG9ib3VjYXMpXG4vLyAgICAgICAgICAgICAgICAgIEh1Z28gR2lyYXVkZWwgKEBodWdvZ2lyYXVkZWwpXG4vL1xuLy8gICAgICBUaGlzIHByb2plY3QgaXMgbGljZW5zZWQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBNSVQgbGljZW5zZVxuXG5cbi8vLy9cbi8vLyBpbmNsdWRlLW1lZGlhIGxpYnJhcnkgcHVibGljIGNvbmZpZ3VyYXRpb25cbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBnbG9iYWwgYnJlYWtwb2ludHNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIGJyZWFrcG9pbnQgd2l0aCB0aGUgbGFiZWwgYHBob25lYFxuLy8vICAkYnJlYWtwb2ludHM6ICgncGhvbmUnOiAzMjBweCk7XG4vLy9cbiRicmVha3BvaW50czogKFxuICAncGhvbmUnOiAzMjBweCxcbiAgJ3RhYmxldCc6IDc2OHB4LFxuICAnZGVza3RvcCc6IDEwMjRweFxuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBDcmVhdGVzIGEgbGlzdCBvZiBzdGF0aWMgZXhwcmVzc2lvbnMgb3IgbWVkaWEgdHlwZXNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc2luZ2xlIG1lZGlhIHR5cGUgKHNjcmVlbilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbic6ICdzY3JlZW4nKTtcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBDcmVhdGVzIGEgc3RhdGljIGV4cHJlc3Npb24gd2l0aCBsb2dpY2FsIGRpc2p1bmN0aW9uIChPUiBvcGVyYXRvcilcbi8vLyAgJG1lZGlhLWV4cHJlc3Npb25zOiAoXG4vLy8gICAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknXG4vLy8gICk7XG4vLy9cbiRtZWRpYS1leHByZXNzaW9uczogKFxuICAnc2NyZWVuJzogJ3NjcmVlbicsXG4gICdwcmludCc6ICdwcmludCcsXG4gICdoYW5kaGVsZCc6ICdoYW5kaGVsZCcsXG4gICdsYW5kc2NhcGUnOiAnKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpJyxcbiAgJ3BvcnRyYWl0JzogJyhvcmllbnRhdGlvbjogcG9ydHJhaXQpJyxcbiAgJ3JldGluYTJ4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSksIChtaW4tcmVzb2x1dGlvbjogMmRwcHgpJyxcbiAgJ3JldGluYTN4JzogJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDMpLCAobWluLXJlc29sdXRpb246IDM1MGRwaSksIChtaW4tcmVzb2x1dGlvbjogM2RwcHgpJ1xuKSAhZGVmYXVsdDtcblxuXG4vLy9cbi8vLyBEZWZpbmVzIGEgbnVtYmVyIHRvIGJlIGFkZGVkIG9yIHN1YnRyYWN0ZWQgZnJvbSBlYWNoIHVuaXQgd2hlbiBkZWNsYXJpbmcgYnJlYWtwb2ludHMgd2l0aCBleGNsdXNpdmUgaW50ZXJ2YWxzXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHBpeGVscyBpcyBkZWZpbmVkIGFzIGAxYCBieSBkZWZhdWx0XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+MTI4cHgnKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDEyOXB4KSB7fVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEludGVydmFsIGZvciBlbXMgaXMgZGVmaW5lZCBhcyBgMC4wMWAgYnkgZGVmYXVsdFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIwZW0nKSB7fVxuLy8vXG4vLy8gIC8qIEdlbmVyYXRlczogKi9cbi8vLyAgQG1lZGlhIChtaW4td2lkdGg6IDIwLjAxZW0pIHt9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gSW50ZXJ2YWwgZm9yIHJlbXMgaXMgZGVmaW5lZCBhcyBgMC4xYCBieSBkZWZhdWx0LCB0byBiZSB1c2VkIHdpdGggYGZvbnQtc2l6ZTogNjIuNSU7YFxuLy8vICBAaW5jbHVkZSBtZWRpYSgnPjIuMHJlbScpIHt9XG4vLy9cbi8vLyAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICBAbWVkaWEgKG1pbi13aWR0aDogMi4xcmVtKSB7fVxuLy8vXG4kdW5pdC1pbnRlcnZhbHM6IChcbiAgJ3B4JzogMSxcbiAgJ2VtJzogMC4wMSxcbiAgJ3JlbSc6IDAuMSxcbiAgJyc6IDBcbikgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIERlZmluZXMgd2hldGhlciBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzIGlzIGF2YWlsYWJsZSwgdXNlZnVsIGZvciBjcmVhdGluZyBzZXBhcmF0ZSBzdHlsZXNoZWV0c1xuLy8vIGZvciBicm93c2VycyB0aGF0IGRvbid0IHN1cHBvcnQgbWVkaWEgcXVlcmllcy5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBEaXNhYmxlcyBzdXBwb3J0IGZvciBtZWRpYSBxdWVyaWVzXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuJGltLW1lZGlhLXN1cHBvcnQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggYnJlYWtwb2ludCB0byBlbXVsYXRlIHdoZW4gc3VwcG9ydCBmb3IgbWVkaWEgcXVlcmllcyBpcyBkaXNhYmxlZC4gTWVkaWEgcXVlcmllcyB0aGF0IHN0YXJ0IGF0IG9yXG4vLy8gaW50ZXJjZXB0IHRoZSBicmVha3BvaW50IHdpbGwgYmUgZGlzcGxheWVkLCBhbnkgb3RoZXJzIHdpbGwgYmUgaWdub3JlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50XG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBHZW5lcmF0ZXM6ICovXG4vLy8gIC5mb28ge1xuLy8vICAgIGNvbG9yOiB0b21hdG87XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgTk9UIHNob3cgYmVjYXVzZSBpdCBkb2VzIG5vdCBpbnRlcmNlcHQgdGhlIGRlc2t0b3AgYnJlYWtwb2ludFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAndGFibGV0Jztcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49ZGVza3RvcCcpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbi8vLyAgLyogTm8gb3V0cHV0ICovXG4vLy9cbiRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCcgIWRlZmF1bHQ7XG5cbi8vL1xuLy8vIFNlbGVjdHMgd2hpY2ggbWVkaWEgZXhwcmVzc2lvbnMgYXJlIGFsbG93ZWQgaW4gYW4gZXhwcmVzc2lvbiBmb3IgaXQgdG8gYmUgdXNlZCB3aGVuIG1lZGlhIHF1ZXJpZXNcbi8vLyBhcmUgbm90IHN1cHBvcnRlZC5cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBUaGlzIG1lZGlhIHF1ZXJ5IHdpbGwgc2hvdyBiZWNhdXNlIGl0IGludGVyY2VwdHMgdGhlIHN0YXRpYyBicmVha3BvaW50IGFuZCBjb250YWlucyBvbmx5IGFjY2VwdGVkIG1lZGlhIGV4cHJlc3Npb25zXG4vLy8gICRpbS1tZWRpYS1zdXBwb3J0OiBmYWxzZTtcbi8vLyAgJGltLW5vLW1lZGlhLWJyZWFrcG9pbnQ6ICdkZXNrdG9wJztcbi8vLyAgJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicpO1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj10YWJsZXQnLCAnc2NyZWVuJykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAgLyogR2VuZXJhdGVzOiAqL1xuLy8vICAgLmZvbyB7XG4vLy8gICAgIGNvbG9yOiB0b21hdG87XG4vLy8gICB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gVGhpcyBtZWRpYSBxdWVyeSB3aWxsIE5PVCBzaG93IGJlY2F1c2UgaXQgaW50ZXJjZXB0cyB0aGUgc3RhdGljIGJyZWFrcG9pbnQgYnV0IGNvbnRhaW5zIGEgbWVkaWEgZXhwcmVzc2lvbiB0aGF0IGlzIG5vdCBhY2NlcHRlZFxuLy8vICAkaW0tbWVkaWEtc3VwcG9ydDogZmFsc2U7XG4vLy8gICRpbS1uby1tZWRpYS1icmVha3BvaW50OiAnZGVza3RvcCc7XG4vLy8gICRpbS1uby1tZWRpYS1leHByZXNzaW9uczogKCdzY3JlZW4nKTtcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz49dGFibGV0JywgJ3JldGluYTJ4Jykge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgY29sb3I6IHRvbWF0bztcbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vICAvKiBObyBvdXRwdXQgKi9cbi8vL1xuJGltLW5vLW1lZGlhLWV4cHJlc3Npb25zOiAoJ3NjcmVlbicsICdwb3J0cmFpdCcsICdsYW5kc2NhcGUnKSAhZGVmYXVsdDtcblxuLy8vL1xuLy8vIENyb3NzLWVuZ2luZSBsb2dnaW5nIGVuZ2luZVxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIExvZyBhIG1lc3NhZ2UgZWl0aGVyIHdpdGggYEBlcnJvcmAgaWYgc3VwcG9ydGVkXG4vLy8gZWxzZSB3aXRoIGBAd2FybmAsIHVzaW5nIGBmZWF0dXJlLWV4aXN0cygnYXQtZXJyb3InKWBcbi8vLyB0byBkZXRlY3Qgc3VwcG9ydC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBmdW5jdGlvbiBpbS1sb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGZlYXR1cmUtZXhpc3RzKCdhdC1lcnJvcicpIHtcbiAgICBAZXJyb3IgJG1lc3NhZ2U7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICRtZXNzYWdlO1xuICAgICRfOiBub29wKCk7XG4gIH1cblxuICBAcmV0dXJuICRtZXNzYWdlO1xufVxuXG5cbi8vL1xuLy8vIFdyYXBwZXIgbWl4aW4gZm9yIHRoZSBsb2cgZnVuY3Rpb24gc28gaXQgY2FuIGJlIHVzZWQgd2l0aCBhIG1vcmUgZnJpZW5kbHlcbi8vLyBBUEkgdGhhbiBgQGlmIGltLWxvZygnLi4nKSB7fWAgb3IgYCRfOiBpbS1sb2coJy4uJylgLiBCYXNpY2FsbHksIHVzZSB0aGUgZnVuY3Rpb25cbi8vLyB3aXRoaW4gZnVuY3Rpb25zIGJlY2F1c2UgaXQgaXMgbm90IHBvc3NpYmxlIHRvIGluY2x1ZGUgYSBtaXhpbiBpbiBhIGZ1bmN0aW9uXG4vLy8gYW5kIHVzZSB0aGUgbWl4aW4gZXZlcnl3aGVyZSBlbHNlIGJlY2F1c2UgaXQncyBtdWNoIG1vcmUgZWxlZ2FudC5cbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbWVzc2FnZSAtIE1lc3NhZ2UgdG8gbG9nXG4vLy9cbkBtaXhpbiBsb2coJG1lc3NhZ2UpIHtcbiAgQGlmIGltLWxvZygkbWVzc2FnZSkge31cbn1cblxuXG4vLy9cbi8vLyBGdW5jdGlvbiB3aXRoIG5vIGBAcmV0dXJuYCBjYWxsZWQgbmV4dCB0byBgQHdhcm5gIGluIFNhc3MgMy4zXG4vLy8gdG8gdHJpZ2dlciBhIGNvbXBpbGluZyBlcnJvciBhbmQgc3RvcCB0aGUgcHJvY2Vzcy5cbi8vL1xuQGZ1bmN0aW9uIG5vb3AoKSB7fVxuXG4vLy9cbi8vLyBEZXRlcm1pbmVzIHdoZXRoZXIgYSBsaXN0IG9mIGNvbmRpdGlvbnMgaXMgaW50ZXJjZXB0ZWQgYnkgdGhlIHN0YXRpYyBicmVha3BvaW50LlxuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEByZXR1cm4ge0Jvb2xlYW59IC0gUmV0dXJucyB0cnVlIGlmIHRoZSBjb25kaXRpb25zIGFyZSBpbnRlcmNlcHRlZCBieSB0aGUgc3RhdGljIGJyZWFrcG9pbnRcbi8vL1xuQGZ1bmN0aW9uIGltLWludGVyY2VwdHMtc3RhdGljLWJyZWFrcG9pbnQoJGNvbmRpdGlvbnMuLi4pIHtcbiAgJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkaW0tbm8tbWVkaWEtYnJlYWtwb2ludCk7XG5cbiAgQGlmIG5vdCAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSB7XG4gICAgQGlmIGltLWxvZygnYCN7JGltLW5vLW1lZGlhLWJyZWFrcG9pbnR9YCBpcyBub3QgYSB2YWxpZCBicmVha3BvaW50LicpIHt9XG4gIH1cblxuICBAZWFjaCAkY29uZGl0aW9uIGluICRjb25kaXRpb25zIHtcbiAgICBAaWYgbm90IG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGNvbmRpdGlvbikge1xuICAgICAgJG9wZXJhdG9yOiBnZXQtZXhwcmVzc2lvbi1vcGVyYXRvcigkY29uZGl0aW9uKTtcbiAgICAgICRwcmVmaXg6IGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpO1xuICAgICAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkY29uZGl0aW9uLCAkb3BlcmF0b3IpO1xuXG4gICAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTcGFjZUFyb3VuZE9wZXJhdG9yXG4gICAgICBAaWYgKCRwcmVmaXggPT0gJ21heCcgYW5kICR2YWx1ZSA8PSAkbm8tbWVkaWEtYnJlYWtwb2ludC12YWx1ZSkgb3JcbiAgICAgICAgICAoJHByZWZpeCA9PSAnbWluJyBhbmQgJHZhbHVlID4gJG5vLW1lZGlhLWJyZWFrcG9pbnQtdmFsdWUpIHtcbiAgICAgICAgQHJldHVybiBmYWxzZTtcbiAgICAgIH1cbiAgICB9IEBlbHNlIGlmIG5vdCBpbmRleCgkaW0tbm8tbWVkaWEtZXhwcmVzc2lvbnMsICRjb25kaXRpb24pIHtcbiAgICAgIEByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiB0cnVlO1xufVxuXG4vLy8vXG4vLy8gUGFyc2luZyBlbmdpbmVcbi8vLyBAYXV0aG9yIEh1Z28gR2lyYXVkZWxcbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vLy9cblxuXG4vLy9cbi8vLyBHZXQgb3BlcmF0b3Igb2YgYW4gZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBleHRyYWN0IG9wZXJhdG9yIGZyb21cbi8vL1xuLy8vIEByZXR1cm4ge1N0cmluZ30gLSBBbnkgb2YgYD49YCwgYD5gLCBgPD1gLCBgPGAsIGDiiaVgLCBg4omkYFxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tb3BlcmF0b3IoJGV4cHJlc3Npb24pIHtcbiAgQGVhY2ggJG9wZXJhdG9yIGluICgnPj0nLCAnPicsICc8PScsICc8JywgJ+KJpScsICfiiaQnKSB7XG4gICAgQGlmIHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICAgICBAcmV0dXJuICRvcGVyYXRvcjtcbiAgICB9XG4gIH1cblxuICAvLyBJdCBpcyBub3QgcG9zc2libGUgdG8gaW5jbHVkZSBhIG1peGluIGluc2lkZSBhIGZ1bmN0aW9uLCBzbyB3ZSBoYXZlIHRvXG4gIC8vIHJlbHkgb24gdGhlIGBpbS1sb2coLi4pYCBmdW5jdGlvbiByYXRoZXIgdGhhbiB0aGUgYGxvZyguLilgIG1peGluLiBCZWNhdXNlXG4gIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAvLyBhIGR1bW15IHZhcmlhYmxlLCBzdWNoIGFzIGAkX2AuIElmIGFueWJvZHkgZXZlciByYWlzZSBhIHNjb3BpbmcgaXNzdWUgd2l0aFxuICAvLyBTYXNzIDMuMywgY2hhbmdlIHRoaXMgbGluZSBpbiBgQGlmIGltLWxvZyguLikge31gIGluc3RlYWQuXG4gICRfOiBpbS1sb2coJ05vIG9wZXJhdG9yIGZvdW5kIGluIGAjeyRleHByZXNzaW9ufWAuJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IGRpbWVuc2lvbiBvZiBhbiBleHByZXNzaW9uLCBiYXNlZCBvbiBhIGZvdW5kIG9wZXJhdG9yXG4vLy9cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGV4cHJlc3Npb24gLSBFeHByZXNzaW9uIHRvIGV4dHJhY3QgZGltZW5zaW9uIGZyb21cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG9wZXJhdG9yIC0gT3BlcmF0b3IgZnJvbSBgJGV4cHJlc3Npb25gXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYHdpZHRoYCBvciBgaGVpZ2h0YCAob3IgcG90ZW50aWFsbHkgYW55dGhpbmcgZWxzZSlcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLWRpbWVuc2lvbigkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKSB7XG4gICRvcGVyYXRvci1pbmRleDogc3RyLWluZGV4KCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcGFyc2VkLWRpbWVuc2lvbjogc3RyLXNsaWNlKCRleHByZXNzaW9uLCAwLCAkb3BlcmF0b3ItaW5kZXggLSAxKTtcbiAgJGRpbWVuc2lvbjogJ3dpZHRoJztcblxuICBAaWYgc3RyLWxlbmd0aCgkcGFyc2VkLWRpbWVuc2lvbikgPiAwIHtcbiAgICAkZGltZW5zaW9uOiAkcGFyc2VkLWRpbWVuc2lvbjtcbiAgfVxuXG4gIEByZXR1cm4gJGRpbWVuc2lvbjtcbn1cblxuXG4vLy9cbi8vLyBHZXQgZGltZW5zaW9uIHByZWZpeCBiYXNlZCBvbiBhbiBvcGVyYXRvclxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yXG4vLy9cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IC0gYG1pbmAgb3IgYG1heGBcbi8vL1xuQGZ1bmN0aW9uIGdldC1leHByZXNzaW9uLXByZWZpeCgkb3BlcmF0b3IpIHtcbiAgQHJldHVybiBpZihpbmRleCgoJzwnLCAnPD0nLCAn4omkJyksICRvcGVyYXRvciksICdtYXgnLCAnbWluJyk7XG59XG5cblxuLy8vXG4vLy8gR2V0IHZhbHVlIG9mIGFuIGV4cHJlc3Npb24sIGJhc2VkIG9uIGEgZm91bmQgb3BlcmF0b3Jcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nfSAkZXhwcmVzc2lvbiAtIEV4cHJlc3Npb24gdG8gZXh0cmFjdCB2YWx1ZSBmcm9tXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRvcGVyYXRvciAtIE9wZXJhdG9yIGZyb20gYCRleHByZXNzaW9uYFxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSAtIEEgbnVtZXJpYyB2YWx1ZVxuLy8vXG5AZnVuY3Rpb24gZ2V0LWV4cHJlc3Npb24tdmFsdWUoJGV4cHJlc3Npb24sICRvcGVyYXRvcikge1xuICAkb3BlcmF0b3ItaW5kZXg6IHN0ci1pbmRleCgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBzdHItc2xpY2UoJGV4cHJlc3Npb24sICRvcGVyYXRvci1pbmRleCArIHN0ci1sZW5ndGgoJG9wZXJhdG9yKSk7XG5cbiAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgJHZhbHVlOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJHZhbHVlKTtcbiAgfSBAZWxzZSB7XG4gICAgJHZhbHVlOiB0by1udW1iZXIoJHZhbHVlKTtcbiAgfVxuXG4gICRpbnRlcnZhbDogbWFwLWdldCgkdW5pdC1pbnRlcnZhbHMsIHVuaXQoJHZhbHVlKSk7XG5cbiAgQGlmIG5vdCAkaW50ZXJ2YWwge1xuICAgIC8vIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBpbmNsdWRlIGEgbWl4aW4gaW5zaWRlIGEgZnVuY3Rpb24sIHNvIHdlIGhhdmUgdG9cbiAgICAvLyByZWx5IG9uIHRoZSBgaW0tbG9nKC4uKWAgZnVuY3Rpb24gcmF0aGVyIHRoYW4gdGhlIGBsb2coLi4pYCBtaXhpbi4gQmVjYXVzZVxuICAgIC8vIGZ1bmN0aW9ucyBjYW5ub3QgYmUgY2FsbGVkIGFueXdoZXJlIGluIFNhc3MsIHdlIG5lZWQgdG8gaGFjayB0aGUgY2FsbCBpblxuICAgIC8vIGEgZHVtbXkgdmFyaWFibGUsIHN1Y2ggYXMgYCRfYC4gSWYgYW55Ym9keSBldmVyIHJhaXNlIGEgc2NvcGluZyBpc3N1ZSB3aXRoXG4gICAgLy8gU2FzcyAzLjMsIGNoYW5nZSB0aGlzIGxpbmUgaW4gYEBpZiBpbS1sb2coLi4pIHt9YCBpbnN0ZWFkLlxuICAgICRfOiBpbS1sb2coJ1Vua25vd24gdW5pdCBgI3t1bml0KCR2YWx1ZSl9YC4nKTtcbiAgfVxuXG4gIEBpZiAkb3BlcmF0b3IgPT0gJz4nIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSArICRpbnRlcnZhbDtcbiAgfSBAZWxzZSBpZiAkb3BlcmF0b3IgPT0gJzwnIHtcbiAgICAkdmFsdWU6ICR2YWx1ZSAtICRpbnRlcnZhbDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG5cbi8vL1xuLy8vIFBhcnNlIGFuIGV4cHJlc3Npb24gdG8gcmV0dXJuIGEgdmFsaWQgbWVkaWEtcXVlcnkgZXhwcmVzc2lvblxuLy8vXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRleHByZXNzaW9uIC0gRXhwcmVzc2lvbiB0byBwYXJzZVxuLy8vXG4vLy8gQHJldHVybiB7U3RyaW5nfSAtIFZhbGlkIG1lZGlhIHF1ZXJ5XG4vLy9cbkBmdW5jdGlvbiBwYXJzZS1leHByZXNzaW9uKCRleHByZXNzaW9uKSB7XG4gIC8vIElmIGl0IGlzIHBhcnQgb2YgJG1lZGlhLWV4cHJlc3Npb25zLCBpdCBoYXMgbm8gb3BlcmF0b3JcbiAgLy8gdGhlbiB0aGVyZSBpcyBubyBuZWVkIHRvIGdvIGFueSBmdXJ0aGVyLCBqdXN0IHJldHVybiB0aGUgdmFsdWVcbiAgQGlmIG1hcC1oYXMta2V5KCRtZWRpYS1leHByZXNzaW9ucywgJGV4cHJlc3Npb24pIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1lZGlhLWV4cHJlc3Npb25zLCAkZXhwcmVzc2lvbik7XG4gIH1cblxuICAkb3BlcmF0b3I6IGdldC1leHByZXNzaW9uLW9wZXJhdG9yKCRleHByZXNzaW9uKTtcbiAgJGRpbWVuc2lvbjogZ2V0LWV4cHJlc3Npb24tZGltZW5zaW9uKCRleHByZXNzaW9uLCAkb3BlcmF0b3IpO1xuICAkcHJlZml4OiBnZXQtZXhwcmVzc2lvbi1wcmVmaXgoJG9wZXJhdG9yKTtcbiAgJHZhbHVlOiBnZXQtZXhwcmVzc2lvbi12YWx1ZSgkZXhwcmVzc2lvbiwgJG9wZXJhdG9yKTtcblxuICBAcmV0dXJuICcoI3skcHJlZml4fS0jeyRkaW1lbnNpb259OiAjeyR2YWx1ZX0pJztcbn1cblxuLy8vXG4vLy8gU2xpY2UgYCRsaXN0YCBiZXR3ZWVuIGAkc3RhcnRgIGFuZCBgJGVuZGAgaW5kZXhlc1xuLy8vXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge0xpc3R9ICRsaXN0IC0gTGlzdCB0byBzbGljZVxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc3RhcnQgWzFdIC0gU3RhcnQgaW5kZXhcbi8vLyBAcGFyYW0ge051bWJlcn0gJGVuZCBbbGVuZ3RoKCRsaXN0KV0gLSBFbmQgaW5kZXhcbi8vL1xuLy8vIEByZXR1cm4ge0xpc3R9IFNsaWNlZCBsaXN0XG4vLy9cbkBmdW5jdGlvbiBzbGljZSgkbGlzdCwgJHN0YXJ0OiAxLCAkZW5kOiBsZW5ndGgoJGxpc3QpKSB7XG4gIEBpZiBsZW5ndGgoJGxpc3QpIDwgMSBvciAkc3RhcnQgPiAkZW5kIHtcbiAgICBAcmV0dXJuICgpO1xuICB9XG5cbiAgJHJlc3VsdDogKCk7XG5cbiAgQGZvciAkaSBmcm9tICRzdGFydCB0aHJvdWdoICRlbmQge1xuICAgICRyZXN1bHQ6IGFwcGVuZCgkcmVzdWx0LCBudGgoJGxpc3QsICRpKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZXN1bHQ7XG59XG5cbi8vLy9cbi8vLyBTdHJpbmcgdG8gbnVtYmVyIGNvbnZlcnRlclxuLy8vIEBhdXRob3IgSHVnbyBHaXJhdWRlbFxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vL1xuXG5cbi8vL1xuLy8vIENhc3RzIGEgc3RyaW5nIGludG8gYSBudW1iZXJcbi8vL1xuLy8vIEBwYXJhbSB7U3RyaW5nIHwgTnVtYmVyfSAkdmFsdWUgLSBWYWx1ZSB0byBiZSBwYXJzZWRcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn1cbi8vL1xuQGZ1bmN0aW9uIHRvLW51bWJlcigkdmFsdWUpIHtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkdmFsdWUpICE9ICdzdHJpbmcnIHtcbiAgICAkXzogaW0tbG9nKCdWYWx1ZSBmb3IgYHRvLW51bWJlcmAgc2hvdWxkIGJlIGEgbnVtYmVyIG9yIGEgc3RyaW5nLicpO1xuICB9XG5cbiAgJGZpcnN0LWNoYXJhY3Rlcjogc3RyLXNsaWNlKCR2YWx1ZSwgMSwgMSk7XG4gICRyZXN1bHQ6IDA7XG4gICRkaWdpdHM6IDA7XG4gICRtaW51czogKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKTtcbiAgJG51bWJlcnM6ICgnMCc6IDAsICcxJzogMSwgJzInOiAyLCAnMyc6IDMsICc0JzogNCwgJzUnOiA1LCAnNic6IDYsICc3JzogNywgJzgnOiA4LCAnOSc6IDkpO1xuXG4gIC8vIFJlbW92ZSArLy0gc2lnbiBpZiBwcmVzZW50IGF0IGZpcnN0IGNoYXJhY3RlclxuICBAaWYgKCRmaXJzdC1jaGFyYWN0ZXIgPT0gJysnIG9yICRmaXJzdC1jaGFyYWN0ZXIgPT0gJy0nKSB7XG4gICAgJHZhbHVlOiBzdHItc2xpY2UoJHZhbHVlLCAyKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggc3RyLWxlbmd0aCgkdmFsdWUpIHtcbiAgICAkY2hhcmFjdGVyOiBzdHItc2xpY2UoJHZhbHVlLCAkaSwgJGkpO1xuXG4gICAgQGlmIG5vdCAoaW5kZXgobWFwLWtleXMoJG51bWJlcnMpLCAkY2hhcmFjdGVyKSBvciAkY2hhcmFjdGVyID09ICcuJykge1xuICAgICAgQHJldHVybiB0by1sZW5ndGgoaWYoJG1pbnVzLCAtJHJlc3VsdCwgJHJlc3VsdCksIHN0ci1zbGljZSgkdmFsdWUsICRpKSlcbiAgICB9XG5cbiAgICBAaWYgJGNoYXJhY3RlciA9PSAnLicge1xuICAgICAgJGRpZ2l0czogMTtcbiAgICB9IEBlbHNlIGlmICRkaWdpdHMgPT0gMCB7XG4gICAgICAkcmVzdWx0OiAkcmVzdWx0ICogMTAgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgICRkaWdpdHM6ICRkaWdpdHMgKiAxMDtcbiAgICAgICRyZXN1bHQ6ICRyZXN1bHQgKyBtYXAtZ2V0KCRudW1iZXJzLCAkY2hhcmFjdGVyKSAvICRkaWdpdHM7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiBpZigkbWludXMsIC0kcmVzdWx0LCAkcmVzdWx0KTtcbn1cblxuXG4vLy9cbi8vLyBBZGQgYCR1bml0YCB0byBgJHZhbHVlYFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFZhbHVlIHRvIGFkZCB1bml0IHRvXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICR1bml0IC0gU3RyaW5nIHJlcHJlc2VudGF0aW9uIG9mIHRoZSB1bml0XG4vLy9cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IC0gYCR2YWx1ZWAgZXhwcmVzc2VkIGluIGAkdW5pdGBcbi8vL1xuQGZ1bmN0aW9uIHRvLWxlbmd0aCgkdmFsdWUsICR1bml0KSB7XG4gICR1bml0czogKCdweCc6IDFweCwgJ2NtJzogMWNtLCAnbW0nOiAxbW0sICclJzogMSUsICdjaCc6IDFjaCwgJ3BjJzogMXBjLCAnaW4nOiAxaW4sICdlbSc6IDFlbSwgJ3JlbSc6IDFyZW0sICdwdCc6IDFwdCwgJ2V4JzogMWV4LCAndncnOiAxdncsICd2aCc6IDF2aCwgJ3ZtaW4nOiAxdm1pbiwgJ3ZtYXgnOiAxdm1heCk7XG5cbiAgQGlmIG5vdCBpbmRleChtYXAta2V5cygkdW5pdHMpLCAkdW5pdCkge1xuICAgICRfOiBpbS1sb2coJ0ludmFsaWQgdW5pdCBgI3skdW5pdH1gLicpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWUgKiBtYXAtZ2V0KCR1bml0cywgJHVuaXQpO1xufVxuXG4vLy9cbi8vLyBUaGlzIG1peGluIGFpbXMgYXQgcmVkZWZpbmluZyB0aGUgY29uZmlndXJhdGlvbiBqdXN0IGZvciB0aGUgc2NvcGUgb2Zcbi8vLyB0aGUgY2FsbC4gSXQgaXMgaGVscGZ1bCB3aGVuIGhhdmluZyBhIGNvbXBvbmVudCBuZWVkaW5nIGFuIGV4dGVuZGVkXG4vLy8gY29uZmlndXJhdGlvbiBzdWNoIGFzIGN1c3RvbSBicmVha3BvaW50cyAocmVmZXJyZWQgdG8gYXMgdHdlYWtwb2ludHMpXG4vLy8gZm9yIGluc3RhbmNlLlxuLy8vXG4vLy8gQGF1dGhvciBIdWdvIEdpcmF1ZGVsXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrcG9pbnRzIFsoKV0gLSBNYXAgb2YgdHdlYWtwb2ludHMgdG8gYmUgbWVyZ2VkIHdpdGggYCRicmVha3BvaW50c2Bcbi8vLyBAcGFyYW0ge01hcH0gJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zIFsoKV0gLSBNYXAgb2YgdHdlYWtlZCBtZWRpYSBleHByZXNzaW9ucyB0byBiZSBtZXJnZWQgd2l0aCBgJG1lZGlhLWV4cHJlc3Npb25gXG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gRXh0ZW5kIHRoZSBnbG9iYWwgYnJlYWtwb2ludHMgd2l0aCBhIHR3ZWFrcG9pbnRcbi8vLyAgQGluY2x1ZGUgbWVkaWEtY29udGV4dCgoJ2N1c3RvbSc6IDY3OHB4KSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PWN1c3RvbScpIHtcbi8vLyAgICAgICAvLyAuLi5cbi8vLyAgICAgIH1cbi8vLyAgICB9XG4vLy8gIH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBFeHRlbmQgdGhlIGdsb2JhbCBtZWRpYSBleHByZXNzaW9ucyB3aXRoIGEgY3VzdG9tIG9uZVxuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCdhbGwnOiAnYWxsJykpIHtcbi8vLyAgICAuZm9vIHtcbi8vLyAgICAgIEBpbmNsdWRlIG1lZGlhKCdhbGwnLCAnPnBob25lJykge1xuLy8vICAgICAgIC8vIC4uLlxuLy8vICAgICAgfVxuLy8vICAgIH1cbi8vLyAgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIEV4dGVuZCBib3RoIGNvbmZpZ3VyYXRpb24gbWFwc1xuLy8vICBAaW5jbHVkZSBtZWRpYS1jb250ZXh0KCgnY3VzdG9tJzogNjc4cHgpLCAoJ2FsbCc6ICdhbGwnKSkge1xuLy8vICAgIC5mb28ge1xuLy8vICAgICAgQGluY2x1ZGUgbWVkaWEoJ2FsbCcsICc+cGhvbmUnLCAnPD1jdXN0b20nKSB7XG4vLy8gICAgICAgLy8gLi4uXG4vLy8gICAgICB9XG4vLy8gICAgfVxuLy8vICB9XG4vLy9cbkBtaXhpbiBtZWRpYS1jb250ZXh0KCR0d2Vha3BvaW50czogKCksICR0d2Vhay1tZWRpYS1leHByZXNzaW9uczogKCkpIHtcbiAgLy8gU2F2ZSBnbG9iYWwgY29uZmlndXJhdGlvblxuICAkZ2xvYmFsLWJyZWFrcG9pbnRzOiAkYnJlYWtwb2ludHM7XG4gICRnbG9iYWwtbWVkaWEtZXhwcmVzc2lvbnM6ICRtZWRpYS1leHByZXNzaW9ucztcblxuICAvLyBVcGRhdGUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiBtYXAtbWVyZ2UoJGJyZWFrcG9pbnRzLCAkdHdlYWtwb2ludHMpICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogbWFwLW1lcmdlKCRtZWRpYS1leHByZXNzaW9ucywgJHR3ZWFrLW1lZGlhLWV4cHJlc3Npb25zKSAhZ2xvYmFsO1xuXG4gIEBjb250ZW50O1xuXG4gIC8vIFJlc3RvcmUgZ2xvYmFsIGNvbmZpZ3VyYXRpb25cbiAgJGJyZWFrcG9pbnRzOiAkZ2xvYmFsLWJyZWFrcG9pbnRzICFnbG9iYWw7XG4gICRtZWRpYS1leHByZXNzaW9uczogJGdsb2JhbC1tZWRpYS1leHByZXNzaW9ucyAhZ2xvYmFsO1xufVxuXG4vLy8vXG4vLy8gaW5jbHVkZS1tZWRpYSBwdWJsaWMgZXhwb3NlZCBBUElcbi8vLyBAYXV0aG9yIEVkdWFyZG8gQm91Y2FzXG4vLy8gQGFjY2VzcyBwdWJsaWNcbi8vLy9cblxuXG4vLy9cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBiYXNlZCBvbiBhIGxpc3Qgb2YgY29uZGl0aW9uc1xuLy8vXG4vLy8gQHBhcmFtIHtBcmdsaXN0fSAgICRjb25kaXRpb25zICAtIE1lZGlhIHF1ZXJ5IGNvbmRpdGlvbnNcbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIGEgc2luZ2xlIHNldCBicmVha3BvaW50XG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+cGhvbmUnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHR3byBzZXQgYnJlYWtwb2ludHNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5waG9uZScsICc8PXRhYmxldCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIFdpdGggY3VzdG9tIHZhbHVlc1xuLy8vICBAaW5jbHVkZSBtZWRpYSgnPj0zNThweCcsICc8ODUwcHgnKSB7IH1cbi8vL1xuLy8vIEBleGFtcGxlIHNjc3MgLSBXaXRoIHNldCBicmVha3BvaW50cyB3aXRoIGN1c3RvbSB2YWx1ZXNcbi8vLyAgQGluY2x1ZGUgbWVkaWEoJz5kZXNrdG9wJywgJzw9MTM1MHB4JykgeyB9XG4vLy9cbi8vLyBAZXhhbXBsZSBzY3NzIC0gV2l0aCBhIHN0YXRpYyBleHByZXNzaW9uXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCdyZXRpbmEyeCcpIHsgfVxuLy8vXG4vLy8gQGV4YW1wbGUgc2NzcyAtIE1peGluZyBldmVyeXRoaW5nXG4vLy8gIEBpbmNsdWRlIG1lZGlhKCc+PTM1MHB4JywgJzx0YWJsZXQnLCAncmV0aW5hM3gnKSB7IH1cbi8vL1xuQG1peGluIG1lZGlhKCRjb25kaXRpb25zLi4uKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFNwYWNlQXJvdW5kT3BlcmF0b3JcbiAgQGlmICgkaW0tbWVkaWEtc3VwcG9ydCBhbmQgbGVuZ3RoKCRjb25kaXRpb25zKSA9PSAwKSBvclxuICAgICAgKG5vdCAkaW0tbWVkaWEtc3VwcG9ydCBhbmQgaW0taW50ZXJjZXB0cy1zdGF0aWMtYnJlYWtwb2ludCgkY29uZGl0aW9ucy4uLikpIHtcbiAgICBAY29udGVudDtcbiAgfSBAZWxzZSBpZiAoJGltLW1lZGlhLXN1cHBvcnQgYW5kIGxlbmd0aCgkY29uZGl0aW9ucykgPiAwKSB7XG4gICAgQG1lZGlhICN7dW5xdW90ZShwYXJzZS1leHByZXNzaW9uKG50aCgkY29uZGl0aW9ucywgMSkpKX0ge1xuICAgICAgLy8gUmVjdXJzaXZlIGNhbGxcbiAgICAgIEBpbmNsdWRlIG1lZGlhKHNsaWNlKCRjb25kaXRpb25zLCAyKS4uLikge1xuICAgICAgICBAY29udGVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gRm9jdXMgVmlzaWJsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogRm9jdXMgVmlzaWJsZVxuICogaHR0cHM6Ly9naXRodWIuY29tL1dJQ0cvZm9jdXMtdmlzaWJsZVxuICogT3ZlcnJpZGUgYmFzZSBmb2N1cyBzdHlsZXMgZm9yIG1vdXNlIGFuZCB0b3VjaCBpbnRlcmFjdGlvbnNcbiAqL1xuQG1peGluIGZvY3VzLXZpc2libGUoKSB7XG4gIC5qcy1mb2N1cy12aXNpYmxlICYge1xuICAgICY6bm90KC5mb2N1cy12aXNpYmxlKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBIZWxwZXJzIC0gRm9udCBTbW9vdGhpbmdcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKiogXG4gKiBGb250IFNtb290aGluZ1xuICogRW5hYmxlcyBmb250IHNtb290aGluZyBmb3IgY2FwYWJsZSBicm93c2Vycy5cbiAqIE9wdGlvbmFsbHkgZm9yY2UgZm9udC1zbW9vdGhpbmcgb24gbm9uLXJldGluYSBkZXZpY2VzLlxuICogQHBhcmFtIHtib29sZWFufSAkZm9yY2UgW2ZhbHNlXVxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5AbWl4aW4gZm9udC1zbW9vdGhpbmcoJGZvcmNlOiBmYWxzZSkge1xuICBAaWYgJGZvcmNlID09IHRydWUge1xuICAgIC1tb3otZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICB9IEBlbHNlIHtcbiAgICBAbWVkaWEgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSB7XG4gICAgICAtbW96LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIEdsb2JhbCBtaXhpbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vLyBSZXNldCA8bGk+IGVsZW1lbnRzXG5AbWl4aW4gbGktcmVzZXQge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG5cbiAgbGkge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cblxuLy8gUmVtb3ZlIHRleHQgZnJvbSBlbGVtZW50c1xuQG1peGluIHJtLXRleHQge1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDtcbn1cblxuLy8gQmFja2dyb3VuZCBpbWFnZXNcbkBtaXhpbiBiZy1pbWcoJHNpemUpIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAkc2l6ZTtcbn1cblxuLy8gSUUgOSsgb25seVxuQG1peGluIGllKCRwcm9wZXJ0eSwgJHZhbHVlKSB7XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIGFuZCAobWluLXJlc29sdXRpb246ICs3MmRwaSkge1xuICAgICN7JHByb3BlcnR5fTogI3skdmFsdWV9O1xuICB9XG59XG5cbkBtaXhpbiBidG5SZXNldCB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbkBtaXhpbiBmb250Rm9udFRoZW1lQ29sb3VyIHtcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1jb2xvdXItdGhlbWUtc2V0KTtcbiAgY29sb3I6IHZhcigtLWMtY29sb3VyLXRoZW1lLXN0eWxlLXNldCk7XG4gIHdpZHRoOiBmaXQtY29udGVudDtcbiAgcGFkZGluZzogM3B4IDVweDtcbiAgJjo6c2VsZWN0aW9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXdoaXRlKTtcbiAgICBjb2xvcjogdmFyKC0tYy1mb250LWNvbG9yKTtcbiAgfVxufVxuXG5AbWl4aW4gc21hbGwtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjI1cHggMWZyO1xuICBncmlkLWdhcDogMjVweDtcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgfVxufVxuXG5AbWl4aW4gbWVkaXVtLWdyaWQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDMwMHB4IDFmcjtcbiAgZ3JpZC1nYXA6IDQwcHg7XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIH1cbn1cblxuQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgLmhpZGRlbi1zbS1kb3duIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn0iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogSGVscGVycyAtIFRhYmxlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBSZXNwb25zaXZlIFRhYmxlXG4gKiBDcmVhdGVzIGEgcmVzcG9uc2l2ZSB0YWJsZVxuICogQWNjZXB0cyBhIGxpc3Qgb2YgaGVhZGVycyB0byByZXBsYWNlIG1haW4gXG4gKiB0YWJsZSBoZWFkZXJzIG9uIG1vYmlsZS5cbiAqIEBwYXJhbSB7bWFwfSAkaGVhZGVyc1xuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5AbWl4aW4gcmVzcG9uc2l2ZS10YWJsZSgkaGVhZGVyczogKCkpIHtcbiAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0YWJsZSxcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0aCxcbiAgdGQsXG4gIHRyIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIHRoZWFkIHtcbiAgICB0ciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC05OTk5cHg7XG4gICAgICAgIGxlZnQ6IC05OTk5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHIge1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgbWFyZ2luLXRvcDogLTFweDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ibGFjaztcbiAgICAgIGJvcmRlci13aWR0aDogMXB4IDA7XG4gICAgICBwYWRkaW5nOiBzaXplKDMwcHgpIDA7XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0ZCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW4tdG9wOiBzaXplKDE2cHgpO1xuICAgIH1cblxuICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx0YWJsZXQnKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8dGFibGV0Jykge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEhlYWRlcnNcbiAgICovXG4gIEBlYWNoICRoZWFkZXIgaW4gJGhlYWRlcnMge1xuICAgICRpOiBpbmRleCgkaGVhZGVycywgJGhlYWRlcik7XG5cbiAgICB0ZDpudGgtb2YtdHlwZSgjeyRpfSk6OmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHRhYmxldCcpIHtcbiAgICAgICAgY29udGVudDogJGhlYWRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gRGVmYXVsdHNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uZ3JpZCB7XG4gIG1heC13aWR0aDogdmFyKC0tY29udGFpbmVyV2lkdGgpO1xufVxuXG4uY29udGFpbmVyLWZ1bGwgPiAuZ3JpZCB7XG4gIG1heC13aWR0aDogbm9uZTtcbn1cblxudWwubWVudSxcbnVsLnBsYWluIHtcbiAgQGluY2x1ZGUgbGktcmVzZXQ7XG59XG5cbmltZyB7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogdmFyKC0tdHJhbnNpdGlvbik7XG5cbiAgJi5sYXp5IHtcbiAgICBvcGFjaXR5OiAwO1xuXG4gICAgQG1lZGlhIG5vdCBhbGwgYW5kIChtaW4tcmVzb2x1dGlvbjogMC4wMDFkcGNtKSB7XG4gICAgICBAc3VwcG9ydHMgKC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZSkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICYubG9hZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59XG5cbm1haW4ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zdmcge1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG59XG5cbi5oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIHZpc2liaWxpdHk6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4vLyBLZWVwIHZpZGVvIHJhdGlvIGZvciBmbHVpZCB3aWR0aHNcbi52aWRlby1jb250YWluZXIsXG4ubWVkaWEtdmltZW8tdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBoZWlnaHQ6IDA7XG5cbiAgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cblxuXG4uby1ub2RlIHtcbiAgJiA+IC5ncmlkID4gLmNvbC1zbS0xMiA+IC5tLWJhbm5lciB7XG4gICAgLy9tYXJnaW4tdG9wOiAtMTVweDtcbiAgfVxufVxuXG4uc2VhcmNoLWFwcF9fZmlsdGVycy0tb3B0aW9ucy0tY2hlY2tib3gsXG4uc2VhcmNoLWFwcF9fYWN0aXZlLXBhbmUtLWZpbHRlcnMtZ3JpZC0tY2hlY2tib3gsXG4uby1oZWFkZXJfX3JhZGlvcy0taXRlbSAge1xuICBsYWJlbCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyO1xuICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tYy1mb250LWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogQWRlbGxlO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vLWhlYWRlcl9fcmFkaW9zLS1pdGVtIHtcbiAgbGFiZWwge1xuICAgIGlucHV0IHtcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgbWFyZ2luLXRvcDogMnB4O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvZW1wdHktcmFkaW9ib3guc3ZnKTtcbiAgICAgIH1cbiAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvZmlsbGVkLXJhZGlvYm94LnN2Zyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuXG4uc2VhcmNoLWFwcF9fZmlsdGVycy0tb3B0aW9ucy0tY2hlY2tib3gsXG4uc2VhcmNoLWFwcF9fYWN0aXZlLXBhbmUtLWZpbHRlcnMtZ3JpZC0tY2hlY2tib3gge1xuICBsYWJlbCB7XG4gICAgaW5wdXQge1xuICAgICAgaGVpZ2h0OiAyNHB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9lbXB0eS1jaGVja2JveC5zdmcpO1xuICAgICAgfVxuICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9maWxsZWQtY2hlY2tib3guc3ZnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5cblxuLmhpZGRlbi1zbS11cCB7XG4gIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBUeXBvZ3JhcGh5XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLyoqXG4gKiBDb25maWdcbiAqL1xuXG4vKipcbiAqIEhlYWRpbmdcbiAqL1xuaDEsXG4uaDEsXG5oMixcbi5oMixcbmgzLFxuLmgzLFxuaDQsXG4uaDQsXG5oNSxcbi5oNSxcbmg2LFxuLmg2IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRUaXRsZSk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGNvbG9yOiB2YXIoLS1jLWZvbnQtY29sb3IpO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbn1cblxuaDEsXG4uaDEge1xuICBmb250LXNpemU6IDY4cHg7XG4gIGxpbmUtaGVpZ2h0OiA4NHB4O1xuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICBsaW5lLWhlaWdodDogNjJweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgfVxufVxuXG5oMixcbi5oMiB7XG4gIGZvbnQtc2l6ZTogNDJweDtcbiAgbGluZS1oZWlnaHQ6IDQ5cHg7XG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgZm9udC1zaXplOiAzNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MXB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZm9udC1zaXplOiAyNXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICB9XG59XG5cbmgzLFxuLmgzIHtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBsaW5lLWhlaWdodDogMzZweDtcbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMzcHg7XG4gIH1cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gIH1cbn1cblxuaDQsXG4uaDQge1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgIGZvbnQtc2l6ZTogMTlweDtcbiAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgfVxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgfVxufVxuXG5oNSxcbi5oNSxcbmg2LFxuLmg2IHtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjZweDtcbn1cbi8qKlxuICogUGFyYWdyYXBoc1xuICovXG5wIHtcbiAgZm9udC1zaXplOiAyMHB4O1xuICBsaW5lLWhlaWdodDogMzJweDtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgY29sb3I6IHZhcigtLWMtZm9udC1jb2xvcik7XG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICB9XG5cbiAgbWFyZ2luOiAxLjVlbSAwO1xuXG4gICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG4gIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcbiAgfVxufVxuXG4vKipcbiAqIExpc3RzXG4gKi9cblxudWwsXG5vbCB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBpbnNpZGU7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICBsaSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9keSk7XG4gICAgICBjb2xvcjogdmFyKC0tYy1mb250LWNvbG9yKTtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG51bC50b29sYmFyLW1lbnUge1xuICBsaSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgIGZvbnQtZmFtaWx5OiBcIlNvdXJjZSBTYW5zIFByb1wiLCBcIkx1Y2lkYSBHcmFuZGVcIiwgVmVyZGFuYSwgc2Fucy1zZXJpZjtcbiAgfVxufVxuXG4vKipcbiAqIExpbmtzXG4gKi9cbmEge1xuICAgIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQtY29sb3IpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzLFxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQtY29sb3IpO1xuICAgIH1cblxuICAgICY6Zm9jdXMge1xuICAgICAgb3V0bGluZTogM3B4IGRhc2hlZCBjdXJyZW50Q29sb3I7XG5cbiAgICAgIEBpbmNsdWRlIGZvY3VzLXZpc2libGUoKSB7XG4gICAgICAgIG91dGxpbmU6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5uby1saW5rIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG59XG5cbi5uby1jbGljayB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1jb2xvdXItdGhlbWUtc2V0KTtcbiAgY29sb3I6IHZhcigtLWMtY29sb3VyLXRoZW1lLXN0eWxlLXNldCk7XG59XG5cbi8qKlxuICogQnV0dG9uc1xuICovXG5idXR0b24ge1xuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiAzcHggZGFzaGVkIGN1cnJlbnRDb2xvcjtcblxuICAgIEBpbmNsdWRlIGZvY3VzLXZpc2libGUoKSB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vKipcbiAqIElubGluZVxuICovXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xufVxuXG5lbSB7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250SXRhbGljKTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG5zcGFuIHtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgbGV0dGVyLXNwYWNpbmc6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbn1cblxuYWRkcmVzcyB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGxldHRlci1zcGFjaW5nOiBpbmhlcml0O1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbn1cblxuc21hbGwge1xuICBmb250LXNpemU6IDkwJTtcbn1cblxuaHIge1xuICBib3JkZXI6IHNvbGlkIHZhcigtLWMtcHJpbWFyeSk7XG4gIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICB3aWR0aDogMTAwJTtcbn1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEJhc2UgLSBEcnVwYWwgOCBzcGVjaWZpY1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8vIFBhZ2luYXRpb25cbi5wYWdlciB7XG4gIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGM0YzRjM7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDVweCAyMHB4ICFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMjBweDtcbiAgbWFyZ2luOiAxLjVyZW0gMDtcbiAgbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBmb250LWZhbWlseTogQWRlbGxlO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBmb250LWZhbWlseTogQWRlbGxlIFNlbWkgQm9sZDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5hY3RpdmUge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGUgU2VtaSBCb2xkO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cblxuLmFkbWluLWZ1bmN0aW9ucyB7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtcHJpbWFyeSk7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgei1pbmRleDogMzE7XG5cbiAgLnVzZXItbG9nZ2VkLWluICYge1xuICAgIHRvcDogMzlweDtcbiAgfVxuXG4gIC50b29sYmFyLXRyYXktb3BlbiAmIHtcbiAgICB0b3A6IDc5cHg7XG4gIH1cblxuICBbY2xhc3MqPSdjb2wtJ10ge1xuICAgIHBhZGRpbmc6IDAgY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG5cbiAgdWwge1xuICAgIEBpbmNsdWRlIGxpLXJlc2V0O1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IGNhbGModmFyKC0tYnVtcCkgLyAyKSAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBsaSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHZhcigtLWJ1bXApO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIGNsaXA6IHJlY3QoMXB4LCAxcHgsIDFweCwgMXB4KTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxcHg7XG4gIHdvcmQtd3JhcDogbm9ybWFsO1xufVxuXG5hLnNraXAtbWFpbiB7XG4gIGxlZnQ6IC05OTlweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB6LWluZGV4OiAtOTk5O1xufVxuYS5za2lwLW1haW46Zm9jdXMsXG5hLnNraXAtbWFpbjphY3RpdmUge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLXByaW1hcnkpO1xuICBsZWZ0OiBhdXRvO1xuICB0b3A6IGF1dG87XG4gIHdpZHRoOiAzMCU7XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IGF1dG87XG4gIG1hcmdpbjogMTBweCAzNSU7XG4gIHBhZGRpbmc6IDVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDEuMmVtO1xuICB6LWluZGV4OiA5OTk7XG59XG5cbi5hamF4LXByb2dyZXNzLXRocm9iYmVyIHtcbiAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBCYXNlIC0gTWFpblxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogU3R5bGVzXG4gKi9cbmh0bWwsXG5ib2R5IHtcbiAgQGluY2x1ZGUgZm9udC1zbW9vdGhpbmcodHJ1ZSk7XG4gIGZvbnQtc2l6ZTogdmFyKC0tZm9udFNpemUpO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBsaW5lLWhlaWdodDogdmFyKC0tbGluZUhlaWdodCk7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9keSk7XG59XG5cbiosXG4qOmJlZm9yZSxcbio6YWZ0ZXIge1xuICBib3gtc2l6aW5nOiBpbmhlcml0O1xufVxuXG5ib2R5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLmNlbnRlcmVkIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5jZW50ZXJlZC10aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJiA+IGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICB9XG59XG5cbi5ldS1jb29raWUtY29tcGxpYW5jZS1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxNXB4O1xufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIEdyaWRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLmEtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuXG4gICYtLTEge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICB9XG5cbiAgJi0tMiB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcblxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICB9XG4gIH1cblxuICAmLS0zIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxZnIpO1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgIH1cbiAgfVxuXG4gICYtLTQge1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG5cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gTmF2IFRvZ2dsZVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi8qKlxuICogQ29uZmlnXG4gKi9cbiRidW1wOiAzMHB4O1xuJGhlaWdodC1pY29uOiAkYnVtcDtcbiR3aWR0aC1saW5lOiAkYnVtcCAqIDEuNTtcbiRoZWlnaHQtbGluZTogNHB4O1xuXG4kcm90YXRpb246IDQ1ZGVnO1xuJHRyYW5zbGF0ZVk6ICgkaGVpZ2h0LWljb24gLyAyKTtcbiR0cmFuc2xhdGVYOiAwO1xuXG4vKipcbiAqIFN0eWxlc1xuICovXG4uYS1uYXYtdG9nZ2xlIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgd2lkdGg6ICR3aWR0aC1saW5lO1xuICBoZWlnaHQ6ICRoZWlnaHQtaWNvbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJl9fbGluZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB3aWR0aDogJHdpZHRoLWxpbmU7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0LWxpbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogKCRoZWlnaHQtbGluZSAvIDIpO1xuICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuXG4gICAgJi0xIHtcbiAgICAgIHRvcDogMDtcblxuICAgICAgOmhvdmVyID4gJiB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkaGVpZ2h0LWxpbmUgLyAyICogLTEpO1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2xhdGVZKSB0cmFuc2xhdGVYKCR0cmFuc2xhdGVYKVxuICAgICAgICAgIHJvdGF0ZSgkcm90YXRpb24pO1xuICAgICAgfVxuICAgIH1cbiAgICAmLTIge1xuICAgICAgdG9wOiA1MCU7XG5cbiAgICAgIFtkYXRhLW5hdj0nb3BlbiddICYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmLTMge1xuICAgICAgdG9wOiAxMDAlO1xuXG4gICAgICA6aG92ZXIgPiAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCRoZWlnaHQtbGluZSAvIDIpO1xuICAgICAgfVxuXG4gICAgICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKCR0cmFuc2xhdGVZICogLTEpIHRyYW5zbGF0ZVgoJHRyYW5zbGF0ZVgpXG4gICAgICAgICAgcm90YXRlKCRyb3RhdGlvbiAqIC0xKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBBdG9tcyAtIEJ1dHRvbnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICoqL1xuXG5AbWl4aW4gYnRuIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjp2YXIoLS1jLWZvbnQtY29sb3IpO1xuICBjb2xvcjogI2ZmZjtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIHBhZGRpbmc6IDEwcHggMjVweCA3cHggMjVweDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udFJlZ3VsYXIpO1xuICB0cmFuc2l0aW9uOiAwLjJzO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgJjphZnRlciB7XG4gICAgdHJhbnNpdGlvbjogMC4ycztcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9jaGV2cm9uLXJpZ2h0LXdoaXRlLnN2Zyk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogOHB4O1xuICAgIHJpZ2h0OiAtNXB4O1xuICAgIHRvcDogLTFweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gIH1cbn1cbkBtaXhpbiByZXZlcnNlLWJ0biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBib3JkZXItcmFkaXVzOiAzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiB2YXIoLS1jLWZvbnQtY29sb3IpO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgcGFkZGluZzogMTBweCAyNXB4IDdweCAyNXB4O1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250UmVndWxhcik7XG4gIHRyYW5zaXRpb246IDAuMnM7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogMWZyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmOmFmdGVyIHtcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogOHB4O1xuICAgIHJpZ2h0OiAtNXB4O1xuICAgIHRvcDogLTFweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG87XG4gIH1cbn1cblxuQG1peGluIGJ0bi1ob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLDUxLDUxLDAuOSk7XG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9jaGV2cm9uLXJpZ2h0LXdoaXRlLnN2Zyk7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcbiAgfVxuXG59XG5cbkBtaXhpbiByZXZlcnNlLWJ0bi1ob3ZlciB7XG4gIGNvbG9yOiAjZmZmO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDUxLDUxLDUxLDAuOSk7XG4gICY6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9jaGV2cm9uLXJpZ2h0LXdoaXRlLnN2Zyk7XG4gICAgdmlzaWJpbGl0eTogaW5pdGlhbDtcbiAgfVxufVxuXG5AbWl4aW4gc3F1YXJlLWJ0biB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNEOEQ4RDg7XG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG4gIGNvbG9yOiB2YXIoLS1jLWZvbnQtY29sb3IpO1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udFJlZ3VsYXIpO1xuICBmb250LXdlaWdodDogMzAwO1xuICBsZXR0ZXItc3BhY2luZzogMDtcbiAgcGFkZGluZzogMCAyNXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgQGV4dGVuZCAuaDQ7XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5cbkBtaXhpbiBzcXVhcmUtYnRuLWhvdmVyIHtcbiAgQGluY2x1ZGUgZm9udEZvbnRUaGVtZUNvbG91cjtcbiAgcGFkZGluZzogMCAyNXB4O1xufVxuLyoqXG4gKiBTdHlsZXNcbiAqKi9cblxuLmEtYnRuIHtcbiAgQGluY2x1ZGUgYnRuO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgfVxuXG4gICYtLXRoZW1lIHtcbiAgICAuby1saWdodC10aGVtZSAmIHtcbiAgICAgIEBpbmNsdWRlIHJldmVyc2UtYnRuO1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICBAaW5jbHVkZSByZXZlcnNlLWJ0bi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLm8tZGFyay10aGVtZSAmIHtcblxuICAgICAgQGluY2x1ZGUgYnRuO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIGJ0bi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1jbGVhciB7XG4gICAgQGluY2x1ZGUgYnRuO1xuICAgICY6ZGlzYWJsZWQge1xuICAgICAgb3BhY2l0eTogMC42O1xuICAgIH1cbiAgICAmOm5vdCgmOmRpc2FibGVkKSB7XG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIEBpbmNsdWRlIHJldmVyc2UtYnRuLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4uYS1zcXVhcmUtYnRuIHtcbiAgQGluY2x1ZGUgc3F1YXJlLWJ0bjtcblxuICAmOmhvdmVyLFxuICAmLmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgQGluY2x1ZGUgc3F1YXJlLWJ0bi1ob3ZlcjtcbiAgfVxufVxuXG5cbi5hLWJ0bi0tcmV2ZXJzZSB7XG4gIEBpbmNsdWRlIHJldmVyc2UtYnRuO1xuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBAaW5jbHVkZSBidG4taG92ZXI7XG4gIH1cblxufVxuXG4uYS1jbG9zZS1idG4ge1xuICBib3JkZXItcmFkaXVzOiAyNXB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIGdyaWQtZ2FwOiAxMHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udFJlZ3VsYXIpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRyYW5zaXRpb246IDAuMnM7XG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG4gIHN2ZyB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIEF0b21zIC0gSW1hZ2UgY3JlZGl0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5hLWltYWdlLWNyZWRpdCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiB2YXIoLS1idW1wKTtcbiAgcmlnaHQ6IHZhcigtLWJ1bXApO1xuICB6LWluZGV4OiA0O1xuICBjdXJzb3I6IGhlbHAgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiB2YXIoLS1idW1wKTtcbiAgd2lkdGg6IHZhcigtLWJ1bXApO1xuICBib3JkZXI6IDA7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBib3R0b206IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xuICB9XG5cbiAgc3BhbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogYXR0cihkYXRhLWNyZWRpdCk7XG4gICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IHZhcigtLWJ1bXApO1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiAtMTtcbiAgICBwYWRkaW5nOiAwIDIxcHg7XG4gICAgaGVpZ2h0OiB2YXIoLS1idW1wKTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tYnVtcCk7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDNweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICB3b3JkLXNwYWNpbmc6IDA7XG4gIH1cblxuICAmOmZvY3VzLFxuICAmOmFjdGl2ZSxcbiAgJjpob3ZlciB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuKiBVbi50aXRsZWRcbiogQXRvbXMgLSBCcmVhZGNydW1ic1xuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbi5hLWJyZWFkY3J1bWIge1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG4gIHBhZGRpbmc6IDZweCAwIDRweDtcbiAgLmNvbC1zbS0xMiB7XG4gICAgcGFkZGluZy10b3A6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cblxuICBvbCB7XG4gICAgQGluY2x1ZGUgbGktcmVzZXQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBsaSwgbGkgYSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiBjYWxjKHZhcigtLWJ1bXApIC8gNik7XG4gICAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICc+JztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGNhbGModmFyKC0tYnVtcCkgLyAxMCk7XG4gICAgICB9XG5cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjogIzk5OTk5OTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLmEtY2lyY3VsYXItbGlua3Mge1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgY29sdW1uLWdhcDogMTVweDtcclxuICByb3ctZ2FwOiAxNXB4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuXHJcbiAgYSB7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxuICAgIHBhZGRpbmc6IDJweCAxMHB4ICFpbXBvcnRhbnQ7XHJcbiAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjBweDtcclxuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250UmVndWxhcik7XHJcbiAgICB0cmFuc2l0aW9uOiAwLjJzO1xyXG4gICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XHJcbiAgICBncmlkLWdhcDogNXB4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGltZyB7XHJcbiAgICAgIHdpZHRoOiA4cHg7XHJcbiAgICB9XHJcbiAgICAmOmhvdmVyLFxyXG4gICAgJjpmb2N1cyB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnRGb250VGhlbWVDb2xvdXI7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uYS1jaXJjdWxhci1saW5rcy0tcmV2ZXJzZSB7XHJcbiAgZGlzcGxheTogZmxleDtcclxuICBjb2x1bW4tZ2FwOiAzMHB4O1xyXG4gIHJvdy1nYXA6IDIwcHg7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG5cclxuICBhIHtcclxuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XHJcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgcGFkZGluZzogMnB4IDEwcHggIWltcG9ydGFudDtcclxuICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRSZWd1bGFyKTtcclxuICAgIHRyYW5zaXRpb246IDAuMnM7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcclxuICAgIGdyaWQtZ2FwOiA1cHg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgaW1nIHtcclxuICAgICAgd2lkdGg6IDhweDtcclxuICAgIH1cclxuICAgICY6aG92ZXIsXHJcbiAgICAmOmZvY3VzIHtcclxuICAgICAgQGluY2x1ZGUgZm9udEZvbnRUaGVtZUNvbG91cjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIEVtZXJnZW5jeSBNZXNzYWdlXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICovXHJcblxyXG4vKipcclxuICogQ29uZmlnXHJcbiAqKi9cclxuQGtleWZyYW1lcyBzbGlkZUluVXAge1xyXG4gIDAlIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XHJcbiAgfVxyXG4gIDgwJSB7XHJcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xyXG4gIH1cclxuICAxMDAlIHtcclxuICAgIG9wYWNpdHk6IDE7XHJcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XHJcbiAgfVxyXG59XHJcblxyXG4vKipcclxuICogU3R5bGluZ1xyXG4gKiovXHJcbi5tLWVtbXNnIHtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiAwO1xyXG4gIC5jdF9fb2JqZWN0LWFydHdvcmsgJiB7XHJcbiAgICB0b3A6IC04MHB4O1xyXG4gIH1cclxuICB3aWR0aDogMTAwJTtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzMzMzO1xyXG4gIHotaW5kZXg6IDEwMDtcclxuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgMDtcclxuICBtYXgtaGVpZ2h0OiAxMzVweDtcclxuICBkaXNwbGF5OiBub25lO1xyXG4gICZfX2NvbnRlbnQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaDQsIHAge1xyXG4gICAgICBjb2xvcjogdmFyKC0tYy13aGl0ZSk7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgICBoNCB7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbiAgICB9XHJcbiAgICBwIHtcclxuICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICBmb250LXdlaWdodDogMzAwO1xyXG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcclxuICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gICZbZGF0YS1zdGF0ZT0ndmlzaWJsZSddIHtcclxuICAgIG9wYWNpdHk6IDA7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcclxuICAgIGFuaW1hdGlvbjogc2xpZGVJblVwIDAuMnMgMC4zcyBjdWJpYy1iZXppZXIoMC43NywgMC4yOSwgMC4zNSwgMC43MikgMVxyXG4gICAgICBmb3J3YXJkcztcclxuICAgICYgPiAuZ3JpZCB7XHJcbiAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8eHMnKSB7XHJcbiAgICBwYWRkaW5nOiAwO1xyXG4gIH1cclxuXHJcbiAgYnV0dG9uIHtcclxuICAgIEBpbmNsdWRlIGJ0blJlc2V0O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XHJcbiAgICByaWdodDogY2FsYyh2YXIoLS1idW1wKSAvIDIpO1xyXG4gICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgd2lkdGg6IDEycHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB0b3A6IDE1cHg7XHJcbiAgICByaWdodDogMTVweDtcclxuICAgIHBhdGgge1xyXG4gICAgICBmaWxsOiB2YXIoLS1jLXdoaXRlKTtcclxuICAgIH1cclxuXHJcbiAgfVxyXG59XHJcbiIsIi8qKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIFVuLnRpdGxlZFxyXG4gKiBNb2xlY3VsZXMgLSBFbnRpdGllc1xyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG5cclxuLm0tZW50aXR5IHtcclxuXHJcbiAgbWFyZ2luOiA4MHB4IDA7XHJcblxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICBtYXJnaW46IDQwcHggMDtcclxuICB9XHJcblxyXG4gICZfX2N0YSB7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gIH1cclxuICBpbWcge1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICB9XHJcblxyXG4gICZfX2JvZHksXHJcbiAgJl9fdGV4dCxcclxuICAmX19hY2NvcmRpb24sXHJcbiAgJl9faW1hZ2UtdGV4dCB7XHJcbiAgICBwIGEge1xyXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHJcbiAgICAgICY6aG92ZXIge1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJl9fYm9keSxcclxuICAmX190ZXh0LFxyXG4gICZfX2FjY29yZGlvbiB7XHJcbiAgICB1bCB7XHJcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xyXG5cclxuICAgICAgbGkge1xyXG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG4gICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuICAgICAgICAgIGhlaWdodDogN3B4O1xyXG4gICAgICAgICAgd2lkdGg6IDdweDtcclxuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgbGVmdDogLTE1cHg7XHJcbiAgICAgICAgICB0b3A6IDEwcHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWNvbG91ci10aGVtZS1zZXQpO1xyXG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XHJcbiAgICAgICAgICAgIHdpZHRoOiA1cHg7XHJcbiAgICAgICAgICAgIHRvcDogOHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9ib2R5JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2ltYWdlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3ZpZXcnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvcXVvdGUnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvYWNjb3JkaW9uJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL2dhbGxlcnknO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW1hZ2UtdGV4dCc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9kb3dubG9hZHMnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvc2lnbnBvc3QnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvZW1iZWQnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvdmlkZW8nO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW1hZ2UtdGV4dC1lbGVtZW50cyc7XHJcbiAgQGltcG9ydCAnLi9lbnRpdGllcy9oaWdobGlnaHRlZC1jb250ZW50JztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL3BlcnNvbi1wcm9maWxlJztcclxuICBAaW1wb3J0ICcuL2VudGl0aWVzL29iamVjdC1yZXNvdXJjZS10ZWFzZXInO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvaW1hZ2UtYW5kLXRleHQtc2lnbnBvc3QnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvYXJ0aXN0LWxpc3RpbmcnO1xyXG4gIEBpbXBvcnQgJy4vZW50aXRpZXMvcmVzb3VyY2UtaGlnaGxpZ2h0cyc7XHJcblxyXG59XHJcbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBOb2RlIGJvZHkgY29weVxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2JvZHkge1xuICBtYXJnaW4tdG9wOiAwO1xufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEltYWdlXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9faW1hZ2Utd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBFbnRpdHkgdmlld3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX192aWV3IHtcbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBRdW90ZXNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIENvbmZpZ1xuICovXG5cbiZfX3F1b3RlIHtcblxuICBibG9ja3F1b3RlIHtcbiAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEl0YWxpYyk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG5cbiAgICBoMyB7XG4gICAgICBmb250LWZhbWlseTogQWRlbGxlIExpZ2h0IEl0YWxpYztcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IG9wZW4tcXVvdGU7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogY2xvc2UtcXVvdGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1pbmZvIHtcbiAgICBtYXJnaW4tdG9wOiAxM3B4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgY2l0ZSB7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgQGV4dGVuZCAuaDQ7XG4gICAgY29sb3I6IHZhcigtLWMtZm9udC1jb2xvcik7XG5cbiAgICAubmFtZSB7XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG4gIH1cblxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEdhbGxlcnlcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4mX19nYWxsZXJ5IHtcbiAgLmdhbGxlcnkge1xuICAgIGdyaWQtZ2FwOiAyNnB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgfVxuICBhIHtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cbn1cblxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEltYWdlICYgVGV4dFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2ltYWdlLXRleHQge1xuICBkaXNwbGF5OiBncmlkO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDQwJSAxZnI7XG4gIGdhcDogY2FsYyh2YXIoLS1idW1wKSAvIDEuNSk7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgfVxufVxuIiwiLyoqXG4qIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiogVW4udGl0bGVkXG4qIE1vbGVjdWxlcyAtIERvd25sb2Fkc1xuKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4qL1xuXG4vKipcbiogQ29uZmlnXG4qL1xuXG4vKipcbiogU3R5bGluZ1xuKi9cbiZfX2Rvd25sb2FkcyB7XG4gIC5maWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgIGEge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFJlZ3VsYXIpO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL2Rvd25sb2FkLnN2Zyk7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIFNpZ25wb3N0XG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuJl9fc2lnbnBvc3Qge1xuICAmLnRoZW1lLWNvbG91cnMge1xuICAgIC5tLXNpZ25wb3N0LWdyaWRfX2dyaWQsXG4gICAgLm8tdGVhc2VyLXNpZ25wb3N0LWNvbnRlbnQge1xuICAgICAgaDIgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnRGb250VGhlbWVDb2xvdXI7XG4gICAgICB9XG4gICAgICAuby10ZWFzZXItc2lnbnBvc3QtY29udGVudCB7XG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgIGgyIGEge1xuICAgICAgICAgICAgY29sb3I6ICMzMzMzMzM7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmM2Y0O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLmZ1bGwtYmxlZWQge1xuICAgICAgLm8tdGVhc2VyLXNpZ25wb3N0LWNvbnRlbnQge1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICBoMiBhIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYubm8tbWFyZ2luLWJvdHRvbSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxuICAmLS1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgaDIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1ncmlkIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC1nYXA6IDQwcHg7XG4gIH1cbiAgJi0taXRlbSB7XG4gICAgZ3JpZC1nYXA6IDI1cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcilcbiAgICB9XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICB9XG4gICYtLWFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBFbWJlZFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2VtYmVkIHtcbiAgaWZyYW1lIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEVudGl0eSB2aWV3c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX3ZpZGVvIHtcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICB9XG4gIC55b3V0dWJlLW1lZGlhIHtcbiAgICAubWVkaWEtb2VtYmVkLWNvbnRlbnQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDM5NXB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx4bGcnKSB7XG4gICAgICAgIGhlaWdodDogMzUwcHg7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgaWZyYW1lIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLnZpbWVvLW1lZGlhIHtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gIC5tLW1lZGlhLWVudGl0eV9fY2FwdGlvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogNDBweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgdG9wOiA3MHB4O1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuICB9XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICBwYWRkaW5nLXRvcDogNTYuMjUlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5tZWRpYS1vZW1iZWQtY29udGVudCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG59IiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIEltYWdlICYgVGV4dCBFbGVtZW50c1xyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG5cclxuJl9faW1hZ2UtdGV4dCB7XHJcblxyXG4gICYtZ3JpZCB7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC1nYXA6IDMycHg7XHJcbiAgfVxyXG5cclxuICAmLWl0ZW0ge1xyXG4gICAgQGluY2x1ZGUgbWVkaXVtLWdyaWQ7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICYtLWNvbnRlbnQge1xyXG4gICAgICBwIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1hY3Rpb24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBtYXJnaW4tdG9wOiAyMHB4O1xyXG4gICAgfVxyXG4gICAgJi0taW1hZ2Uge1xyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxufVxyXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gSGlnaGxpZ2h0ZWQgQ29udGVudFxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX2hpZ2hsaWdodGVkLWNvbnRlbnQge1xuICAmLS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDMycHggMjVweDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZzogMjVweCAxMHB4O1xuICAgIH1cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1jLWNvbG91ci10aGVtZS1zZXQpO1xuXG4gICAgaDIsIHAge1xuICAgICAgQGluY2x1ZGUgZm9udEZvbnRUaGVtZUNvbG91cjtcbiAgICB9XG4gICAgaDIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbiAgICB9XG4gIH1cbiAgJi0tYWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbn1cbiIsIi8qKlxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqIFVuLnRpdGxlZFxyXG4gKiBNb2xlY3VsZXMgLSBQZXJzb24gUHJvZmlsZVxyXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXHJcbiAqL1xyXG5cclxuJl9fcGVyc29uLXByb2ZpbGUge1xyXG5cclxuICAmLWNhcmQge1xyXG4gICAgQGluY2x1ZGUgc21hbGwtZ3JpZDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAmLS1jb250ZW50IHtcclxuICAgICAgcCwgYSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgJi1jb21wYWN0LWNhcmQge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxODRweCBhdXRvO1xyXG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG4gICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgJi0taW1hZ2Uge1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1ncmlkIHtcclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcclxuICAgICAgZ3JpZC1nYXA6IDI2cHg7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcclxuICAgICAgICBncmlkLWdhcDogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gT2JqZWN0IFJlc291cmNlIFRlYXNlclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiZfX29iamVjdC1yZXNvdXJjZS10ZWFzZXIge1xuICAmLS1ncmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAyNXB4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDhEOEQ4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgIC5vLXRlYXNlci1zZWFyY2gtcmVzdWx0LXRlYXNlciB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0Q4RDhEODtcbiAgICAgIHBhZGRpbmc6IDI1cHggMCAwIDA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgfVxufVxuIiwiLyoqXHJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cclxuICogVW4udGl0bGVkXHJcbiAqIE1vbGVjdWxlcyAtIFJlc291cmNlIEhpZ2hsaWdodHNcclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxyXG4gKi9cclxuXHJcbi5tLWVudGl0eV9yZXNvdXJjZS1oaWdobGlnaHRzLS1zaWducG9zdHMge1xyXG4gIC5tLXNpZ25wb3N0LWdyaWRfX2dyaWQge1xyXG5cclxuICAgIGgyIGEge1xyXG4gICAgICBAaW5jbHVkZSBmb250Rm9udFRoZW1lQ29sb3VyO1xyXG4gICAgfVxyXG4gICAgLm8tdGVhc2VyLXNpZ25wb3N0LWNvbnRlbnQge1xyXG4gICAgICAmOmhvdmVyLFxyXG4gICAgICAmOmZvY3VzIHtcclxuICAgICAgICBoMiBhIHtcclxuICAgICAgICAgIGNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y1ZjNmNDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmpzLWFjY29yZGlvbiB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAyMHB4O1xuICAubS1leHBhbmRpbmctY2FyZCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1MSw1MSw1MSwwLjI1KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG5cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgfVxuICAgIH1cblxuICAgIC5qcy1hY2NvcmRpb25fX2hlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIHBhZGRpbmc6IDE4cHggMjVweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQtY29sb3IpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBtaW4taGVpZ2h0OiA2NnB4O1xuICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZTtcbiAgICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgfVxuICAgICAgJlthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICYgKyAubS1leHBhbmRpbmctY2FyZF9fY29udGVudCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMgZWFzZSwgbWF4LWhlaWdodCAwLjJzIGVhc2UsIG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMHM7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDQwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbYXJpYS1leHBhbmRlZD1cImZhbHNlXCJdIHtcbiAgICAgICAgJiArIC5tLWV4cGFuZGluZy1jYXJkX19jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4ycywgMHMsIDBzO1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgfVxuICAgICZfX2dyaWQge1xuICAgICAgcGFkZGluZzogMCAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAmLS1yb3cge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIyNXB4IDFmcjtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNXB4IDdweCAxNXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICBncmlkLWdhcDogMnB4O1xuICAgICAgICB9XG4gICAgICAgIGg0LCBzcGFuLCBhIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgQGV4dGVuZCAuaDQ7XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGUgU2VtaSBCb2xkO1xuICAgICAgICB9XG4gICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTtcbiAgICAgICAgfVxuICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzO1xuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgICAgIHNwYW4sIHNwYW4gYSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG5cbn0iLCImX19pbWFnZS10ZXh0LXNpZ25wb3N0IHtcclxuXHJcbiAgJi1pdGVtIHtcclxuXHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4NDBweCAxZnI7XHJcbiAgICBncmlkLWNvbHVtbi1nYXA6IDEyMHB4O1xyXG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8eGxnJykge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDc0MHB4IDFmcjtcclxuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiA4MHB4O1xyXG4gICAgfVxyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1NDBweCAxZnI7XHJcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogNjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcbiAgICAgIGdyaWQtY29sdW1uLWdhcDogNDBweDtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0bztcclxuICAgIH1cclxuXHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgdmlkZW8ge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0taW1hZ2UtcmlnaHQge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciA4NDBweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzx4bGcnKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAgMWZyIDc0MHB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgNTQwcHg7XHJcbiAgICAgIH1cclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgfVxyXG4gICAgICAubS1lbnRpdHlfX2ltYWdlLXRleHQtc2lnbnBvc3QtaXRlbSB7XHJcbiAgICAgICAgJi0taW1hZ2Uge1xyXG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgICAgJi0tdGl0bGUsXHJcbiAgICAgICAgJi0tY29udGVudCB7XHJcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLS1saW5rcyB7XHJcbiAgICAgIG1hcmdpbjogMTVweCAwIDQwcHggMDtcclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgZ3JpZC1nYXA6IDE1cHg7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XHJcbiAgICAgIH1cclxuICAgICAgYSB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYtLXRpdGxlIHtcclxuICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICAgIGdyaWQtcm93OiAxO1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1jb250ZW50IHtcclxuICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgIGdyaWQtY29sdW1uOiAyO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICAgIGdyaWQtcm93OiAzO1xyXG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJi0tYWN0aW9uIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgbWFyZ2luLXRvcDogMjBweDtcclxuICAgIH1cclxuXHJcbiAgICAmLS1pbWFnZSB7XHJcblxyXG4gICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgZ3JpZC1yb3c6IHNwYW4gMjtcclxuXHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG59XHJcbiIsIiZfX2FydGlzdC1saXN0aW5nIHtcclxuICAgIC8vIGhlaWdodDogMTAwJTtcclxuICAgICZfX3RpdGxlIHtcclxuICAgICAgICBmb250LXNpemU6IDI2cHg7XHJcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luOiAwIDAgMThweDtcclxuICAgIH1cclxuXHJcbiAgICAmX19saXN0IHtcclxuICAgICAgICAmLWl0ZW0ge1xyXG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcclxuICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2R5KTtcclxuXHJcbiAgICAgICAgICAgICZfX3N1cm5hbWUge1xyXG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnRCb2xkKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1bCB7XHJcbiAgICAgICAgbGkge1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcclxuICAgICAgICAgICAgd2lkdGg6IDIzJTtcclxuICAgICAgICAgICAgbWFyZ2luOiAwIDIlIDAgMDtcclxuXHJcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgICAgICAgICAgICAgIHdpZHRoOiA0OCU7XHJcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMiUgMCAwO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjx4c1wiKSB7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxufVxyXG5cclxuLmFydGlzdC1saXN0aW5nIHtcclxuXHJcbiAgICAmX19jb250YWluZXIge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICAmID4gLkxhenlMb2FkIHtcclxuICAgICAgICAgICAgb3BhY2l0eTogMDtcclxuICAgICAgICAgICAgdHJhbnNpdGlvbjogMXMgdmFyKC0tZWFzaW5nKTtcclxuXHJcbiAgICAgICAgICAgICYuaXMtdmlzaWJsZSB7XHJcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xyXG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgJl9fc2VhcmNoYmFyIHtcclxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDIwMHB4IDFmcjtcclxuICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNzJweDtcclxuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cclxuICAgICAgICBAaW5jbHVkZSBtZWRpYShcIjxzbVwiKSB7XHJcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgICAgICBnYXA6IDE1cHg7XHJcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmX190aXRsZSB7XHJcbiAgICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgICZfX2lucHV0IHtcclxuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuICAgICAgICAgICAgaW5wdXQge1xyXG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApICogMC42NSkgY2FsYyh2YXIoLS1idW1wKSAqIDIuNSkgY2FsYyh2YXIoLS1idW1wKSAqIDAuNjUpIGNhbGModmFyKC0tYnVtcCkgKiAwLjc1KTtcclxuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XHJcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAzcHg7XHJcblxyXG4gICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIgeyAvKiBDaHJvbWUsIEZpcmVmb3gsIE9wZXJhLCBTYWZhcmkgMTAuMSsgKi9cclxuICAgICAgICAgICAgICAgICAgICBjb2xvcjogdmFyKC0tYy1mb250LWNvbG9yKTtcclxuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFJlZ3VsYXIpO1xyXG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7IC8qIEZpcmVmb3ggKi9cclxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL3NlYXJjaC5zdmdcIik7XHJcbiAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcclxuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcclxuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTlweDtcclxuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICAgICAgICB0b3A6IDI1JTtcclxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xyXG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNSUpIHRyYW5zbGF0ZVkoMTIuNSUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEZvcm1zXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuaW5wdXQsXG5pbnB1dFt0eXBlPSd0ZXh0J10sXG5pbnB1dFt0eXBlPSdwYXNzd29yZCddLFxuaW5wdXRbdHlwZT0nZW1haWwnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddLFxudGV4dGFyZWEsXG5zZWxlY3Qge1xuICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvZHkpO1xuICBjb2xvcjogdmFyKC0tYy1wcmltYXJ5KTtcbiAgcmVzaXplOiBub25lO1xuICBwYWRkaW5nOiBjYWxjKHZhcigtLWJ1bXApIC8gMikgdmFyKC0tYnVtcCk7XG4gIC13ZWJraXQtYm9yZGVyLXJhZGl1czogMHB4O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBvdXRsaW5lOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jLXByaW1hcnkpO1xuICB0cmFuc2l0aW9uOiBhbGwgdmFyKC0tdHJhbnNpdGlvbik7XG4gIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWMtd2hpdGUpO1xuXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWMtc2Vjb25kYXJ5KTtcbiAgfVxufVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSxcbmlucHV0W3R5cGU9J3RleHQnXSxcbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4uZm9ybS1hY3Rpb25zIGlucHV0LFxuaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmJ1dHRvbiB7XG4gIGFwcGVhcmFuY2U6IG5vbmU7XG59XG5cbi5qcy1mb3JtLWl0ZW0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApIC8gMik7XG59XG5cbi5tLWVudGl0eV9fZW1iZWQge1xuICBmb3JtIHtcbiAgICBpbnB1dFt0eXBlPSdjaGVja2JveCddIHtcbiAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J10ge1xuICAgICAgQGV4dGVuZCAuYS1idG47XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogTW9sZWN1bGVzIC0gTWFpbiBuYXZcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4ubS1tYWluLW5hdiB7XG4gIHVsIHtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBbZGF0YS1uYXY9J29wZW4nXSAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIEJhbm5lclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5tLW5vLWJhbm5lciB7XG4gIG1hcmdpbi10b3A6IGNhbGModmFyKC0tYnVtcCkgKiAzKTtcblxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIG1hcmdpbi10b3A6IHZhcigtLWJ1bXApO1xuICB9XG59XG5cbi5tLWJhbm5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLm0tYmFubmVyLS13aXRob3V0LWFzc2V0IHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgJl9fdGV4dCB7XG4gICAgbWFyZ2luLXRvcDogNTVweDtcbiAgICBAZXh0ZW5kIC5oMjtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgbWFyZ2luLXRvcDogMzVweDtcbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBmb250Rm9udFRoZW1lQ29sb3VyO1xuICAgICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIH1cbiAgfVxuICAmX192aWRlbyB7XG4gICAgJi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgICYucGxheWluZyB7XG4gICAgICAgIC5tLWJhbm5lcl9fdmlkZW8taWNvbi0taXRlbS5wbGF5IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnBhdXNlZCAge1xuICAgICAgICAubS1iYW5uZXJfX3ZpZGVvLWljb24tLWl0ZW0ucGF1c2Uge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLWl0ZW0ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBncmlkLWdhcDogMTBweDtcbiAgICAgICAgaDQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJi0tcGVyc29uLWFydGlzdCB7XG4gICAgaDEgc3BhbiBzcGFuIHtcbiAgICAgIEBleHRlbmQgLmgzO1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gIH1cbiAgJi0tY29udGFpbmVkIHtcbiAgICAmLm0tYmFubmVyLS1uby1pbWFnZS5tLWJhbm5lci0tcGFnZSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICAubS1iYW5uZXJfX2NvcHktLWlubmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1NXB4O1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICAgIH1cbiAgICAgIC5tLWJhbm5lcl9fY29weSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5tLWJhbm5lci0tY2VudGVyZWQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwNHB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAubS1iYW5uZXJfX2NvcHktLWlubmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gICAgLm0tYmFubmVyX19jb3B5IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAmLm0tYmFubmVyLS13aXRoLWFzc2V0IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDY1MnB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWluLWhlaWdodDogNDY3cHg7XG4gICAgICB9XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgLmR1cmF0aW9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdmFyKC0tYy1jb2xvdXItdGhlbWUtc2V0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogNXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiA1MDBtcztcbiAgICAgIH1cbiAgICAgIHZpZGVvIHtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19jb3B5IHtcbiAgICAubS1iYW5uZXItLXdpdGgtYXNzZXQgJiB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHRvcDogMDtcbiAgICB9XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAmID4gLmdyaWQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgIGgxIHtcbiAgICAgICY6bm90KC5tLWJhbm5lci0tc29saWQtYmcgJikge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA5OXB4O1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA3N3B4O1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgaDEgc3BhbiwgcCB7XG4gICAgICBAaW5jbHVkZSBmb250Rm9udFRoZW1lQ29sb3VyO1xuICAgIH1cbiAgICAgcCB7XG4gICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmLS1jZW50ZXJlZCB7XG4gICAgLm0tYmFubmVyX19jb3B5IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgJi0tY3VydmVkIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDMwMHB4IDA7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyNTBweCAwO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDIwMHB4IDA7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTUwcHggMDtcbiAgICB9XG4gICAgJi5tLWJhbm5lci0tc29saWQtYmcge1xuICAgICAgbWluLWhlaWdodDogNjUycHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBtaW4taGVpZ2h0OiA0NjdweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5tLWJhbm5lci0td2l0aC1hc3NldCB7XG4gICAgICBtaW4taGVpZ2h0OiA2NTJweDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQ2N3B4O1xuICAgICAgfVxuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIC5kdXJhdGlvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLWMtY29sb3VyLXRoZW1lLXNldCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgdHJhbnNpdGlvbjogNTAwbXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdmlkZW8ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDMwMHB4IDA7XG4gICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyNTBweCAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDIwMHB4IDA7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTUwcHggMDtcbiAgICAgIH1cbiAgICB9XG4gICAgcGljdHVyZSxcbiAgICB2aWRlbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGltZyB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAzMDBweCAwO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyNTBweCAwO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDIwMHB4IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMTUwcHggMDtcbiAgICAgICAgfVxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAmLS1zb2xpZC1iZyB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tYy1jb2xvdXItdGhlbWUtc2V0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMzc1cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDE1MnB4O1xuICAgIH1cbiAgfVxuICAmLS1mdWxsLXdpZHRoIHtcbiAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDM3NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDMwMHB4IDA7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPGxnJykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwIDAgMjUwcHggMDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDAgMCAyMDBweCAwO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAwIDE1MHB4IDA7XG4gICAgICB9XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jLWNvbG91ci10aGVtZS1zZXQpO1xuICAgICAgei1pbmRleDogLTE7XG4gICAgfVxuICAgICYtaW1hZ2Uge1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgaGVpZ2h0OiAzODdweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgbWluLWhlaWdodDogMTUycHg7XG4gICAgICBwYWRkaW5nOiAyNXB4IDAgMCAwO1xuICAgIH1cbiAgICAubS1iYW5uZXJfX2NvcHkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLS1kZXRhaWxzIHtcbiAgICBwYWRkaW5nOiA0NXB4IDAgMjVweCAwO1xuICAgICYgPiAuZ3JpZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgJl9fY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDVmciA3ZnI7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiAyMHB4O1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA1ZnIgNWZyO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gMWZyO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIH1cbiAgICAgIC5tLWJhbm5lcl9fdGl0bGUge1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICB9XG4gICAgICAubS1iYW5uZXJfX2NvcHkge1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5tLWJhbm5lcl9faW1hZ2Uge1xuICAgICAgICBncmlkLXJvdzogc3BhbiAyO1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBvYmplY3QtZml0OiBzY2FsZS1kb3duO1xuICAgICAgICAgICAgb2JqZWN0LXBvc2l0aW9uOiB0b3A7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19mb290ZXIge1xuICAgIHBhZGRpbmc6IDMwcHggMCAwIDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuICAgIGg0LCBhIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIEBleHRlbmQgLmg0O1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBmb250LWZhbWlseTogQWRlbGxlO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGUgTGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgcGljdHVyZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaW1nIHtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4uYS1iYW5uZXItaW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gICZfX2NhcHRpb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICByaWdodDogMzBweDtcbiAgICB0b3A6IDMwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi0taXRlbSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBnYXA6IDdweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDI4cHg7XG5cbiAgICAgIHN2ZyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRkZGRkZGO1xuICAgICAgICBwYWRkaW5nOiA1cHggN3B4O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHAge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE1vbGVjdWxlcyAtIExpbmtlZCBsb2dvc1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbi5tLWxvZ29zIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNztcbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBTb2NpYWwgbGlua3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4vKipcbiAqIFN0eWxpbmdcbiAqL1xuLm0tc29jaWFsLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogY2FsYyh2YXIoLS1idW1wKSAvIDMpO1xuXG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIH1cblxuICAmX19saW5rIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBoZWlnaHQ6IGNhbGModmFyKC0tYnVtcCkgKiAxLjI1KTtcbiAgICB3aWR0aDogY2FsYyh2YXIoLS1idW1wKSAqIDEuMjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMjhweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cblxuICAgIHN2ZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIH1cblxuICAgIHJlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogMC4xcyB2YXIoLS1lYXNpbmcpO1xuICAgICAgZmlsbDogdmFyKC0tYy1wcmltYXJ5KTtcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHBhdGgge1xuICAgICAgICBmaWxsOiB2YXIoLS1jLWNvbG91ci10aGVtZS1zZXQpO1xuICAgICAgICBjb2xvcjogdmFyKC0tYy1jb2xvdXItdGhlbWUtc3R5bGUtc2V0KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5tLW9iamVjdC1pbWFnZSB7XHJcbiAgZGlzcGxheTogZ3JpZDtcclxuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDg4cHggMWZyIDg4cHg7XHJcbiAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNTEsMTUxLDE1MSwwLjIpO1xyXG4gIHBhZGRpbmc6IDIwcHg7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcclxuICB9XHJcbiAgJi0tZnVsbC13aWR0aCB7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuXHJcbiAgfVxyXG4gICYtLWNhcHRpb24ge1xyXG4gICAgcCB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcclxuICAgICAgcGFkZGluZzogNXB4O1xyXG4gICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE1MSwgMTUxLCAxNTEsIDAuMik7XHJcbiAgICAgIGJvcmRlci10b3A6IG5vbmU7XHJcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250UmVndWxhcik7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2Z1bGwge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAmLS1nYWxsZXJ5LXRvZ2dsZSB7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDZweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcclxuICAgICAgYm94LXNoYWRvdzogMCAxcHggNXB4IDAgcmdiKDAgMCAwIC8gMTIlKTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgcGFkZGluZzogMTBweDtcclxuICAgICAgY3Vyc29yOiBwb2ludGVyO1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJvdHRvbTogMDtcclxuICAgICAgcmlnaHQ6IDA7XHJcbiAgICB9XHJcbiAgICBpbWcge1xyXG4gICAgICBoZWlnaHQ6IDUwMHB4O1xyXG4gICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIGhlaWdodDogMjMwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgJl9fdGh1bWJuYWlscyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBvcmRlcjogMjtcclxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICBib3R0b206IC0zMHB4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgIGEge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgICYuaW5hY3RpdmUge1xyXG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgI3VwLWJ0biB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgc3ZnIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XHJcbiAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgICAgaGVpZ2h0OiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgY29udGVudDogXCJcIjtcclxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgICAgei1pbmRleDogMTtcclxuICAgICAgICB0b3A6IDI1cHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gdG9wLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCB3aGl0ZSA5MCUpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTYwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICNkb3duLWJ0biB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgfVxyXG4gICAgICBoZWlnaHQ6IDI1cHg7XHJcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgc3ZnIHtcclxuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgyNzBkZWcpO1xyXG4gICAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgICAgIGhlaWdodDogMTBweDtcclxuICAgICAgfVxyXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XHJcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgIHotaW5kZXg6IDE7XHJcbiAgICAgICAgdG9wOiAtMTYwcHg7XHJcbiAgICAgICAgbGVmdDogMDtcclxuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcclxuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiBsaW5lYXItZ3JhZGllbnQodG8gYm90dG9tLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDApLCB3aGl0ZSA5MCUpO1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTYwcHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWNvbnRhaW5lciB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XHJcbiAgICAgICAgbWF4LWhlaWdodDogNTEwcHg7XHJcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxMnB4O1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgICBnYXA6IDhweDtcclxuICAgICAgICAudGh1bWJuYWlsLWNvdW50IHtcclxuICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICB3aWR0aDogMTJweDtcclxuICAgICAgICAgICAgaGVpZ2h0OiAxMnB4O1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRDhEOEQ4O1xyXG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XHJcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgICYuYWN0aXZlLXRodW1ibmFpbCB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICYtLWl0ZW0ge1xyXG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHdpZHRoOiBhdXRvO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLm0tYXJ0d29ya3Mge1xyXG4gIHBhZGRpbmc6IDI1cHggMCA1cHggMDtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogN2ZyIDVmcjtcclxuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgcGFkZGluZzogNXB4IDA7XHJcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gIH1cclxuICAmX19hY3Rpb24ge1xyXG4gICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xyXG4gICAgICBncmlkLXJvdzogMztcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19oZWFkZXIge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtZ2FwOiAyMHB4O1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcclxuICAgIH1cclxuICAgICYtLXRpdGxlIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgICBncmlkLXJvdzogMTtcclxuICAgICAgfVxyXG4gICAgICBoMiB7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0tYXJyb3dzIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcclxuICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDI7XHJcbiAgICAgICAgZ3JpZC1yb3c6IDE7XHJcbiAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICBnYXA6IDQwcHg7XHJcbiAgICAgICAgYSB7XHJcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICB3aWR0aDogMTVweDtcclxuICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogYXV0bztcclxuICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xyXG4gICAgICAgICAgJi5wcmV2LWJ0biB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9hcnJvdy1sZWZ0LWFjdGl2ZS5zdmcpO1xyXG4gICAgICAgICAgICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvYXJyb3ctbGVmdC1pbmFjdGl2ZS5zdmcpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICAmLm5leHQtYnRuIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL2Fycm93LXJpZ2h0LWFjdGl2ZS5zdmcpO1xyXG4gICAgICAgICAgICAmW2FyaWEtZGlzYWJsZWQ9XCJ0cnVlXCJdIHtcclxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvYXJyb3ctcmlnaHQtaW5hY3RpdmUuc3ZnKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0tY29udGVudCB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgICAgICBncmlkLXJvdzogMjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmX19iaW9ncmFwaHkge1xyXG4gICAgcGFkZGluZzogNDBweCAwO1xyXG4gIH1cclxuICAmLS1ncmlkIHtcclxuICAgIGdyaWQtcm93OiAyO1xyXG4gICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgcGFkZGluZy10b3A6IDQwcHg7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBncmlkLWNvbHVtbjogMTtcclxuICAgICAgZ3JpZC1yb3c6IDI7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG4gICAgJl9fY29udGFpbmVyIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDI1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgICZfX2xvYWRtb3JlIHtcclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgbWFyZ2luOiA0MHB4IDAgMCAwO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi5zbGljay1saXN0IHtcclxuICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XHJcbiAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gNTJweCk7XHJcbiAgd2lkdGg6IDEwMCU7XHJcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcclxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBNb2xlY3VsZXMgLSBZTUFMXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKi9cblxuLm0tc2lnbnBvc3QtZ3JpZCB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtdGVtcGxhdGUtY29sdW1uczogN2ZyIDVmcjtcbiAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmcjtcbiAgZ3JpZC1nYXA6IDQwcHg7XG4gIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA4ZnIgNGZyO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiA5ZnIgM2ZyO1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgZ3JpZC1hdXRvLXJvd3M6IGF1dG87XG4gIH1cbiAgJl9faGVhZGVyIHtcbiAgICBncmlkLWNvbHVtbjogMTtcbiAgICBncmlkLXJvdzogMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgIGgyLCBwIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICB9XG4gIH1cbiAgJl9fYWN0aW9uIHtcbiAgICBncmlkLWNvbHVtbjogMjtcbiAgICBncmlkLXJvdzogMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXJvdzogMztcbiAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgfVxuICAmX19ncmlkIHtcbiAgICBncmlkLWNvbHVtbjogc3BhbiAyO1xuICAgIGdyaWQtcm93OiAyO1xuICAgIGdyaWQtZ2FwOiAyNXB4O1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgJi0tNCB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgfVxuXG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgIGdyaWQtcm93OiAyO1xuICAgICAgZ3JpZC1jb2x1bW46IDE7XG4gICAgfVxuICB9XG59XG4iLCIubS1kZXRhaWxzLWdyaWQge1xyXG4gIGgzIHtcclxuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xyXG4gICAgbWFyZ2luOiAwO1xyXG4gICAgcGFkZGluZzogMTVweCAwIDEwcHggMDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xyXG4gICAgfVxyXG4gIH1cclxuICAmLS1hcnRpc3Qge1xyXG4gICAgLm0tZGV0YWlscy1ncmlkLS1yb3cge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDE2MHB4IDFmcjtcclxuICAgICAgaDQ6Zmlyc3Qtb2YtdHlwZSB7XHJcbiAgICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZSBTZW1pIEJvbGQgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmLS1yb3cge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMTIwcHggMWZyO1xyXG4gICAgZ3JpZC1nYXA6IDUwcHg7XHJcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzk3OTc5NztcclxuICAgIHBhZGRpbmc6IDEycHggMCA4cHggMDtcclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIGdyaWQtZ2FwOiAycHg7XHJcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICBwYWRkaW5nOiAxNXB4IDAgMTFweCAwO1xyXG4gICAgfVxyXG4gICAgaDQsIGEge1xyXG4gICAgICBtYXJnaW46IDA7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGUgTGlnaHQ7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIGg0OmZpcnN0LW9mLXR5cGUge1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGUgIWltcG9ydGFudDtcclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGUgU2VtaSBCb2xkICFpbXBvcnRhbnQ7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLm0tbGFyZ2Utc2lnbnBvc3Qge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAmLS1jb250YWluZXIge1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBwYWRkaW5nOiA0MHB4IDA7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xyXG4gICAgICBtaW4taGVpZ2h0OiA2MjBweDtcclxuICAgIH1cclxuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgIG1pbi1oZWlnaHQ6IDQzMHB4O1xyXG4gICAgfVxyXG4gIH1cclxuICAmX19jb3B5IHtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAmLS1pbm5lciB7XHJcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgICAgaDIsIHAge1xyXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xyXG4gICAgICAgIEBpbmNsdWRlIGZvbnRGb250VGhlbWVDb2xvdXI7XHJcbiAgICAgIH1cclxuICAgICAgaDIge1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgICBmb250LXNpemU6IDMycHg7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0tY3RhIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2ltYWdlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHotaW5kZXg6IC0xO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICAuaW1hZ2UtY29udGFpbmVyIHtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaW1nIHtcclxuICAgICAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgIH1cclxuICAgICAgZmlndXJlIHtcclxuICAgICAgICBwaWN0dXJlIHtcclxuICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwNXB4O1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuXHJcbiAgICAgICAgICBpbWcge1xyXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xyXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcclxuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLm0tbWVkaWEtZW50aXR5IHtcclxuICBkaXNwbGF5OiBncmlkO1xyXG4gIGdyaWQtZ2FwOiAxMHB4O1xyXG4gICZfX2NhcHRpb24ge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjNTkyQjQxO1xyXG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xyXG4gICAgcCB7XHJcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGlmcmFtZSB7XHJcbiAgICBib3JkZXI6IG5vbmU7XHJcbiAgfVxyXG59XHJcblxyXG4iLCIubS1yZWFjdHZpZXcge1xyXG4gICYtbXVzZXVtIHtcclxuICAgICZfX29wdGlvbnMge1xyXG4gICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcclxuICAgICAgJi0tYWN0aW9ucyB7XHJcbiAgICAgICAgZGl2IHtcclxuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgICBhIHtcclxuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgZ3JpZC1nYXA6IDEwcHg7XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9faGVhZGVyIHtcclxuICAgICAgbWFyZ2luOiA0MHB4IDA7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBtYXJnaW46IDAgMCAxNXB4IDA7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgIH1cclxuICAgICAgLm0tZW50aXR5X19zaWducG9zdC0tYWN0aW9uIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM5Nzk3OTc7XHJcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9tYXAtYmFja2dyb3VuZC5wbmcpO1xyXG4gICAgICAgICAgYnV0dG9uIHtcclxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmX19tZW1iZXJzIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XHJcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xyXG4gICAgICAgIGdhcDogMjBweDtcclxuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGU7XHJcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xyXG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmX19maWx0ZXJzIHtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcclxuICAgICAgbWFyZ2luLXRvcDogMzBweDtcclxuICAgIH1cclxuICAgICYtLW9wdGlvbnMge1xyXG4gICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XHJcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xyXG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDBweDtcclxuICAgICAgZ3JpZC1nYXA6IDIwcHg7XHJcbiAgICAgICYtLWNvdW50IHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgICAgICBncmlkLWdhcDogMTBweDtcclxuICAgICAgfVxyXG5cclxuICAgICAgaDQge1xyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIC5zZWFyY2gtYXBwX19maWx0ZXJzLS1vcHRpb25zLS1jaGVja2JveCB7XHJcbiAgICAgICAgZ3JpZC1jb2x1bW46IDE7XHJcblxyXG4gICAgICAgIGRpdiB7XHJcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICAgICAgY29sdW1uLWdhcDogMzBweDtcclxuICAgICAgICAgIHJvdy1nYXA6IDEwcHg7XHJcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcblxyXG4gICAgICAuc2VhcmNoLWFwcF9fZmlsdGVycy0tb3B0aW9ucy0tZ3JpZCB7XHJcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgZ3JpZC1yb3c6IDM7XHJcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2dyaWQge1xyXG4gICAgZGlzcGxheTogZ3JpZDtcclxuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XHJcbiAgICB9XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbiNyb290IHtcclxuICAuYS1idG4ge1xyXG4gICAgZ3JpZC1jb2x1bW4tZ2FwOiA1cHg7XHJcbiAgICAmOmFmdGVyIHtcclxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL2ZpbHRlci13aGl0ZS5zdmcpO1xyXG4gICAgICB2aXNpYmlsaXR5OiBpbml0aWFsO1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XHJcbiAgICAgIHdpZHRoOiAxNXB4O1xyXG4gICAgfVxyXG4gICAgJi5tYXAtdmlldyB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9tYXAtdmlldy13aGl0ZS5zdmcpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLmdyaWQtdmlldyB7XHJcbiAgICAgICY6YWZ0ZXIge1xyXG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9ncmlkLXZpZXctd2hpdGUuc3ZnKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAuZ20tc3R5bGUtaXcge1xyXG4gICAgcGFkZGluZzogMThweCA4cHggOHB4IDhweCAhaW1wb3J0YW50O1xyXG5cclxuICAgIC5nbS1zdHlsZS1pdy1kIHtcclxuICAgICAgcGFkZGluZzogMDtcclxuICAgICAgd2lkdGg6IDE3NXB4O1xyXG4gICAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG4uc2xpZGUtcGFuZS5jb250ZW50LWFmdGVyLW9wZW4ge1xyXG4gIHdpZHRoOiA1MHZ3ICFpbXBvcnRhbnQ7XHJcbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc1MHB4KXtcclxuICAgIHdpZHRoOiA3MHZ3ICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG4gIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XHJcbiAgICB3aWR0aDogNjV2dyAhaW1wb3J0YW50O1xyXG4gIH1cclxuICBAaW5jbHVkZSBtZWRpYSgnPG1kJykge1xyXG4gICAgd2lkdGg6IDgwdncgIWltcG9ydGFudDtcclxuICB9XHJcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgfVxyXG5cclxufVxyXG4uUmVhY3RNb2RhbFBvcnRhbCB7XHJcbiAgLnNsaWRlLXBhbmVfX2Nsb3NlIHtcclxuICAgIGRpdiB7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGRkZGRkY7XHJcbiAgICAgIGRpc3BsYXk6IGZsZXg7XHJcbiAgICAgIHBhZGRpbmc6IDEwcHg7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcclxuXHJcbiAgICAgIGltZyB7XHJcbiAgICAgICAgd2lkdGg6IDE1cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiLmRpYWxvZy1vZmYtY2FudmFzLW1haW4tY2FudmFzIHtcclxuICBwb3NpdGlvbjogcmVsYXRpdmU7XHJcbiAgLm1lbnUtb3ZlcmxheSxcclxuICAuaGVhZGVyLXNlYXJjaCB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAuby1oZWFkZXIge1xyXG4gICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XHJcbiAgICB6LWluZGV4OiAyO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICB9XHJcbiAgLm1lbnUtb3ZlcmxheSxcclxuICBtYWluIHtcclxuICAgIG1hcmdpbi10b3A6IDczLjVweDtcclxuICB9XHJcbn1cclxuI2hlYWRlcm1vYmlsZXNlYXJjaCB7XHJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIEBpbmNsdWRlIG1lZGlhKFwiPHNtXCIpIHtcclxuICAgIG1hcmdpbjogMCAwIHZhcigtLWJ1bXApO1xyXG4gIH1cclxuICBpbnB1dCB7XHJcbiAgICAmW3R5cGU9XCJzdWJtaXRcIl0ge1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL3NlYXJjaC5zdmdcIik7XHJcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XHJcbiAgICAgIHdpZHRoOiAyMHB4O1xyXG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDIwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XHJcbiAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICBmb250LXNpemU6IDA7XHJcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xyXG4gICAgICBib3JkZXItY29sb3I6ICMzMzMzMzM7XHJcbiAgICB9XHJcbiAgICAmW3R5cGU9XCJ0ZXh0XCJdIHtcclxuICAgICAgd2lkdGg6IDEwMCU7XHJcbiAgICAgIGJvcmRlci1jb2xvcjogIzMzMzMzMztcclxuICAgICAgJjpmb2N1cyB7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5W2RhdGEtbW9iaWxlLW5hdj0nb3BlbiddLFxyXG5ib2R5W2RhdGEtbW9iaWxlLXNlYXJjaD0nb3BlbiddLFxyXG5ib2R5W2RhdGEtYXJ0LW92ZXJsYXk9J29wZW4nXSB7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcclxuICB9XHJcbiAgLm1lbnUtYWN0aXZlIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIHRvcDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgei1pbmRleDogNDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44NSk7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBoZWlnaHQ6IDEwMCU7XHJcbiAgICB9XHJcbiAgfVxyXG4gIC5oZWFkZXIge1xyXG4gICAgLm1lbnUtaWNvbiB7XHJcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgei1pbmRleDogNTtcclxuICAgIH1cclxuICAgIC5oZWFkZXItbG9nbyB7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XHJcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgICAgIHotaW5kZXg6IDU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAubWVudS1pY29uIHtcclxuICAgICAgLm1lbnUtaWNvbiB7XHJcbiAgICAgICAgJi1hY3RpdmUge1xyXG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICAmLWluYWN0aXZlIHtcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9hc3NldHMvaW1nL2Nsb3NlLnN2ZykgIWltcG9ydGFudDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgLmFkbWluLWZ1bmN0aW9ucyB7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICBkaXNwbGF5OiBub25lO1xyXG4gICAgfVxyXG4gIH1cclxuICAubWVudS1vdmVybGF5IHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgYW5pbWF0aW9uOiBmYWRlSW4gLjJzIGVhc2UtaW4tb3V0IGZvcndhcmRzO1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgd2lkdGg6IDEwMCU7XHJcbiAgICB6LWluZGV4OiA1MDtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XHJcbiAgICBAaW5jbHVkZSBtZWRpYSgnPG1kJyl7XHJcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICAgIH1cclxuICAgIC5tZW51LW92ZXJsYXlfX2lubmVyIHtcclxuICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgaGVpZ2h0OiA5NXZoO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xyXG4gICAgICAuby1oZWFkZXJfX2FydC1jb250ZW50IHtcclxuICAgICAgICAmID4gaDMge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi0tbmV3c2xldHRlciB7XHJcbiAgICAgICAgaDMge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xyXG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcclxuICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHggMDtcclxuICAgICAgICB9XHJcbiAgICAgICAgJi1jdGEge1xyXG4gICAgICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgJi0tbWVudSB7XHJcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNGM0YzRjM7XHJcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XHJcblxyXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgICBncmlkLWdhcDogMTNweDtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xyXG4gICAgICAgICAgbWFyZ2luLXRvcDogNDVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgdWwge1xyXG4gICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcclxuICAgICAgICAgIG1hcmdpbjogMDtcclxuICAgICAgICAgIHBhZGRpbmc6IDA7XHJcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgICAgZ3JpZC1nYXA6IDEzcHg7XHJcbiAgICAgICAgICBsaSB7XHJcbiAgICAgICAgICAgIGEge1xyXG4gICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XHJcbiAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgICAgICAgY29sb3I6ICMzMzMzMzM7XHJcbiAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZTtcclxuICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG59XHJcblxyXG5ib2R5W2RhdGEtbW9iaWxlLXNlYXJjaD0nb3BlbiddIHtcclxuICAubW9iaWxlLXNlYXJjaC1pY29uIHtcclxuICAgIGRpc3BsYXk6IG5vbmU7XHJcbiAgfVxyXG4gIC5tb2JpbGUtbWVudS1jbG9zZS1pY29uIHtcclxuICAgIG9yZGVyOiAxO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgfVxyXG4gIC5tb2JpbGUtbWVudS1pY29uIHtcclxuICAgIG9yZGVyOiAyO1xyXG4gIH1cclxufVxyXG5cclxuYm9keVtkYXRhLW1vYmlsZS1uYXY9J29wZW4nXSxcclxuYm9keVtkYXRhLWFydC1vdmVybGF5PSdvcGVuJ10ge1xyXG4gIC5tb2JpbGUtbWVudS1jbG9zZS1pY29uIHtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gIH1cclxuICAubW9iaWxlLW1lbnUtaWNvbiB7XHJcbiAgICBkaXNwbGF5OiBub25lO1xyXG4gIH1cclxufVxyXG5cclxuYm9keVtkYXRhLW1vYmlsZS1uYXY9J29wZW4nXSB7XHJcbiAgLm1lbnUtbW9iaWxlLW92ZXJsYXkge1xyXG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcclxuICAgIC5tZW51IHtcclxuICAgICAgZGlzcGxheTogZ3JpZDtcclxuICAgICAgZ3JpZC1nYXA6IDE1cHg7XHJcbiAgICAgIGxpIGEge1xyXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcclxuICAgICAgICBmb250LXdlaWdodDogNTAwO1xyXG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xyXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XHJcbiAgICAgICAgJjphZnRlciB7XHJcbiAgICAgICAgICBjb250ZW50OiAnJztcclxuICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9ibGFja2VkYXJyb3cuc3ZnKTtcclxuICAgICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuICAgICAgICAgIHRvcDogMDtcclxuICAgICAgICAgIHJpZ2h0OiAwO1xyXG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2FsYygxMDAlIC0gMTBweCkgY2VudGVyO1xyXG4gICAgICAgICAgdHJhbnNpdGlvbjogMC4xcztcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTMwcHg7XHJcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuYm9keVtkYXRhLW1vYmlsZS1zZWFyY2g9J29wZW4nXSB7XHJcbiAgLnNlYXJjaC1tb2JpbGUtb3ZlcmxheSB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgJl9fc2VhcmNoICB7XHJcbiAgICAgIC5tLXF1aWNrLWxpbmtzIHtcclxuICAgICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xyXG4gICAgICAgIGdyaWQtZ2FwOiAxM3B4O1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xyXG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XHJcbiAgICAgICAgICBmb250LWZhbWlseTogQWRlbGxlIExpZ2h0O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgICAmLS1mb2N1c2VkIHtcclxuICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xyXG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOTBweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgaDQge1xyXG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgICAgLm8taGVhZGVyX19yYWRpb3MtLWl0ZW0ge1xyXG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG4gICAgICAgICAgcCB7XHJcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBsYWJlbCB7XHJcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XHJcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJl9fc2VhcmNoLS1wb3B1bGFyLXNlYXJjaGVzIHtcclxuICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgIH1cclxuICB9XHJcbn1cclxuYm9keVtkYXRhLWFydC1vdmVybGF5PSdvcGVuJ10ge1xyXG4gIC5hcnQtb3ZlcmxheSB7XHJcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xyXG4gICAgJl9faW5uZXIge1xyXG4gICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YzZjNmMztcclxuICAgICAgcGFkZGluZy10b3A6IDMwcHg7XHJcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XHJcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcclxuICAgICAgICBtYXJnaW4tYm90dG9tOiA5MHB4O1xyXG4gICAgICB9XHJcbiAgICAgIGEge1xyXG4gICAgICAgIEBleHRlbmQgLmg0O1xyXG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICAgICAgICBmb250LWZhbWlseTogQWRlbGxlO1xyXG4gICAgICAgIHN2ZyB7XHJcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgICAgICAgd2lkdGg6IDlweDtcclxuICAgICAgICAgIGhlaWdodDogMTVweDtcclxuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgcCB7XHJcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcclxuICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBIZWFkZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG5ib2R5W2RhdGEtc2VhcmNoPSdvcGVuJ10ge1xuICAuby1oZWFkZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNGNUY1RjU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDMyO1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuICBtYWluIHtcbiAgICBwYWRkaW5nLXRvcDogMTI1cHg7XG4gICAgb3BhY2l0eTogMC41O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBwYWRkaW5nLXRvcDogNzMuNXB4O1xuICAgIH1cbiAgfVxufVxuXG5cbi5vLWhlYWRlciB7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYgPiAuZ3JpZCB7XG4gICAgbWluLWhlaWdodDogMTI1cHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDczLjVweDtcbiAgICAgIGhlaWdodDogNzMuNXB4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgJl9fbW9iaWxlIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsaSB7XG5cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG9iamVjdC1maXQ6IHNjYWxlLWRvd247XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1vYmlsZS1tZW51LWNsb3NlLWljb24ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbiAgJl9fYXJ0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGJvZHlbZGF0YS1hcnRoZWFkZXI9J29wZW4nXSAmIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDM7XG4gICAgICBwYWRkaW5nOiA0MHB4IDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjNGM0YzO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYtY29udGVudCB7XG4gICAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgIH1cbiAgICAgIC5tLWVudGl0eV9fc2lnbnBvc3QtLWl0ZW0ge1xuICAgICAgICAuby10ZWFzZXItc2lnbnBvc3QtY29udGVudCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxODhweCBhdXRvO1xuICAgICAgICAgIEBpbmNsdWRlIG1lZGlhICgnPG1kJyl7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEgKCc8c20nKXtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMjAwcHggYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY29udGVudCB7XG4gICAgICAgICAgICBoMiBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udEZvbnRUaGVtZUNvbG91cjtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGgyIGEge1xuICAgICAgICAgICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJiA+IC5ncmlkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuICAmX19jbG9zZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBib2R5W2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB9XG4gIH1cbiAgJl9fcmFkaW9zIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBncmlkLWdhcDogNTBweDtcbiAgICBpbnB1dCB7XG4gICAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICAgIH1cbiAgICBoMywgaW5wdXQsIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgIGNvbG9yOiB2YXIoLS1jLWZvbnQtY29sb3IpXG4gICAgfVxuICAgICYtLWl0ZW0ge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byAxZnI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgICAmLXNlbGVjdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgJi1yb3cge1xuICAgICAgICAgIGxhYmVsIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19sb2dvLFxuICAmX19jb250YWN0LFxuICAmX19tYWluLW1lbnUsXG4gICZfX3N1Yi1tZW51IHtcbiAgICBib2R5W2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICZfX2xvZ28ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTY1cHg7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICBoZWlnaHQ6IDg0cHg7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBtYXgtd2lkdGg6IDk4cHg7XG4gICAgICB9XG4gICAgfVxuICAgICYtLWRlc2t0b3Age1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbW9iaWxlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXRvcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgIHRvcDogLTE1cHg7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuICAgICAgLm1vYmlsZS1qcyAmIHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuICAgICAgc3ZnIHtcbiAgICAgICAgLy8gd2lkdGg6IDMwcHg7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb24tZGVsYXk6IDAuMjVzO1xuICAgICAgICAubW9iaWxlLWpzICYge1xuICAgICAgICAgIHdpZHRoOiA4NXB4O1xuXG4gICAgICAgICAgLy9oZWlnaHQ6IDMwcHg7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0tYm90dG9tIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB0b3A6IC0xNXB4O1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gICAgICB0cmFuc2l0aW9uLWRlbGF5OiAwLjI1cztcbiAgICAgIC5tb2JpbGUtanMgJiB7XG4gICAgICAgIC8vdG9wOiAwO1xuICAgICAgfVxuICAgICAgc3ZnIHtcbiAgICAgICAgLm1vYmlsZS1qcyAmIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTcwJSk7XG4gICAgICAgIH1cbiAgICAgICAgd2lkdGg6IDExNXB4O1xuICAgICAgICBoZWlnaHQ6IDM1cHg7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAuMjVzIGN1YmljLWJlemllciguNCwwLC4yLDEpIC4ycztcbiAgICAgICAgdHJhbnNpdGlvbi1kZWxheTogMC4yNXM7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX3NlYXJjaCB7XG4gICAgaW5wdXQge1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBib3JkZXItY29sb3I6ICM5Nzk3OTc7XG5cbiAgICAgICZbdHlwZT1zdWJtaXRdIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyMHB4O1xuICAgICAgICBib3JkZXItY29sb3I6ICM5Nzk3OTc7XG4gICAgICB9XG4gICAgICBib2R5W2RhdGEtc2VhcmNoPVwib3BlblwiXSAmIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1mb2N1c2VkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBib2R5W2RhdGEtc2VhcmNoPSdvcGVuJ10gJiB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzNXB4O1xuICAgICAgICBncmlkLWdhcDogMzBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tcG9wdWxhci1xdWljay1saW5rcyB7XG4gICAgICAubS1xdWljay1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI0Q4RDhEODtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICBib3JkZXI6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1wb3B1bGFyLXNlYXJjaGVzIHtcbiAgICAgIC5tLWVudGl0eV9fc2lnbnBvc3QtLWl0ZW0ge1xuICAgICAgICAuby10ZWFzZXItc2lnbnBvc3QtY29udGVudCB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAxODhweCBhdXRvO1xuICAgICAgICAgICZfX2NvbnRlbnQge1xuICAgICAgICAgICAgaDIgYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnRGb250VGhlbWVDb2xvdXI7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIGlucHV0IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICAmX19jb250YWN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG4gICZfX3N1Yi1tZW51IHtcbiAgICB1bCB7XG4gICAgICBnYXA6IDE1cHg7XG4gICAgfVxuICB9XG4gICZfX21haW4tbWVudSxcbiAgJl9fc3ViLW1lbnUge1xuICAgIHVsIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZ2FwOiAxNXB4O1xuICAgICAgICBhIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19tZW51IHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgfVxuICAmX19tYWluLW1lbnUge1xuICAgIHVsIHtcbiAgICAgIGdhcDogMzJweDtcbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1hcnQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgZm9udC1mYW1pbHk6ICdBZGVsbGUnO1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgICAvKiB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgKi9cbiAgICAgIHRyYW5zaXRpb246IGFsbCB2YXIoLS10cmFuc2l0aW9uKTtcbiAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgICBjb2xvcjogdmFyKC0tYy1mb250LWNvbG9yKTtcbiAgICAgIC8qIG91dGxpbmU6IDA7ICovXG4gICAgICBib3JkZXI6IDA7XG4gICAgICAmOmhvdmVye1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgIH1cbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAtMnB4O1xuICAgICAgICBib2R5W2RhdGEtYXJ0aGVhZGVyPSdvcGVuJ10gJiB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19zdWItbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGkge1xuICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Q4RDhEODtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBGb290ZXJcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby1mb290ZXIge1xuICBtYXJnaW4tdG9wOiA1MHB4O1xuICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gIH1cbiAgJl9fbW9iaWxlLXRvcCB7XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZ2FwOiAxMHB4O1xuICAgICAgc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIGhlaWdodDogOXB4O1xuICAgICAgfVxuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICB9XG4gICZfX2NvbnRlbnQge1xuXG4gICAgJi0tY29sdW1uIHtcbiAgICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1saW5rcyxcbiAgICAmLS1saW5rcy1zdGFja2VkIHtcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLWdhcDogMjBweCA0MHB4O1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBsaSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1saW5rcy1zdGFja2VkIHtcbiAgICAgIHVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmcjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJi0tbG9nb3Mge1xuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgIGltZywgc3ZnIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6bGFzdC1vZi10eXBlIHtcbiAgICAgICAgICBpbWcsIHN2ZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIzMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbWcsc3ZnIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtLWxpbmtzIHtcbiAgICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZm9vdGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgfVxuICAgICYtLXNvY2lhbCB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDIwcHg7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZ2FwOiAyMHB4O1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuMnM7XG4gICAgICAgICAgICAmLmZhY2Vib29rIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9mYWNlYm9vay13aXRoLWNpcmNsZS5zdmcnKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9mYWNlYm9vay13aXRoLWNpcmNsZS1ob3Zlci5zdmcnKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi5pbnN0YWdyYW0ge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJy90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL2luc3RhZ3JhbS13aXRoLWNpcmNsZS5zdmcnKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9pbnN0YWdyYW0td2l0aC1jaXJjbGUtaG92ZXIuc3ZnJyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYudHdpdHRlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvdHdpdHRlci13aXRoLWNpcmNsZS5zdmcnKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCcvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy90d2l0dGVyLXdpdGgtY2lyY2xlLWhvdmVyLnN2ZycpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYtLXRyYWRlbWFyayB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBvcmRlcjogMztcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tY3JlYXRvciB7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICAgIG9yZGVyOiAzO1xuICAgICAgfVxuICAgIH1cbiAgICBoNSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIGZvbnQtZmFtaWx5OiBBZGVsbGUgTGlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gVmlld3NcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby12aWV3IHtcbn1cbiIsIi8qKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICogVW4udGl0bGVkXG4gKiBPcmdhbmlzbXMgLSBTZWFyY2ggcmVzdWx0c1xuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbiNzZWFyY2gtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cblxuLm8tc2VhcmNoLXJlc3VsdHMtd3JhcHBlciB7XG4gIGgyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLnJlc3VsdF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuICAmX19saXN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiBjYWxjKHZhcigtLWJ1bXApICogMik7XG5cbiAgICBvbCB7XG4gICAgICBAaW5jbHVkZSBsaS1yZXNldDtcblxuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiB2YXIoLS1idW1wKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLlJlYWN0TW9kYWxfX0JvZHktLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uUmVhY3RNb2RhbFBvcnRhbCB7XG4gIC5zbGlkZS1wYW5lIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjVmNWY1O1xuICAgICZfX2hlYWRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBidXR0b257XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC1oZWlnaHQ6IDc1MHB4KSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyNXB4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX292ZXJsYXkge1xuICAgICAgei1pbmRleDogMjAwMDtcbiAgICB9XG4gIH1cbn1cblxuXG4udmlydHVvc28tZ3JpZC1saXN0IHtcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAhaW1wb3J0YW50O1xuICB9XG59XG5cbi5zZWFyY2gtYXBwX19hY3RpdmUtcGFuZS0tYWN0aXZlLS1pbm5lcixcbi5zZWFyY2gtYXBwX19hY3RpdmUtZmlsdGVycy0taXRlbXMge1xuICBvdmVyZmxvdy14OiBhdXRvO1xuICBwYWRkaW5nOiA1cHg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhIHtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxufVxuXG4uc2VhcmNoLWFwcF9fYWN0aXZlLXBhbmUtLWxhenlsb2FkIHtcbiAgaGVpZ2h0OiAyNDJweDtcbn1cblxuLnNlYXJjaC1hcHBfX2FjdGl2ZS1wYW5lLS1tb2JpbGUtLWl0ZW1zIHtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gIGdyaWQtZ2FwOiAxNnB4O1xuICBtYXJnaW4tdG9wOiA4MHB4O1xuICBhIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1mYW1pbHk6IEFkZWxsZTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvYXJyb3ctcmlnaHQtYWN0aXZlLnN2Zyk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHJpZ2h0OiAtMTVweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA3cHg7XG4gICAgfVxuICB9XG59XG5cbi5zZWFyY2gtYXBwIHtcbiAgbWFyZ2luOiA0MHB4IDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdyaWQtZ2FwOiAyMHB4O1xuICAmX19jb250YWluZXIge1xuICAgIG1pbi1oZWlnaHQ6IDc1dmg7XG4gIH1cbiAgJl9fbG9hZGluZyB7XG4gICAgbWluLWhlaWdodDogNzV2aDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNDUpO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC90aGVtZXMvcGlwcGlwL2Rpc3QvaW1nL3RhaWwtc3Bpbi5zdmcpO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyMDBweDtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIH1cbiAgfVxuICAmX19zZWFyY2hiYXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBpbnB1dCB7XG4gICAgICAmW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9zZWFyY2guc3ZnKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBmb250LXNpemU6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lO1xuICAgICAgICBib3JkZXItY29sb3I6ICM5Nzk3OTc7XG5cbiAgICAgICAgYm9keVtkYXRhLXNlYXJjaD1cIm9wZW5cIl0gJiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmW3R5cGU9XCJ0ZXh0XCJdIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIC8vYm9yZGVyLWNvbG9yOiAjMzMzMzMzO1xuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAvL2JvcmRlci1jb2xvcjogIzMzMzMzMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19pbmRleGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRDhEOEQ4O1xuICAgIG1hcmdpbjogNDBweCAwIDE1cHggMDtcbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBncmlkLWdhcDogMTBweDtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjRDhEOEQ4O1xuICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgfVxuICAgIC5hLXNlYXJjaC1idG4ge1xuICAgICAgcGFkZGluZzogMCAxMHB4IDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBjb2xvcjogIzMzMzMzMztcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDM2cHg7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmZjtcbiAgICAgIGdhcDogNXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICYuYWN0aXZlLFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI0VEQUU1ODtcbiAgICAgIH1cbiAgICAgIHNwYW4ge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZmlsdGVycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciBhdXRvO1xuICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICBncmlkLWdhcDogMjBweDtcbiAgICB9XG4gICAgJi0taWNvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTJweDtcbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1jb3VudGVyIHtcbiAgICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZSBTZW1pIEJvbGQ7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAycHggMTJweDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDlweDtcblxuICAgIH1cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbiAgICAmLS1vcHRpb25zIHtcblxuICAgICAgJi0tZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMjBweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuICAgICAgJi0tbW9iaWxlLWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIGdyaWQtZ2FwOiAxNXB4O1xuICAgICAgICBoNCB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAmX19hY3RpdmUtZmlsdGVycyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gICAgZ3JpZC1nYXA6IDIwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI0Y1RjVGNTtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBoNCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgICAuYS1jaXJjdWxhci1saW5rcyB7XG4gICAgICBhIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIH1cbiAgICB9XG4gICAgJi0tcmVzZXQge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcmVzdWx0cyB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICB9XG4gICZfX2FjdGl2ZS1wYW5lIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtZ2FwOiAyMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtcm93czogMWZyIDVmcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgJi0taGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICAgICYtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICYtc2VhcmNoIHtcbiAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIGF1dG87XG4gICAgICAgICAgZ3JpZC1nYXA6IDMwcHg7XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0ZGRkZGRjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250VGl0bGUpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgvdGhlbWVzL3BpcHBpcC9kaXN0L2ltZy9zZWFyY2guc3ZnKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxMHB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICAgICAgZ3JpZC1nYXA6IDE1cHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1jbGVhciB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICB9XG4gICAgfVxuICAgICYtLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICAgIGdyaWQtZ2FwOiAxMHB4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICB9XG4gICAgICAmLS1pbm5lciB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMCAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5hLWNpcmN1bGFyLWxpbmtzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmLS1maWx0ZXJzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3ZlcmZsb3c6IHNjcm9sbDtcbiAgICAgICYtZ3JpZCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBkaXNwbGF5OiBncmlkO1xuXG4gICAgICAgICYtTXVzZXVtcyB7XG4gICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICAgIH1cbiAgICAgICAgJi1DbGFzc2lmaWNhdGlvbiB7XG5cblxuICAgICAgICAgIC5zZWFyY2gtYXBwX19hY3RpdmUtcGFuZS0tZmlsdGVycy1ncmlkLS1jaGVja2JveCB7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJiA+IGRpdiB7XG4gICAgICAgICAgLy9oZWlnaHQ6IDk3JSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtYXBwX19hY3RpdmUtcGFuZS0tZmlsdGVycy1ncmlkLS1jaGVja2JveCB7XG4gICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4jcm9vdCB7XG5cbiAgLmxpc3Rpbmcge1xuXG4gICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG4gICAgfVxuXG4gICAgJi0tcGFnaW5hdGlvbiB7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgIH1cblxuICB9XG59XG4iLCIvKipcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqIFVuLnRpdGxlZFxuICogT3JnYW5pc21zIC0gc2lkZWJhclxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG4uby1zaWRlYmFyIHtcbiAgQGluY2x1ZGUgbWVkaWEoJz5tZCcpIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNEOEQ4RDg7XG4gICAgcGFkZGluZy1sZWZ0OiAyNXB4O1xuICB9XG4gIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0Q4RDhEODtcbiAgICBwYWRkaW5nOiA0MHB4IDA7XG4gIH1cbiAgaDMsIGEge1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgIH1cbiAgfVxuICBoMyB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICB9XG4gIC5tZW51IHtcbiAgICBkaXNwbGF5OiBncmlkICFpbXBvcnRhbnQ7XG4gICAgZ3JpZC1nYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBsaS5pcy1hY3RpdmUtdHJhaWwge1xuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICAmLmlzLWFjdGl2ZS10cmFpbCxcbiAgICAgICAgJi5uYXYtcGFyZW50IHtcbiAgICAgICAgICBjb2xvcjogIzMzMztcbiAgICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udEJvbGQpO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoL3RoZW1lcy9waXBwaXAvZGlzdC9pbWcvdHJpYW5nbGUtcmlnaHQuc3ZnKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxNXB4IDEwcHg7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGEgIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgZm9udC1mYW1pbHk6IEFkZWxsZSBMaWdodDtcbiAgfVxuICB1bCB7XG4gICAgbGkge1xuICAgICAgYSB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX21lbnUge1xuICAgICYgPiB1bC5tZW51IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTNweDtcbiAgICAgICYgPiBsaSB7XG4gICAgICAgICYgPiB1bC5tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYgPiBsaS5pcy1hY3RpdmUtdHJhaWwge1xuICAgICAgICAmID4gdWwubWVudSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuXG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICYgPiB1bC5tZW51IHtcbiAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgICYgPiBsaS5pcy1hY3RpdmUtdHJhaWwge1xuICAgICAgICAgICAgJiA+IHVsLm1lbnUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIFRlYXNlcnNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby10ZWFzZXIge1xuICBkaXNwbGF5OiBncmlkO1xuICAmOmhvdmVyIHtcbiAgICAgIC5vLXRlYXNlcl9fdGh1bWI6YWZ0ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjE7XG4gICAgICB9XG4gICAgIGgyIHtcbiAgICAgICAvL3RleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICB9XG4gIH1cbiAgJl9fdGh1bWIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgQGluY2x1ZGUgbWVkaWEoXCI8c21cIikge1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzMzMzM7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAuYS1pbWFnZS1jcmVkaXQge1xuICAgICAgbGVmdDogY2FsYyh2YXIoLS1idW1wKSAvIDEuNSk7XG4gICAgfVxuICAgIHBpY3R1cmUge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zaXRpb246IHZhcigtLXRyYW5zaXRpb24pO1xuICAgIH1cblxuICB9XG4gICZfX2NvbnRlbnQge1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMjBweCAwIDAgMDtcblxuXG4gICAgaDQge1xuXG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAmLm8tdGVhc2VyX19jb250ZW50LS10ZXJtLXRpdGxlIHtcblxuXG4gICAgICAgIGEsIHNwYW4ge1xuICAgICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIGgyLGgzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBhIHtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBoNSB7XG5cbiAgICAgICYuby10ZWFzZXJfX2NvbnRlbnQtLXRlcm0tdGl0bGUsXG4gICAgICAmLm8tdGVhc2VyX19jb250ZW50LS10ZXJtLXRpdGxlIGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgIGNvbG9yOiAjNzc3Nzc3O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgfVxuXG4gICAgfVxuXG4gICAgYS5vLXRlYXNlcl9fY29udGVudC0tcmVhZC1tb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2J1dHRvbnMge1xuICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgcGFkZGluZzogMCBjYWxjKHZhcigtLWJ1bXApIC8gMS41KSBjYWxjKHZhcigtLWJ1bXApIC8gMS41KTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICBnYXA6IGNhbGModmFyKC0tYnVtcCkgLyAyKTtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICB9XG4gICYtYXJ0d29yay10ZWFzZXIge1xuICAgICZfX2ltYWdlLWNvbnRhaW5lciB7XG4gICAgICBhbGlnbi1zZWxmOiBlbmQ7XG4gICAgfVxuICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDFmciBtaW5tYXgoMTgwcHgsIGF1dG8pO1xuICAgIH1cbiAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgZGlzcGxheTogZ3JpZCAhaW1wb3J0YW50O1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgIH1cbiAgICAuby10ZWFzZXJfX3RodW1iIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJi1zaWducG9zdC1jb250ZW50IHtcbiAgICAuYS1ncmlkLS00ICYge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAzMDBweCBhdXRvO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNTBweCBhdXRvO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDIwMHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmEtZ3JpZC0tMyAmIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogNDAwcHggYXV0bztcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bGcnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMzUwcHggYXV0bztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8bWQnKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogMzAwcHggYXV0bztcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICAuYS1ncmlkLS0yICYge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA1MDBweCBhdXRvO1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxsZycpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiA0NTBweCBhdXRvO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxtZCcpIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG87XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDIwMHB4IGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgaDIgYSB7XG4gICAgICAgIEBleHRlbmQgLmgzO1xuICAgICAgfVxuICAgIH1cbiAgICBpbWcge1xuICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgfVxuICB9XG4gICYtbXVzZXVtLW1hcC10ZWFzZXIge1xuICAgICZfX2NvbnRlbnQge1xuICAgICAgZ3JpZC1nYXA6IDVweDtcbiAgICAgIGg0LCBoMiwgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE5cHg7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYtZXhwbG9yZS10ZWFzZXIsXG4gICYtdGVhc2VyLFxuICAmLWFydHdvcmstdGVhc2VyIHtcbiAgICAuby10ZWFzZXJfX2NvbnRlbnQge1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIGF1dG8gYXV0byBhdXRvO1xuICAgIH1cbiAgfVxuICAmLWV4cGxvcmUtdGVhc2VyIHtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IDI0M3B4IGF1dG87XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogYXV0byBhdXRvO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG4gICAgLm8tdGVhc2VyX190aHVtYiB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAmLXRlYXNlciB7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiAyNDNweCBhdXRvO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgfVxuICAgIC5vLXRlYXNlcl9fdGh1bWIge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuICAmLXNlYXJjaC1yZXN1bHQtdGVhc2VyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMjI1cHggMWZyO1xuICAgIGdyaWQtZ2FwOiAyNXB4O1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IGF1dG8gMWZyO1xuICAgICAgZ3JpZC1nYXA6IDEwcHg7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc+c20nKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xuICAgICAgICBncmlkLWNvbHVtbjogMjtcbiAgICAgICAgZ3JpZC1yb3c6IDE7XG4gICAgICAgIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NvbnRlbnQge1xuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgZ3JpZC1yb3c6IDI7XG4gICAgICB9XG4gICAgICAmLS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tdGFncyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMTBweDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBoNCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBnYXA6IDEwcHg7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX3RodW1iIHtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGdyaWQtY29sdW1uOiAxO1xuICAgICAgICBncmlkLXJvdzogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICB9XG4gIH1cbn1cbiIsIi5vLXNpZ251cCB7XHJcbiAgYmFja2dyb3VuZDogdmFyKC0tYy1jb2xvdXItdGhlbWUtc2V0KTtcclxuICBwYWRkaW5nOiA2MHB4IDA7XHJcbiAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgIHBhZGRpbmc6IDI1cHggMDtcclxuICB9XHJcbiAgJl9fY29udGVudCB7XHJcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICBoMiB7XHJcbiAgICAgIEBpbmNsdWRlIGZvbnRGb250VGhlbWVDb2xvdXI7XHJcbiAgICB9XHJcbiAgICAmLS1hY3Rpb24ge1xyXG4gICAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59IiwiLyoqXG4gKiAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiBVbi50aXRsZWRcbiAqIE9yZ2FuaXNtcyAtIERlZmF1bHRcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAqL1xuXG4uby1kZWZhdWx0IHtcbiAgJl9fY2VudGVyZWQtY29udGVudCB7XG4gICAgLm0tZW50aXR5IHtcbiAgICAgICY6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICZfX2V2ZW50LWRldGFpbHMge1xuICAgIG1hcmdpbjogNDBweCAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiBhdXRvIDFmciAxZnI7XG4gICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnI7XG4gICAgICBncmlkLWdhcDogMTBweDtcbiAgICB9XG4gICAgJi0taXRlbSB7XG4gICAgICAmLWRhdGUge1xuICAgICAgICBncmlkLXJvdzogMjtcbiAgICAgICAgZ3JpZC1jb2x1bW46IHNwYW4gMjtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi10aW1lIHtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICB9XG4gICAgICAmLWxpbWl0IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi1ib29raW5nIHtcbiAgICAgICAgZ3JpZC1yb3c6IDM7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgICBkaXYge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZ2FwOiA1cHg7XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPnNtJykge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBncmlkLWNvbHVtbjogMTtcbiAgICAgICAgICBncmlkLXJvdzogYXV0bztcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBnYXA6IDVweDtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fY29udGVudCB7XG4gICAgQGluY2x1ZGUgbWVkaWEoJz5zbScpIHtcbiAgICAgIG1hcmdpbi10b3A6IDQ1cHg7XG4gICAgfVxuICAgICYtLWNvbnRhaW5lciB7XG5cbiAgICB9XG4gICAgJi0tYm9keSB7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgIH1cbiAgICAmLS1kZXRhaWxzIHtcbiAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBnYXA6IDM1cHg7XG4gICAgICBtYXJnaW46IDQwcHggMDtcbiAgICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyO1xuICAgICAgICBncmlkLWdhcDogMTBweDtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICB9XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNEOEQ4RDg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDM1cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGdhcDogMTJweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IEFkZWxsZTtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgICAgIH1cbiAgICAgICAgJjpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi5vLWV2ZW50IHtcbiAgJl9fZGV0YWlscyB7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuXG5kaXYjc2xpZGluZy1wb3B1cCwgZGl2I3NsaWRpbmctcG9wdXAgLmV1LWNvb2tpZS13aXRoZHJhdy1iYW5uZXIsIC5ldS1jb29raWUtd2l0aGRyYXctdGFiIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYy1jb2xvdXItdGhlbWUtc2V0KTtcbiAgLnBvcHVwLWNvbnRlbnQge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIEBpbmNsdWRlIG1lZGlhKCc8c20nKSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAuZXUtY29va2llLWNvbXBsaWFuY2UtYnV0dG9ucyB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyO1xuICAgIH1cbiAgICBoMiwgcCwgYSwgLmZpbmQtbW9yZS1idXR0b24sIC5hZ3JlZS1idXR0b24ge1xuICAgICAgY29sb3I6IHZhcigtLWMtY29sb3VyLXRoZW1lLXN0eWxlLXNldCk7XG4gICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udFJlZ3VsYXIpO1xuICAgIH1cbiAgICBwLCAuZmluZC1tb3JlLWJ1dHRvbiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjZweDtcbiAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250Qm9keSk7XG4gICAgfVxuICAgIC5hZ3JlZS1idXR0b24ge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICB9XG4gICAgLmRlY2xpbmUtYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIGJ0bjtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICAgICAgZm9udC13ZWlnaHQ6IGxpZ2h0ZXI7XG4gICAgICBib3JkZXI6IG5vbmU7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5vLW9iamVjdHMge1xyXG4gICZfX2RldGFpbHMge1xyXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gICAgaDIuaDMge1xyXG4gICAgICBhIHtcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xyXG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDI4cHg7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1tdXNldW1zIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgZmxleC13cmFwOiB3cmFwO1xyXG4gICAgICBnYXA6IDVweDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICB9XHJcbiAgfVxyXG4gICZfX2NvbnRlbnQge1xyXG4gICAgLm0tZXhwYW5kaW5nLWNhcmQuYWNjb3JkaW9uX19yb3cge1xyXG4gICAgICAubS1leHBhbmRpbmctY2FyZF9fY29udGVudCB7XHJcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xyXG4gICAgICAgIHAge1xyXG4gICAgICAgICAgQGV4dGVuZCAuaDQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIC5qcy1hY2NvcmRpb25fX2hlYWRlciB7XHJcbiAgICAgICAgaGVpZ2h0OiAxMDBweDtcclxuICAgICAgICBAZXh0ZW5kIC5oMztcclxuICAgICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgICAgaGVpZ2h0OiA2MnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgJi0tZm9vdGVyIHtcclxuICAgICAgbWFyZ2luOiA2MHB4IDAgNDBweCAwO1xyXG4gICAgICBAaW5jbHVkZSBtZWRpYSgnPHNtJykge1xyXG4gICAgICAgIG1hcmdpbjogNDBweCAwIDIwcHggMDtcclxuICAgICAgICBoMyB7XHJcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG4gICAgICAgIH1cclxuICAgICAgICBhIHtcclxuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcclxuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICAmX19pbWFnZS1zZWxlY3RvciB7XHJcbiAgICBtYXJnaW4tdG9wOiAtNDBweDtcclxuICB9XHJcbiAgJl9fbGlnaHRib3gge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIGJvZHlbZGF0YS1saWdodGJveD1cIm9wZW5cIl0gJiB7XHJcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgICAgdG9wOiAwO1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjVGNUY1O1xyXG4gICAgICB6LWluZGV4OiA1O1xyXG4gICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xyXG4gICAgICBvdmVyZmxvdzogc2Nyb2xsO1xyXG4gICAgfVxyXG4gICAgLmdyaWQge1xyXG4gICAgICB3aWR0aDogMTAwJTtcclxuICAgIH1cclxuICAgICYtLWNsb3NlIHtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcclxuICAgIH1cclxuICAgICYtLWFjdGlvbiB7XHJcbiAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XHJcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICAgICYuaW5hY3RpdmUge1xyXG4gICAgICAgIGEge1xyXG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgc3ZnIHtcclxuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xyXG4gICAgICAgIHdpZHRoOiAzOHB4O1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICAmLS1vdXRlci1jb250ZW50IHtcclxuICAgICAgLy9oZWlnaHQ6IDc1dmg7XHJcbiAgICB9XHJcbiAgICAmLS1jb250ZW50IHtcclxuICAgICAgaGVpZ2h0OiA3MHZoO1xyXG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICAgICAgZGlzcGxheTogZmxleDtcclxuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgICAgZ2FwOiA0MHB4O1xyXG4gICAgICBpbWcge1xyXG4gICAgICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgICAgIGhlaWdodDogMTAwJTtcclxuICAgICAgICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5ib2R5W2RhdGEtbGlnaHRib3g9XCJvcGVuXCJdIHtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG59IiwiLm8tZXZlbnQtcGFnZSB7XHJcbiAgJl9fY29udGVudCB7XHJcbiAgICBtYXJnaW4tdG9wOiA2NXB4O1xyXG4gICAgaDEge1xyXG4gICAgICBAaW5jbHVkZSBmb250Rm9udFRoZW1lQ29sb3VyO1xyXG4gICAgfVxyXG4gIH1cclxufSIsIi5vLW11c2V1bSB7XHJcbiAgJl9fYmlvZ3JhcGh5IHtcclxuICAgIGgyIHtcclxuICAgICAgQGluY2x1ZGUgbWVkaWEoJzxzbScpIHtcclxuICAgICAgICBmb250LXNpemU6IDIwcHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XHJcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxufSIsIi5vLWFydGlzdCB7XHJcbiAgICAmX193aWtpcGVkaWEge1xyXG4gICAgICBkaXNwbGF5OiBncmlkO1xyXG4gICAgICBncmlkLWdhcDogNDBweDtcclxuICAgICAgbWFyZ2luLXRvcDogNDBweDtcclxuICAgICAgcCwgcCBhLCBhIHtcclxuICAgICAgICBmb250LXNpemU6IDE2cHg7XHJcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI2cHg7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAmX19hcnQtbW92ZW1lbnRzIHtcclxuICAgICAgbWFyZ2luLXRvcDogNjBweDtcclxuICB9XHJcbn0iXSwic291cmNlUm9vdCI6IiJ9*/