/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
* Mobile.
**/
/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Color Map (https://convertacolor.com/).
 */
/**
 * Colors Variables.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
*::selection {
  background-color: black;
  color: white; }

/**
 * Responsive.
 */
/**
  * Vendor.
  */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

/**
 * Render the `main` element consistently in IE.
 */
main {
  display: block; }

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/* Grouping content
   ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */ }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/* Text-level semantics
   ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
  background-color: transparent; }

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  text-decoration: underline dotted;
  /* 2 */ }

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
  font-weight: bolder; }

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
 * Add the correct font size in all browsers.
 */
small {
  font-size: 80%; }

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/* Embedded content
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
  /* 1 */
  overflow: visible; }

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
  /* 1 */
  text-transform: none; }

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button; }

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type="button"]::-moz-focus-inner,
[type="reset"]::-moz-focus-inner,
[type="submit"]::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type="button"]:-moz-focusring,
[type="reset"]:-moz-focusring,
[type="submit"]:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */
legend {
  box-sizing: border-box;
  /* 1 */
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */ }

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
  vertical-align: baseline; }

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
  overflow: auto; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type="number"]::-webkit-inner-spin-button,
[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/* Interactive
   ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
  display: block; }

/*
 * Add the correct display in all browsers.
 */
summary {
  display: list-item; }

/* Misc
   ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
  display: none; }

/**
 * Add the correct display in IE 10.
 */
[hidden] {
  display: none; }

/*
 *  Owl Carousel - Core
 */
.owl-carousel {
  display: none;
  width: 100%;
  -webkit-tap-highlight-color: transparent;
  /* position relative and z-index fix webkit rendering fonts issue */
  position: relative;
  z-index: 1; }
  .owl-carousel .owl-stage {
    position: relative;
    -ms-touch-action: pan-Y;
    touch-action: manipulation;
    -moz-backface-visibility: hidden;
    /* fix firefox animation glitch */ }
  .owl-carousel .owl-stage:after {
    content: ".";
    display: block;
    clear: both;
    visibility: hidden;
    line-height: 0;
    height: 0; }
  .owl-carousel .owl-stage-outer {
    position: relative;
    overflow: hidden;
    /* fix for flashing background */
    -webkit-transform: translate3d(0px, 0px, 0px); }
  .owl-carousel .owl-wrapper,
  .owl-carousel .owl-item {
    -webkit-backface-visibility: hidden;
    -moz-backface-visibility: hidden;
    -ms-backface-visibility: hidden;
    -webkit-transform: translate3d(0, 0, 0);
    -moz-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0); }
  .owl-carousel .owl-item {
    position: relative;
    min-height: 1px;
    float: left;
    -webkit-backface-visibility: hidden;
    -webkit-tap-highlight-color: transparent;
    -webkit-touch-callout: none; }
  .owl-carousel .owl-item img {
    display: block;
    width: 100%; }
  .owl-carousel .owl-nav.disabled,
  .owl-carousel .owl-dots.disabled {
    display: none; }
  .owl-carousel .owl-nav .owl-prev,
  .owl-carousel .owl-nav .owl-next,
  .owl-carousel .owl-dot {
    cursor: pointer;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel .owl-nav button.owl-prev,
  .owl-carousel .owl-nav button.owl-next,
  .owl-carousel button.owl-dot {
    background: none;
    color: inherit;
    border: none;
    padding: 0 !important;
    font: inherit; }
  .owl-carousel.owl-loaded {
    display: block; }
  .owl-carousel.owl-loading {
    opacity: 0;
    display: block; }
  .owl-carousel.owl-hidden {
    opacity: 0; }
  .owl-carousel.owl-refresh .owl-item {
    visibility: hidden; }
  .owl-carousel.owl-drag .owl-item {
    touch-action: pan-y;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none; }
  .owl-carousel.owl-grab {
    cursor: move;
    cursor: grab; }
  .owl-carousel.owl-rtl {
    direction: rtl; }
  .owl-carousel.owl-rtl .owl-item {
    float: right; }

/* No Js */
.no-js .owl-carousel {
  display: block; }

/*
 *  Owl Carousel - Animate Plugin
 */
.owl-carousel .animated {
  animation-duration: 1000ms;
  animation-fill-mode: both; }

.owl-carousel .owl-animated-in {
  z-index: 0; }

.owl-carousel .owl-animated-out {
  z-index: 1; }

.owl-carousel .fadeOut {
  animation-name: fadeOut; }

@keyframes fadeOut {
  0% {
    opacity: 1; }
  100% {
    opacity: 0; } }

/*
 * 	Owl Carousel - Auto Height Plugin
 */
.owl-height {
  transition: height 500ms ease-in-out; }

/*
 * 	Owl Carousel - Lazy Load Plugin
 */
.owl-carousel .owl-item {
  /**
			This is introduced due to a bug in IE11 where lazy loading combined with autoheight plugin causes a wrong
			calculation of the height of the owl-item that breaks page layouts
		 */ }
  .owl-carousel .owl-item .owl-lazy {
    opacity: 0;
    transition: opacity 400ms ease; }
  .owl-carousel .owl-item .owl-lazy[src^=""], .owl-carousel .owl-item .owl-lazy:not([src]) {
    max-height: 0; }
  .owl-carousel .owl-item img.owl-lazy {
    transform-style: preserve-3d; }

/*
 * 	Owl Carousel - Video Plugin
 */
.owl-carousel .owl-video-wrapper {
  position: relative;
  height: 100%;
  background: #000; }

.owl-carousel .owl-video-play-icon {
  position: absolute;
  height: 80px;
  width: 80px;
  left: 50%;
  top: 50%;
  margin-left: -40px;
  margin-top: -40px;
  background: url("owl.video.play.png") no-repeat;
  cursor: pointer;
  z-index: 1;
  -webkit-backface-visibility: hidden;
  transition: transform 100ms ease; }

.owl-carousel .owl-video-play-icon:hover {
  transform: scale(1.3, 1.3); }

.owl-carousel .owl-video-playing .owl-video-tn,
.owl-carousel .owl-video-playing .owl-video-play-icon {
  display: none; }

.owl-carousel .owl-video-tn {
  opacity: 0;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  transition: opacity 400ms ease; }

.owl-carousel .owl-video-frame {
  position: relative;
  z-index: 1;
  height: 100%;
  width: 100%; }

/**
  * Tools.
  */
/**
 * Tools.
 */
/**
 * Unicode.
 *
 * Preserve escaped unicode string.
 * @param {String} $string - An unicode string.
 * @return {String} A preserved escaped unicode string
 */
/**
 * REM.
 *
 * Convert pixel units to REM units.
 * @param {Number} $pixels - Pixel value.
 * @return {*} - A converted `rem` unit.
 */
/**
 * Column.
 *
 * Calculate given column width.
 * @param {Number} $column - The amount of columns to span.
 * @param {Number} $columns - The amount of columns that can be spanned.
 * @return {String} - Percentage value.
 */
/**
 * Color.
 *
 * Get a color value from two levels deep in the `$color` map.
 * @param {$string} $key - Key of the color to get from the map.
 * @param {Number} $value - Value of the key to get from the map.
 * @return {*} A HSLA color value.
 */
/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1043;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  box-sizing: border-box; }

.mfp-container:before {
  content: '';
  display: inline-block;
  height: 100%;
  vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content,
.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur, .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }

.mfp-preloader a {
  color: #CCC; }

.mfp-preloader a:hover {
  color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  box-shadow: none;
  touch-action: manipulation; }

button::-moz-focus-inner {
  padding: 0;
  border: 0; }

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover,
.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #333; }

.mfp-image-holder .mfp-close,
.mfp-iframe-holder .mfp-close {
  color: #FFF;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #CCC;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }

.mfp-arrow:active {
  margin-top: -54px; }

.mfp-arrow:hover,
.mfp-arrow:focus {
  opacity: 1; }

.mfp-arrow:before,
.mfp-arrow:after {
  content: '';
  display: block;
  width: 0;
  height: 0;
  position: absolute;
  left: 0;
  top: 0;
  margin-top: 35px;
  margin-left: 35px;
  border: medium inset transparent; }

.mfp-arrow:after {
  border-top-width: 13px;
  border-bottom-width: 13px;
  top: 8px; }

.mfp-arrow:before {
  border-top-width: 21px;
  border-bottom-width: 21px;
  opacity: 0.7; }

.mfp-arrow-left {
  left: 0; }

.mfp-arrow-left:after {
  border-right: 17px solid #FFF;
  margin-left: 31px; }

.mfp-arrow-left:before {
  margin-left: 25px;
  border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }

.mfp-arrow-right:after {
  border-left: 17px solid #FFF;
  margin-left: 39px; }

.mfp-arrow-right:before {
  border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

/**
 * Container
 *
 * Center aligns element with given maximum width, padding, and margins top and bottom.
 * @param {String} $width - Pixel unit value.
 * @param {String} $gap - Pixel unit value.
 * @example @include container(1024px, 20px);
 */
/**
 * Section
 *
 * Add top and bottom spacing to element using paddings.
 * @param {String} $top - Pixel unit value.
 * @param {String} $bottom - Pixel unit value.
 * @example @include section(100px, 100px);
 */
/**
 * Font.
 *
 * Adds `rem` unit based font size property, a fallback `px` unit based font size property, and a `em` unit based line height property to any rule.
 * @param {String} $font-size - Pixel unit value.
 * @param {String} $line-height - Pixel unit value.
 * @example @include font-size(16px, 24px);
 */
/**
 * Text.
 *
 * Shorthand for the font mixin, runs the font mixin based on a common demeanour existing both in the `$font-size` and the `$line-height` maps.
 * @param {string} $value - String
 * @example @include text('p');
 */
/**
 * Font Awesome.
 *
 * Add Font Awesome icons as psuedo elements by using their unicode.
 * @param {String} $content - Unicode string.
 * @param {String} $family - Font Awesome font family string.
 * @example @include fontawesome('f100', 'Light');
 */
/**
 * Media.
 *
 * Media queries according to "The 100% Correct Way To Do CSS Breakpoints" (https://medium.freecodecamp.com/the-100-correct-way-to-do-css-breakpoints-88d6a5ba1862).
 * @param {String} $breakpoint - Breakpoint pixel unit value.
 * @example @include media('phone') {}
 */
/**
  * Elements.
  */
/**
  * General.
  */
/**
 * Remove margin and padding from every selector including their
 * psuedo selectors.
 *
 * 1. More sensible default box sizing.
 *    (css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice).
 */
*,
*::before,
*::after {
  margin: 0;
  padding: 0;
  box-sizing: inherit;
  /* 1 */ }

/**
 * Set height of the document to maxium viewport height.
 *
 * 1. Set root font size to 10.
 */
html {
  height: 100vh;
  font-size: 62.5%;
  /* 1 */
  box-sizing: border-box; }

/**
 * Set minimal height of the body to maximum viewport height to
 * match the document's height.
 *
 * 1. Firefox 25+.
 * 2. Chrome 5+.
 */
body {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375em;
  min-height: 100vh;
  background-color: #F0EFEF;
  color: black;
  font-family: "Verdana";
  font-weight: 400;
  text-rendering: optimizeLegibility;
  -moz-osx-font-smoothing: grayscale;
  /* 1 */
  -webkit-font-smoothing: antialiased;
  /* 2 */ }

/**
 * Custom user agent resets and overrides that are not present in
 * Normalize 8.0.0. This mostly removes some annoying margin and padding
 * defaults, border radius, and outlines.
 */
a {
  color: inherit;
  text-decoration: none; }

/**
 * 1. Remove border radius on Chrome 62.0+ on macOS.
 */
button {
  border: 0;
  border-radius: 0;
  /* 1 */
  outline: none;
  background: none;
  cursor: pointer; }

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

figure {
  margin: 0; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  padding: 0;
  font-size: inherit;
  font-weight: inherit; }

hr {
  margin: 0;
  padding: 0; }

/**
 * 1. Remove white space.
 */
img {
  max-width: 100%;
  height: auto;
  vertical-align: middle;
  /* 1 */ }

/**
 * 1. Remove inherited user agent appearance.
 */
input,
select,
textarea {
  max-width: 100%;
  border: 0;
  border-radius: 0;
  outline: none;
  appearance: none;
  /* 1 */ }

/**
 * 1. Only allow vertical resizing to prevent the textarea
 *    from overflowing the container.
 */
textarea {
  resize: vertical; }

ul,
ol {
  margin: 0;
  padding: 0;
  list-style-type: none; }

p {
  margin: 0; }

/**
 * 1. Collapse borders to prevent double sided borders.
 */
table {
  max-width: 100%;
  border-collapse: collapse;
  /* 1 */ }

strong {
  font-weight: 700; }

/**
  * Objects.
  */

.button {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.5em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 10px 10px;
  border-radius: 10px;
  text-decoration: none;
  transition: all 250ms ease;
  cursor: pointer;
  font-weight: 600; }
  
  .button svg {
    width: 21px;
    height: 20px; }
  
  .button.has-svg-right svg {
    margin-left: 10px; }
  
  .button.has-svg-left svg {
    margin-right: 10px; }

/**
 * Button (default).
 */

.button--default {
  background-color: black;
  color: white; }
  
  .button--default:hover {
    background-color: white;
    color: black; }

/**
 * Every conceivable HTML element within a `.cms-output` wrapper.
 *
 * 1. Exclude last childs.
 */
.cms-output p:not(:last-child) {
  margin-bottom: 2em; }

.cms-output h2,
.cms-output h3,
.cms-output h4 {
  margin-bottom: 30px; }

.cms-output h5 {
  margin-bottom: 20px; }

.cms-output .is-intro {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.6em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    .cms-output .is-intro {
      font-size: 18px;
      font-size: 1.8rem;
      line-height: 1.33333em; } }

.cms-output img.aligncenter {
  display: block;
  margin: 0 auto; }

.cms-output img.alignright {
  display: block;
  margin: 0 0 0 auto; }

.cms-output table {
  word-break: break-word; }
  .cms-output table td {
    vertical-align: top; }

.cms-output ul,
.cms-output ol {
  list-style-type: square;
  margin-left: 20px;
  margin-bottom: 1em; }
  .cms-output ul li,
  .cms-output ol li {
    margin-bottom: 15px; }

.cms-output ol {
  list-style-type: decimal; }

.cms-output strong {
  font-weight: bold; }

.cms-output a {
  text-decoration: underline;
  color: red;
  transition: all 250ms ease; }
  .cms-output a:hover {
    color: red; }

.cms-output blockquote {
  position: relative;
  padding: 40px 45px 20px 45px;
  color: red; }

.cms-output .wp-caption {
  margin-bottom: 20px; }
  .cms-output .wp-caption img {
    border-radius: 10px; }
  .cms-output .wp-caption .wp-caption-text {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.25em;
    color: red;
    letter-spacing: 0.44px;
    margin-top: 10px; }

/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 40px) !important;
  padding: 0 20px;
  width: 100%;
  margin: 0 auto; }

/**
 * The content constraint is a constraint for all the content within
 * the document. It can be manipulated by CSS or JavaScript without
 * influencing the body.
 */
.content-constraint {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  margin-top: 50px; }

/**
 * Example of a flex based column grid layout in practice:
 *
 * <div class="row">
 *   <div class="col col-xs-6 col-sm-12"></div>
 *   <div class="col col-xs-6 col-sm-12"></div>
 * </div>
 *
 * This example will create a row with two columns each filling half the width
 * of the row on all media, but will convert to a full width column on the
 * small `-sm` breakpoint alias, which is mobile only. Refer to
 * `settings/_definitions.scss` for all breakpoint alias.
 */
/**
 * Flex object.
 *
 * Tip: Use flex on a column to make the box the same height as the column.
 */
.flex {
  display: flex; }

.flex-wrap {
  flex-wrap: wrap; }

/**
 * Flex object with a column based layout system.
 */
.row {
  display: flex;
  flex: 0 1 auto;
  flex-flow: row wrap;
  margin: 0 -10px; }

/**
 * Box, the inside of a column.
 */
.box {
  flex: 1; }

/**
			 * Column 1 for the `xs` breakpoint.
			 */
.col-xs-1 {
  flex: 0 1 auto;
  width: 8.33333%;
  padding: 0 10px; }

/**
				 * Offset 1 for the `xs` breakpoint.
				 */
.offset-xs-1 {
  margin-left: 8.33333%; }

/**
			 * Column 2 for the `xs` breakpoint.
			 */
.col-xs-2 {
  flex: 0 1 auto;
  width: 16.66667%;
  padding: 0 10px; }

/**
				 * Offset 2 for the `xs` breakpoint.
				 */
.offset-xs-2 {
  margin-left: 16.66667%; }

/**
			 * Column 3 for the `xs` breakpoint.
			 */
.col-xs-3 {
  flex: 0 1 auto;
  width: 25%;
  padding: 0 10px; }

/**
				 * Offset 3 for the `xs` breakpoint.
				 */
.offset-xs-3 {
  margin-left: 25%; }

/**
			 * Column 4 for the `xs` breakpoint.
			 */
.col-xs-4 {
  flex: 0 1 auto;
  width: 33.33333%;
  padding: 0 10px; }

/**
				 * Offset 4 for the `xs` breakpoint.
				 */
.offset-xs-4 {
  margin-left: 33.33333%; }

/**
			 * Column 5 for the `xs` breakpoint.
			 */
.col-xs-5 {
  flex: 0 1 auto;
  width: 41.66667%;
  padding: 0 10px; }

/**
				 * Offset 5 for the `xs` breakpoint.
				 */
.offset-xs-5 {
  margin-left: 41.66667%; }

/**
			 * Column 6 for the `xs` breakpoint.
			 */
.col-xs-6 {
  flex: 0 1 auto;
  width: 50%;
  padding: 0 10px; }

/**
				 * Offset 6 for the `xs` breakpoint.
				 */
.offset-xs-6 {
  margin-left: 50%; }

/**
			 * Column 7 for the `xs` breakpoint.
			 */
.col-xs-7 {
  flex: 0 1 auto;
  width: 58.33333%;
  padding: 0 10px; }

/**
				 * Offset 7 for the `xs` breakpoint.
				 */
.offset-xs-7 {
  margin-left: 58.33333%; }

/**
			 * Column 8 for the `xs` breakpoint.
			 */
.col-xs-8 {
  flex: 0 1 auto;
  width: 66.66667%;
  padding: 0 10px; }

/**
				 * Offset 8 for the `xs` breakpoint.
				 */
.offset-xs-8 {
  margin-left: 66.66667%; }

/**
			 * Column 9 for the `xs` breakpoint.
			 */
.col-xs-9 {
  flex: 0 1 auto;
  width: 75%;
  padding: 0 10px; }

/**
				 * Offset 9 for the `xs` breakpoint.
				 */
.offset-xs-9 {
  margin-left: 75%; }

/**
			 * Column 10 for the `xs` breakpoint.
			 */
.col-xs-10 {
  flex: 0 1 auto;
  width: 83.33333%;
  padding: 0 10px; }

/**
				 * Offset 10 for the `xs` breakpoint.
				 */
.offset-xs-10 {
  margin-left: 83.33333%; }

/**
			 * Column 11 for the `xs` breakpoint.
			 */
.col-xs-11 {
  flex: 0 1 auto;
  width: 91.66667%;
  padding: 0 10px; }

/**
				 * Offset 11 for the `xs` breakpoint.
				 */
.offset-xs-11 {
  margin-left: 91.66667%; }

/**
			 * Column 12 for the `xs` breakpoint.
			 */
.col-xs-12 {
  flex: 0 1 auto;
  width: 100%;
  padding: 0 10px; }

/**
			 * Align `stretch` for the xs breakpoint.
			 */
.align-xs-stretch {
  align-items: stretch; }

/**
			 * Align `center` for the xs breakpoint.
			 */
.align-xs-center {
  align-items: center; }

/**
			 * Align `flex-start` for the xs breakpoint.
			 */
.align-xs-flex-start {
  align-items: flex-start; }

/**
			 * Align `flex-end` for the xs breakpoint.
			 */
.align-xs-flex-end {
  align-items: flex-end; }

/**
			 * Align `baseline` for the xs breakpoint.
			 */
.align-xs-baseline {
  align-items: baseline; }

/**
			 * Justify `start` for the xs breakpoint.
			 */
.justify-xs-start {
  justify-content: start; }

/**
			 * Justify `center` for the xs breakpoint.
			 */
.justify-xs-center {
  justify-content: center; }

/**
			 * Justify `space-between` for the xs breakpoint.
			 */
.justify-xs-space-between {
  justify-content: space-between; }

/**
			 * Justify `space-around` for the xs breakpoint.
			 */
.justify-xs-space-around {
  justify-content: space-around; }

/**
			 * Justify `space-evenly` for the xs breakpoint.
			 */
.justify-xs-space-evenly {
  justify-content: space-evenly; }

/**
			 * Bleed left for the xs breakpoint.
			 */
.bleed-xs-left {
  padding-left: 0; }

/**
			 * Bleed right for the xs breakpoint.
			 */
.bleed-xs-right {
  padding-right: 0; }

/**
		 * Order first for the `xs` breakpoint.
		 */
.first-xs {
  order: -1; }

/**
		 * Order last for the `xs` breakpoint.
		 */
.last-xs {
  order: 1; }

/**
		 * Reverse order for the `xs` breakpoint.
		 */
.reverse-xs {
  flex-direction: row-reverse; }

@media only screen and (max-width: 599px) {
  /**
			 * Column 1 for the `sm` breakpoint.
			 */
  .col-sm-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `sm` breakpoint.
				 */
  .offset-sm-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `sm` breakpoint.
			 */
  .col-sm-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `sm` breakpoint.
				 */
  .offset-sm-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `sm` breakpoint.
			 */
  .col-sm-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `sm` breakpoint.
				 */
  .offset-sm-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `sm` breakpoint.
			 */
  .col-sm-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `sm` breakpoint.
				 */
  .offset-sm-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `sm` breakpoint.
			 */
  .col-sm-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `sm` breakpoint.
				 */
  .offset-sm-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `sm` breakpoint.
			 */
  .col-sm-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `sm` breakpoint.
				 */
  .offset-sm-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `sm` breakpoint.
			 */
  .col-sm-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `sm` breakpoint.
				 */
  .offset-sm-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `sm` breakpoint.
			 */
  .col-sm-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `sm` breakpoint.
				 */
  .offset-sm-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `sm` breakpoint.
			 */
  .col-sm-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `sm` breakpoint.
				 */
  .offset-sm-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `sm` breakpoint.
			 */
  .col-sm-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `sm` breakpoint.
				 */
  .offset-sm-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `sm` breakpoint.
			 */
  .col-sm-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `sm` breakpoint.
				 */
  .offset-sm-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `sm` breakpoint.
			 */
  .col-sm-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the sm breakpoint.
			 */
  .align-sm-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the sm breakpoint.
			 */
  .align-sm-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the sm breakpoint.
			 */
  .align-sm-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the sm breakpoint.
			 */
  .align-sm-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the sm breakpoint.
			 */
  .align-sm-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the sm breakpoint.
			 */
  .justify-sm-start {
    justify-content: start; }
  /**
			 * Justify `center` for the sm breakpoint.
			 */
  .justify-sm-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the sm breakpoint.
			 */
  .justify-sm-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the sm breakpoint.
			 */
  .justify-sm-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the sm breakpoint.
			 */
  .justify-sm-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the sm breakpoint.
			 */
  .bleed-sm-left {
    padding-left: 0; }
  /**
			 * Bleed right for the sm breakpoint.
			 */
  .bleed-sm-right {
    padding-right: 0; }
  /**
		 * Order first for the `sm` breakpoint.
		 */
  .first-sm {
    order: -1; }
  /**
		 * Order last for the `sm` breakpoint.
		 */
  .last-sm {
    order: 1; }
  /**
		 * Reverse order for the `sm` breakpoint.
		 */
  .reverse-sm {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 600px) {
  /**
			 * Column 1 for the `md` breakpoint.
			 */
  .col-md-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `md` breakpoint.
				 */
  .offset-md-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `md` breakpoint.
			 */
  .col-md-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `md` breakpoint.
				 */
  .offset-md-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `md` breakpoint.
			 */
  .col-md-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `md` breakpoint.
				 */
  .offset-md-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `md` breakpoint.
			 */
  .col-md-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `md` breakpoint.
				 */
  .offset-md-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `md` breakpoint.
			 */
  .col-md-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `md` breakpoint.
				 */
  .offset-md-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `md` breakpoint.
			 */
  .col-md-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `md` breakpoint.
				 */
  .offset-md-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `md` breakpoint.
			 */
  .col-md-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `md` breakpoint.
				 */
  .offset-md-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `md` breakpoint.
			 */
  .col-md-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `md` breakpoint.
				 */
  .offset-md-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `md` breakpoint.
			 */
  .col-md-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `md` breakpoint.
				 */
  .offset-md-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `md` breakpoint.
			 */
  .col-md-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `md` breakpoint.
				 */
  .offset-md-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `md` breakpoint.
			 */
  .col-md-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `md` breakpoint.
				 */
  .offset-md-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `md` breakpoint.
			 */
  .col-md-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the md breakpoint.
			 */
  .align-md-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the md breakpoint.
			 */
  .align-md-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the md breakpoint.
			 */
  .align-md-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the md breakpoint.
			 */
  .align-md-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the md breakpoint.
			 */
  .align-md-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the md breakpoint.
			 */
  .justify-md-start {
    justify-content: start; }
  /**
			 * Justify `center` for the md breakpoint.
			 */
  .justify-md-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the md breakpoint.
			 */
  .justify-md-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the md breakpoint.
			 */
  .justify-md-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the md breakpoint.
			 */
  .justify-md-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the md breakpoint.
			 */
  .bleed-md-left {
    padding-left: 0; }
  /**
			 * Bleed right for the md breakpoint.
			 */
  .bleed-md-right {
    padding-right: 0; }
  /**
		 * Order first for the `md` breakpoint.
		 */
  .first-md {
    order: -1; }
  /**
		 * Order last for the `md` breakpoint.
		 */
  .last-md {
    order: 1; }
  /**
		 * Reverse order for the `md` breakpoint.
		 */
  .reverse-md {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 900px) {
  /**
			 * Column 1 for the `lg` breakpoint.
			 */
  .col-lg-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `lg` breakpoint.
				 */
  .offset-lg-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `lg` breakpoint.
			 */
  .col-lg-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `lg` breakpoint.
				 */
  .offset-lg-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `lg` breakpoint.
			 */
  .col-lg-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `lg` breakpoint.
				 */
  .offset-lg-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `lg` breakpoint.
			 */
  .col-lg-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `lg` breakpoint.
				 */
  .offset-lg-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `lg` breakpoint.
			 */
  .col-lg-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `lg` breakpoint.
				 */
  .offset-lg-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `lg` breakpoint.
			 */
  .col-lg-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `lg` breakpoint.
				 */
  .offset-lg-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `lg` breakpoint.
			 */
  .col-lg-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `lg` breakpoint.
				 */
  .offset-lg-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `lg` breakpoint.
			 */
  .col-lg-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `lg` breakpoint.
				 */
  .offset-lg-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `lg` breakpoint.
			 */
  .col-lg-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `lg` breakpoint.
				 */
  .offset-lg-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `lg` breakpoint.
			 */
  .col-lg-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `lg` breakpoint.
				 */
  .offset-lg-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `lg` breakpoint.
			 */
  .col-lg-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `lg` breakpoint.
				 */
  .offset-lg-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `lg` breakpoint.
			 */
  .col-lg-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the lg breakpoint.
			 */
  .align-lg-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the lg breakpoint.
			 */
  .align-lg-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the lg breakpoint.
			 */
  .align-lg-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the lg breakpoint.
			 */
  .align-lg-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the lg breakpoint.
			 */
  .align-lg-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the lg breakpoint.
			 */
  .justify-lg-start {
    justify-content: start; }
  /**
			 * Justify `center` for the lg breakpoint.
			 */
  .justify-lg-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the lg breakpoint.
			 */
  .justify-lg-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the lg breakpoint.
			 */
  .justify-lg-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the lg breakpoint.
			 */
  .justify-lg-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the lg breakpoint.
			 */
  .bleed-lg-left {
    padding-left: 0; }
  /**
			 * Bleed right for the lg breakpoint.
			 */
  .bleed-lg-right {
    padding-right: 0; }
  /**
		 * Order first for the `lg` breakpoint.
		 */
  .first-lg {
    order: -1; }
  /**
		 * Order last for the `lg` breakpoint.
		 */
  .last-lg {
    order: 1; }
  /**
		 * Reverse order for the `lg` breakpoint.
		 */
  .reverse-lg {
    flex-direction: row-reverse; } }

@media only screen and (min-width: 1200px) {
  /**
			 * Column 1 for the `xl` breakpoint.
			 */
  .col-xl-1 {
    flex: 0 1 auto;
    width: 8.33333%;
    padding: 0 10px; }
  /**
				 * Offset 1 for the `xl` breakpoint.
				 */
  .offset-xl-1 {
    margin-left: 8.33333%; }
  /**
			 * Column 2 for the `xl` breakpoint.
			 */
  .col-xl-2 {
    flex: 0 1 auto;
    width: 16.66667%;
    padding: 0 10px; }
  /**
				 * Offset 2 for the `xl` breakpoint.
				 */
  .offset-xl-2 {
    margin-left: 16.66667%; }
  /**
			 * Column 3 for the `xl` breakpoint.
			 */
  .col-xl-3 {
    flex: 0 1 auto;
    width: 25%;
    padding: 0 10px; }
  /**
				 * Offset 3 for the `xl` breakpoint.
				 */
  .offset-xl-3 {
    margin-left: 25%; }
  /**
			 * Column 4 for the `xl` breakpoint.
			 */
  .col-xl-4 {
    flex: 0 1 auto;
    width: 33.33333%;
    padding: 0 10px; }
  /**
				 * Offset 4 for the `xl` breakpoint.
				 */
  .offset-xl-4 {
    margin-left: 33.33333%; }
  /**
			 * Column 5 for the `xl` breakpoint.
			 */
  .col-xl-5 {
    flex: 0 1 auto;
    width: 41.66667%;
    padding: 0 10px; }
  /**
				 * Offset 5 for the `xl` breakpoint.
				 */
  .offset-xl-5 {
    margin-left: 41.66667%; }
  /**
			 * Column 6 for the `xl` breakpoint.
			 */
  .col-xl-6 {
    flex: 0 1 auto;
    width: 50%;
    padding: 0 10px; }
  /**
				 * Offset 6 for the `xl` breakpoint.
				 */
  .offset-xl-6 {
    margin-left: 50%; }
  /**
			 * Column 7 for the `xl` breakpoint.
			 */
  .col-xl-7 {
    flex: 0 1 auto;
    width: 58.33333%;
    padding: 0 10px; }
  /**
				 * Offset 7 for the `xl` breakpoint.
				 */
  .offset-xl-7 {
    margin-left: 58.33333%; }
  /**
			 * Column 8 for the `xl` breakpoint.
			 */
  .col-xl-8 {
    flex: 0 1 auto;
    width: 66.66667%;
    padding: 0 10px; }
  /**
				 * Offset 8 for the `xl` breakpoint.
				 */
  .offset-xl-8 {
    margin-left: 66.66667%; }
  /**
			 * Column 9 for the `xl` breakpoint.
			 */
  .col-xl-9 {
    flex: 0 1 auto;
    width: 75%;
    padding: 0 10px; }
  /**
				 * Offset 9 for the `xl` breakpoint.
				 */
  .offset-xl-9 {
    margin-left: 75%; }
  /**
			 * Column 10 for the `xl` breakpoint.
			 */
  .col-xl-10 {
    flex: 0 1 auto;
    width: 83.33333%;
    padding: 0 10px; }
  /**
				 * Offset 10 for the `xl` breakpoint.
				 */
  .offset-xl-10 {
    margin-left: 83.33333%; }
  /**
			 * Column 11 for the `xl` breakpoint.
			 */
  .col-xl-11 {
    flex: 0 1 auto;
    width: 91.66667%;
    padding: 0 10px; }
  /**
				 * Offset 11 for the `xl` breakpoint.
				 */
  .offset-xl-11 {
    margin-left: 91.66667%; }
  /**
			 * Column 12 for the `xl` breakpoint.
			 */
  .col-xl-12 {
    flex: 0 1 auto;
    width: 100%;
    padding: 0 10px; }
  /**
			 * Align `stretch` for the xl breakpoint.
			 */
  .align-xl-stretch {
    align-items: stretch; }
  /**
			 * Align `center` for the xl breakpoint.
			 */
  .align-xl-center {
    align-items: center; }
  /**
			 * Align `flex-start` for the xl breakpoint.
			 */
  .align-xl-flex-start {
    align-items: flex-start; }
  /**
			 * Align `flex-end` for the xl breakpoint.
			 */
  .align-xl-flex-end {
    align-items: flex-end; }
  /**
			 * Align `baseline` for the xl breakpoint.
			 */
  .align-xl-baseline {
    align-items: baseline; }
  /**
			 * Justify `start` for the xl breakpoint.
			 */
  .justify-xl-start {
    justify-content: start; }
  /**
			 * Justify `center` for the xl breakpoint.
			 */
  .justify-xl-center {
    justify-content: center; }
  /**
			 * Justify `space-between` for the xl breakpoint.
			 */
  .justify-xl-space-between {
    justify-content: space-between; }
  /**
			 * Justify `space-around` for the xl breakpoint.
			 */
  .justify-xl-space-around {
    justify-content: space-around; }
  /**
			 * Justify `space-evenly` for the xl breakpoint.
			 */
  .justify-xl-space-evenly {
    justify-content: space-evenly; }
  /**
			 * Bleed left for the xl breakpoint.
			 */
  .bleed-xl-left {
    padding-left: 0; }
  /**
			 * Bleed right for the xl breakpoint.
			 */
  .bleed-xl-right {
    padding-right: 0; }
  /**
		 * Order first for the `xl` breakpoint.
		 */
  .first-xl {
    order: -1; }
  /**
		 * Order last for the `xl` breakpoint.
		 */
  .last-xl {
    order: 1; }
  /**
		 * Reverse order for the `xl` breakpoint.
		 */
  .reverse-xl {
    flex-direction: row-reverse; } }

/**
 * Default fields.
 */
label {
  display: block;
  margin-bottom: 8px;
  font-weight: bold;
  color: black;
  margin-left: 15px; }


select,
input,
textarea {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375em;
  width: 100%;
  height: 42px;
  border-radius: 4px;
  padding: 11px 15px;
  background-color: white;
  font-weight: 500;
  border: 1px solid black;
  color: black; }
  
  select:focus,
  input:focus,
  textarea:focus {
    background-color: white; }

textarea {
  height: 230px;
  padding-top: 15px; }

.gfield_required {
  color: red; }

.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid black; }
  .ginput_container_select svg {
    position: absolute;
    top: 14px;
    right: 20px;
    width: 9px;
    height: 13px;
    z-index: 1; }
  .ginput_container_select select {
    position: relative;
    width: calc(100% + 50px);
    max-width: none;
    margin: -2px;
    background-color: transparent;
    border: 0;
    z-index: 2; }

input[type='radio'],
input[type='checkbox'] {
  width: 15px;
  height: 15px;
  border: 2px solid black;
  border-radius: 2px;
  background-color: white;
  transition: all 250ms ease; }
  input[type='radio']:checked,
  input[type='checkbox']:checked {
    background-color: black; }

input[type='radio'] {
  border-radius: 20px; }

/**
 * Gravity Forms.
 */
.gfield {
  margin-bottom: 25px; }

.gform_validation_container {
  display: none; }

.hidden_label > label {
  display: none; }

.validation_message {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.64286em;
  margin-top: 5px;
  border-radius: 8px;
  padding: 10px 10px;
  display: flex;
  align-items: center;
  width: 100%;
  color: red;
  background-color: red; }
  .validation_message > svg {
    width: 16px;
    height: 16px;
    margin-right: 5px;
    margin-top: -2px; }


.validation_error {
  display: none;
  position: relative;
  margin: 0 0 50px;
  padding: 25px 25px 25px 75px;
  background: red;
  color: red; }
  
  .validation_error > svg {
    position: absolute;
    top: calc(50% - 15px);
    left: 30px;
    width: 31px;
    height: 30px;
    color: red; }
  
  .validation_error .close-button {
    position: absolute;
    top: 5px;
    right: 5px;
    cursor: pointer; }
    
    .validation_error .close-button svg {
      width: 16px;
      height: 16px;
      color: black; }

.gform_confirmation_message {
  width: 100%;
  padding: 50px;
  background: red; }
  .gform_confirmation_message br {
    display: none; }
  .gform_confirmation_message h4 {
    display: flex;
    align-items: center;
    margin-bottom: 20px; }
    .gform_confirmation_message h4 svg {
      width: 28px;
      height: 28px;
      margin-right: 20px;
      border-radius: 20px;
      background-color: white;
      padding: 5px;
      color: black; }

/**
 * Heading.
 */
h1,
h2,
h3,
h4 {
  font-family: "Verdana";
  color: black; }
  h1.is-white,
  h2.is-white,
  h3.is-white,
  h4.is-white {
    color: white; }

/**
  * Heading 1.
*/
h1,
.heading-1 {
  font-size: 72px;
  line-height: 90px; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 72px;
      line-height: 90px; } }

/**
 * Heading 2.
 */
h2,
.heading-2 {
  font-size: 64px;
  line-height: 77px; }
  @media only screen and (max-width: 899px) {
    h2,
    .heading-2 {
      font-size: 64px;
      line-height: 77px; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 42px;
  line-height: 52px; }
  @media only screen and (max-width: 899px) {
    h3,
    .heading-3 {
      font-size: 42px;
      line-height: 52px; } }

/**
* Heading 3.
*/
h4 {
  font-size: 42px;
  line-height: 52px; }
  @media only screen and (max-width: 899px) {
    h4 {
      font-size: 42px;
      line-height: 52px; } }

/**
* Heading 3.
*/
h5 {
  font-size: 42px;
  line-height: 52px; }
  @media only screen and (max-width: 899px) {
    h5 {
      font-size: 42px;
      line-height: 52px; } }

/**
 * Subheading.
 */
p {
  font-size: 16px;
  line-height: 23px; }
  @media only screen and (max-width: 899px) {
    p {
      font-size: 16px;
      line-height: 23px; } }
  p.is-white {
    color: white; }

.has-lazy-load {
  position: relative;
  top: -150px;
  transition: all 750ms ease;
  transition-delay: 500ms;
  opacity: 0; }
  .has-lazy-load.header {
    transition-delay: 750ms;
    transition: all 500ms ease; }

.has-lazy-load[loaded='true'] {
  top: 0;
  opacity: 1; }

.pagination {
  width: 100%;
  margin-bottom: 150px; }
  .pagination .wrapper {
    justify-content: center; }
  .pagination .page-numbers {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 1.22222em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    transition: all 250ms ease;
    color: black;
    font-weight: 500; }
    .pagination .page-numbers:hover, .pagination .page-numbers.current {
      color: red;
      font-weight: 700; }
    .pagination .page-numbers.prev, .pagination .page-numbers.next {
      margin-right: 15px; }
      .pagination .page-numbers.prev svg, .pagination .page-numbers.next svg {
        position: relative;
        top: 0;
        width: 27px;
        height: 22px;
        color: black;
        transition: all 250ms ease; }
      .pagination .page-numbers.prev:hover, .pagination .page-numbers.next:hover {
        color: red; }
    .pagination .page-numbers.next {
      margin-right: 0;
      margin-left: 5px; }

/**
 * Wrapper (default)
 */
.wrapper {
  max-width: calc(1512px + 60px) !important;
  padding: 0 30px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper {
      max-width: calc(1512px + 60px) !important;
      padding: 0 30px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper {
      max-width: calc(1512px + 24px) !important;
      padding: 0 12px;
      width: 100%;
      margin: 0 auto; } }

/**
 * Wrapper (small)
 */
.wrapper--small {
  max-width: calc(1140px + 100px) !important;
  padding: 0 50px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 899px) {
    .wrapper--small {
      max-width: calc(1140px + 120px) !important;
      padding: 0 60px;
      width: 100%;
      margin: 0 auto; } }
  @media only screen and (max-width: 599px) {
    .wrapper--small {
      max-width: calc(1140px + 40px) !important;
      padding: 0 20px;
      width: 100%;
      margin: 0 auto; } }

/**
* Self hosted google webfonts.
* https://google-webfonts-helper.herokuapp.com/
**/
/**
  * Components.
  */
.tunneloverzicht-header {
  height: 86px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.1);
  background-color: white; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-header {
      height: fit-content;
      padding: 0 12px;
      padding-top: 6px;
      z-index: 1000;
      position: relative; } }
  .tunneloverzicht-header .wrapper {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    height: 100%;
    position: relative; }

.tunneloverzicht-header__menu {
  display: none;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  padding: 12px 10px;
  border: 1px solid #000000;
  border-radius: 6px;
  flex-wrap: wrap;
  align-items: center;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-header__menu {
      display: flex; } }
  .tunneloverzicht-header__menu svg {
    width: 12px;
    height: 12px;
    margin-right: 12px; }

.tunneloverzicht-header__logo {
  height: 73px;
  width: 300px;
  object-fit: contain;
  object-position: left; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-header__logo {
      height: 73px;
      width: 100%; } }

.tunneloverzicht-header__title {
  font-size: 19px;
  line-height: 50px;
  margin-left: 20px;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-header__title {
      font-weight: 700;
      font-size: 14px;
      line-height: 14px;
      margin-top: 6px;
      margin-left: 0;
      margin-bottom: 9px; } }

.tunneloverzicht-wrapper {
  height: calc(100vh - 86px); }
  .tunneloverzicht-wrapper .wrapper {
    position: relative;
    height: 100%; }
    @media only screen and (max-width: 899px) {
      .tunneloverzicht-wrapper .wrapper {
        padding: 0 12px !important; } }

.tunneloverzicht-filters {
  width: 300px;
  background-color: white;
  padding-top: 30px;
  padding-right: 16px;
  overflow-y: scroll;
  height: 100%; }
  @media only screen and (max-width: 1199px) {
    .tunneloverzicht-filters {
      display: none;
      flex-direction: column; } }
  .tunneloverzicht-filters::before {
    content: '';
    height: 100%;
    width: 3000px;
    left: -2970px;
    position: absolute;
    top: 0;
    background-color: white; }
  .tunneloverzicht-filters.is-active {
    display: flex;
    flex-wrap: wrap;
    position: fixed;
    left: 0;
    top: 108px;
    z-index: 1000;
    padding-left: 30px; }
    .tunneloverzicht-filters.is-active::before {
      display: none; }

.tunneloverzicht-filters__header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-filters__header {
      width: 100%;
      margin-bottom: 24px; } }
  .tunneloverzicht-filters__header span {
    width: auto !important;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-weight: 400;
    font-size: 12px;
    line-height: 160%; }
    .tunneloverzicht-filters__header span svg {
      width: 12px;
      height: 12px;
      margin-right: 12px; }
  .tunneloverzicht-filters__header .filters__clear {
    padding: 2px 10px;
    font-weight: 400;
    font-size: 14px;
    line-height: 150%;
    border: 1px solid #000000;
    border-radius: 6px;
    cursor: pointer;
    transition: all 300ms ease-in-out; }
    .tunneloverzicht-filters__header .filters__clear:hover {
      opacity: 0.7; }

.tunneloverzicht-filter-wrap {
  margin-bottom: 15px;
  padding-bottom: 15px;
  border-bottom: 1px solid #E3E3E3; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-filter-wrap {
      margin-bottom: 12px;
      padding-bottom: 12px;
      height: fit-content; }
      .tunneloverzicht-filter-wrap > .flex {
        display: none; }
      .tunneloverzicht-filter-wrap.is-active .tunneloverzicht-filter__title::before {
        transform: rotate(180deg); } }

.tunneloverzicht-filter-wrap[data-type="status"] {
  display:none; }
    

.tunneloverzicht-filter__title {
  font-weight: 700;
  font-size: 14px;
  line-height: 160%; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-filter__title {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      width: 100%; }
      .tunneloverzicht-filter__title::after {
        content: '';
        display: block;
        width: 12px;
        height: 12px;
        background-position: center;
        background-repeat: no-repeat;
        background-size: contain;
        margin-left: auto;
        transition: all 300ms ease-in-out;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 448 512'%3E%3C!--! Font Awesome Pro 6.4.0 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license (Commercial License) Copyright 2023 Fonticons, Inc. --%3E%3Cpath d='M201.4 342.6c12.5 12.5 32.8 12.5 45.3 0l160-160c12.5-12.5 12.5-32.8 0-45.3s-32.8-12.5-45.3 0L224 274.7 86.6 137.4c-12.5-12.5-32.8-12.5-45.3 0s-12.5 32.8 0 45.3l160 160z'/%3E%3C/svg%3E"); } }

.tunneloverzicht-filter {
  width: 100% !important;
  margin-top: 12px;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  cursor: pointer; }
  .tunneloverzicht-filter .toggle {
    display: block;
    text-align: right;
    position: relative;
    width: 45px !important;
    height: 18px;
    background: rgba(217, 217, 217, 0.3);
    border: 1px solid #000000;
    border-radius: 10px;
    font-weight: 400;
    font-size: 10px;
    line-height: 10px;
    padding: 0 5px;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-right: 12px;
    transition: all 300ms ease-in-out;
    cursor: pointer; }
    .tunneloverzicht-filter .toggle::before {
      content: '';
      width: 10px;
      height: 10px;
      background-color: black;
      border-radius: 10px;
      position: absolute;
      left: 5px;
      top: 3px;
      transition: all 300ms ease-in-out; }
    .tunneloverzicht-filter .toggle.is-green::before {
      background-color: #9BBE32; }
    .tunneloverzicht-filter .toggle.is-pink::before {
      background-color: #ED529C; }
    .tunneloverzicht-filter .toggle.is-blue::before {
      background-color: #5712E9; }
    .tunneloverzicht-filter .toggle.is-orange::before {
      background-color: #F8A01B; }
    .tunneloverzicht-filter .toggle.is-grey::before {
      background-color: #888888; }
  .tunneloverzicht-filter .label {
    width: calc(100% - 57px) !important;
    font-weight: 400;
    font-size: 14px;
    line-height: 160%; }
  .tunneloverzicht-filter.is-active .toggle {
    justify-content: flex-start;
    background: rgba(155, 190, 50, 0.1);
    border-color: #9BBE32;
    color: #9BBE32; }
    .tunneloverzicht-filter.is-active .toggle::before {
      left: inherit;
      right: 5px;
      background-color: #9BBE32; }
    .tunneloverzicht-filter.is-active .toggle.is-green {
      background: rgba(155, 190, 50, 0.1);
      border-color: #9BBE32;
      color: #9BBE32; }
      .tunneloverzicht-filter.is-active .toggle.is-green::before {
        background-color: #9BBE32; }
    .tunneloverzicht-filter.is-active .toggle.is-pink {
      background: rgba(237, 82, 156, 0.1);
      border-color: #ED529C;
      color: #ED529C; }
      .tunneloverzicht-filter.is-active .toggle.is-pink::before {
        background-color: #ED529C; }
    .tunneloverzicht-filter.is-active .toggle.is-blue {
      background: rgba(0, 102, 255, 0.1);
      border-color: #5712E9;
      color: #5712E9; }
      .tunneloverzicht-filter.is-active .toggle.is-blue::before {
        background-color: #5712E9; }
    .tunneloverzicht-filter.is-active .toggle.is-orange {
      background: rgba(248, 160, 27, 0.1);
      border-color: #F8A01B;
      color: #F8A01B; }
      .tunneloverzicht-filter.is-active .toggle.is-orange::before {
        background-color: #F8A01B; }
    .tunneloverzicht-filter.is-active .toggle.is-grey {
      background: rgba(136, 136, 136, 0.1);
      border-color: #888888;
      color: #888888; }
      .tunneloverzicht-filter.is-active .toggle.is-grey::before {
        background-color: #888888; }

.tunneloverzicht-content {
  width: calc(100% - 300px - 375px - 44px);
  /* width: 100%; */
  margin: 0 auto;
  overflow-y: scroll;
  overflow-x: hidden;
  height: 100%; }
  @media only screen and (max-width: 1199px) {
    .tunneloverzicht-content {
      width: 100%; } }

.tunneloverzicht-disclaimer {
  background: white;
  border-radius: 6px;
  margin-top: 20px;
  margin-bottom: 20px;
  padding: 15px;
  padding-top: 24px; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-disclaimer {
      margin-top: 6px;
      margin-bottom: 12px; } }

.tunneloverzicht-disclaimer__title {
  font-weight: 700;
  font-size: 14px;
  line-height: 18px; }

.tunneloverzicht-disclaimer__editor {
  margin-top: 10px;
  padding-bottom: 10px;
  border-bottom: 1px solid #E3E3E3;
  margin-bottom: 6px;
  max-height: 22px;
  overflow: hidden;
  transition: all 300ms ease-in-out; }
  .tunneloverzicht-disclaimer__editor p {
    font-weight: 400;
    font-size: 14px;
    line-height: 18px; }
  .tunneloverzicht-disclaimer__editor.is-active {
    max-height: 100%; }

.tunneloverzicht-disclaimer__editor li::marker{
  display: none;
  list-style: none;
  margin: 0px;
  content: "";
}
.cms-output ul li::before{
  top:12px;
}
.tunneloverzicht-disclaimer__show-more {
  font-weight: 400;
  font-size: 14px;
  line-height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9BBE32;
  cursor: pointer;
  width: 100% !important; }
  .tunneloverzicht-disclaimer__show-more svg {
    width: 14px;
    height: 14px;
    margin-left: 12px;
    transition: all 300ms ease-in-out;
    transform-origin: center; }
    .tunneloverzicht-disclaimer__show-more svg path {
      fill: #9BBE32; }
  .tunneloverzicht-disclaimer__show-more.is-active svg {
    transform: rotate(180deg); }

.tunneloverzicht-overview__graph-wrap {
  position: relative;
  min-height: 300px; }

.tunneloverzicht-overview__graph-wrap__subtitle {
  display: block;
  margin-top: 20px;
  font-size: 13px;
  opacity: 0.6; }

.tunneloverzicht-map {
  width: 375px;
  /* height: 770px; */
  max-height:1080px;
  border: 1px solid #9BBE32;
  border-radius: 15px;
  background-color: white;
  margin-top: 20px; }
  @media only screen and (max-width: 1199px) {
    .tunneloverzicht-map {
      display: none; } }

.tunneloverzicht-overview {
  padding: 15px 25px;
  border-radius: 6px;
  background-color: white; }

.tunneloverzicht-overview__title {
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  margin-bottom: 10px;
  width: 100%;
  display: block; }
  .tunneloverzicht-overview__title strong {
    color: #9BBE32; }

.tunneloverzicht-overview__subtitle {
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  opacity: 0.6;
  margin-bottom: 10px;
  width: 100%;
  display: block; }

.site__bg {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.5);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease-in-out; }
  .site__bg.is-active {
    opacity: 1;
    pointer-events: all; }

.tunneloverzicht-list {
  padding: 15px 25px;
  border-radius: 6px;
  background-color: white;
  margin-top: 20px; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-list {
      margin-top: 12px; } }

.tunneloverzicht-list__title {
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  margin-bottom: 10px;
  width: 100%;
  display: block; }
  .tunneloverzicht-list__title strong {
    color: #9BBE32; }

.tunneloverzicht-list__subtitle {
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  opacity: 0.6;
  margin-bottom: 10px;
  width: 100% !important;
  display: block; }

.tunneloverzicht-list_tunnels {
  display: flex;
  flex-wrap: wrap; }

.tunneloverzicht-list_tunnel {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  padding-bottom: 17px;
  border-bottom: 1px solid #E3E3E3;
  margin-bottom: 12px; }
  .tunneloverzicht-list_tunnel .flex {
    width: 100%; }

.tunneloverzicht-list_tunnel-title {
  padding: 6px 12px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  display: flex;
  align-items: center;
  width: fit-content !important;
  cursor: pointer; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-list_tunnel-title {
      width: 100% !important; } }
  .tunneloverzicht-list_tunnel-title svg {
    margin-left: 12px;
    width: 14px !important;
    height: 14px !important;
    transform-origin: center;
    transition: all 300ms ease-in-out; }
    @media only screen and (max-width: 899px) {
      .tunneloverzicht-list_tunnel-title svg {
        margin-left: auto; } }
  .tunneloverzicht-list_tunnel-title.is-active svg {
    transform: rotate(180deg); }
  .tunneloverzicht-list_tunnel-title .country {
    display: flex;
    width: fit-content !important; }
    .tunneloverzicht-list_tunnel-title .country svg {
      width: 17px;
      height: 17px;
      margin-left: 0;
      margin-right: 10px;
      transform: rotate(0deg) !important; }
      @media only screen and (max-width: 899px) {
        .tunneloverzicht-list_tunnel-title .country svg {
          margin-left: 0; } }

.tunneloverzicht-list_tunnel-show_graph {
  padding: 6px 12px;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  display: flex;
  align-items: center;
  width: fit-content !important;
  margin-left: auto;
  cursor: pointer;
  transition: all 300ms ease-in-out; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-list_tunnel-show_graph {
      display: none; } }
  .tunneloverzicht-list_tunnel-show_graph svg {
    margin-right: 12px;
    width: 14px;
    height: 14px; }
  .tunneloverzicht-list_tunnel-show_graph:hover {
    opacity: 0.7; }

.tunneloverzicht-list_tunnel-stats {
  display: flex;
  flex-wrap: wrap;
  margin-top: 16px;
  width: 100%;
  display: none; }
  .tunneloverzicht-list_tunnel-stats span {
    width: 50%;
    font-weight: 400;
    font-size: 12px;
    line-height: 220%;
    color: #888888; }
    .tunneloverzicht-list_tunnel-stats span strong {
      font-weight: 400;
      color: #000000; }

.tunneloverzicht-list__legenda {
  top: 0px;
  position: sticky;
  background-color: white;
  z-index: 11;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-left:-2px;
  width:calc(100% + 3px);
  margin-bottom: 20px; }
  .tunneloverzicht-list__legenda::before {
    content: '';
    position: absolute;
    width: calc(100% + 50px);
    left: -25px;
    top: 0;
    height: 1px;
    background-color: #E3E3E3; }
  .tunneloverzicht-list__legenda::after {
    content: '';
    position: absolute;
    width: calc(100% + 50px);
    left: -25px;
    bottom: 0;
    height: 1px;
    background-color: #E3E3E3; }
  .tunneloverzicht-list__legenda span {
    width: fit-content;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    font-family: 'Verdana';
    font-weight: 400;
    font-size: 14px;
    line-height: 150%; }
    @media only screen and (max-width: 899px) {
      .tunneloverzicht-list__legenda span {
        width: 100%;
        margin-bottom: 12px; } }
    .tunneloverzicht-list__legenda span::before {
      content: '';
      display: block;
      margin-right: 8px;
      width: 13px;
      height: 10px;
      border-radius: 2px; }
    .tunneloverzicht-list__legenda span.Beheer::before {
      background-color: #adadad; }
    .tunneloverzicht-list__legenda span.voorbereiding::before {
      background-color: #F8A01B; }
    .tunneloverzicht-list__legenda span.ontwerp::before {
      background-color: #ED529C; }
    .tunneloverzicht-list__legenda span.realisatie::before {
      background-color: #5712E9; }
    .tunneloverzicht-list__legenda span.microrenovatie::before {
      background-color: #00b2ff; }
  
.tunneloverzicht-map-mobile {
  padding: 12px;
  margin-top: 12px;
  display: none;
  flex-wrap: wrap;
  align-items: center;
  background: #FFFFFF;
  border: 1px solid rgba(0, 0, 0, 0.2);
  border-radius: 10px;
  font-weight: 400;
  font-size: 14px;
  line-height: 150%;
  color: #9BBE32; }
  @media only screen and (max-width: 899px) {
    .tunneloverzicht-map-mobile {
      display: flex; } }
  .tunneloverzicht-map-mobile svg {
    margin-left: auto;
    width: 14px;
    height: 14px;
    transform-origin: center;
    align-items: center; }
  .tunneloverzicht-map-mobile .icon svg {
    margin-left: 0;
    margin-right: 12px; }
    .tunneloverzicht-map-mobile .icon svg path {
      fill: #9BBE32; }

.tunneloverzicht-map-mobile__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%; }
  .tunneloverzicht-map-mobile__head.is-active .toggle {
    transform: rotate(180deg); }

.tunneloverzicht-map-mobile__body {
  display: none;
  width: 100%; }
  .tunneloverzicht-map-mobile__body .map-wrapper {
    width: 100%; }
  .tunneloverzicht-map-mobile__body .map {
    margin-top: 12px;
    width: 100%;
    height: 400px; }

.tunneloverzicht-list__subitems {
  display: none;
  margin-top: 14px;
  margin-bottom: 20px;
  flex-wrap: nowrap;
  gap: 8px;
  overflow-x: scroll; }
  .tunneloverzicht-list__subitems.is-active {
    display: flex; }
  .tunneloverzicht-list__subitems > div {
    min-width: fit-content !important;
    padding: 6px 12px;
    border-radius: 10px;
    font-weight: 400;
    font-size: 12px;
    line-height: 150%;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    border: 1px solid rgba(0, 0, 0, 0.2); }
    .tunneloverzicht-list__subitems > div svg {
      width: 14px;
      height: 14px;
      margin-left: 12px; }
    .tunneloverzicht-list__subitems > div.is-Beheer_en_onderhoud {
      background: rgba(136, 136, 136, 0.1);
      color: #888888; }
      .tunneloverzicht-list__subitems > div.is-Beheer_en_onderhoud svg path {
        fill: #888888; }
    .tunneloverzicht-list__subitems > div.is-Voorbereiding {
      background: rgba(237, 82, 156, 0.1);
      color: #ed529c; }
      .tunneloverzicht-list__subitems > div.is-Voorbereiding svg path {
        fill: #ed529c; }
    .tunneloverzicht-list__subitems > div.is-Ontwerp {
      background: rgba(87, 18, 233, 0.1);
      color: #5712e9; }
      .tunneloverzicht-list__subitems > div.is-Ontwerp svg path {
        fill: #5712e9; }
    .tunneloverzicht-list__subitems > div.is-Realisatie {
      background: rgba(248, 160, 27, 0.1);
      color: #f8a01b; }
      .tunneloverzicht-list__subitems > div.is-Realisatie svg path {
        fill: #f8a01b; }

.tunneloverzicht-tunnel-graph {
  z-index: 1;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  border-radius: 6px;
  padding-top: 22px;
  padding-right: 100px;
  padding-left: 100px;
  padding-bottom: 50px;
  z-index: 101;
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease-in-out;
  display: flex;
  flex-wrap: wrap;
  width: 775px; }
  .tunneloverzicht-tunnel-graph.is-active {
    opacity: 1;
    pointer-events: all; }

.tunneloverzicht-tunnel-graph__title {
  width: 100%;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  text-align: center;
  margin-bottom: 12px; }

.tunneloverzicht-tunnel-graph__subtitle {
  font-weight: 400;
  font-size: 12px;
  line-height: 18px;
  width: 100%;
  text-align: center;
  margin-bottom: 15px;
  opacity: 0.6; }

.tunneloverzicht-list__overview {
  display: flex;
  flex-wrap: nowrap;
  width: 100%;
  margin-top: 12px;
  position: relative;
  height: 30px;
  align-items: center;
  border-radius: 6px; }
  .tunneloverzicht-list__overview .bar {
    width: 100%;
    max-height: 35px;
    min-height: 7px;
    border-radius: 6px;
    position: relative;
    transition: all 300ms ease-in-out;
    cursor: pointer; }
    .tunneloverzicht-list__overview .bar[data-phase="Beheer en onderhoud"] {
      background-color: #adadad;
      height: 7px !important; }
    .tunneloverzicht-list__overview .bar[data-phase="Voorbereiding"] {
      background-color: #ED529C; }
    .tunneloverzicht-list__overview .bar[data-phase="Onwerp"], .tunneloverzicht-list__overview .bar[data-phase="Ontwerp"] {
      background-color: #5712E9; }
    .tunneloverzicht-list__overview .bar[data-phase="Realisatie"] {
      background-color: #F8A01B; }
    .tunneloverzicht-list__overview .bar[data-phase="Microrenovatie"] {
      min-height: 10px; }
    .tunneloverzicht-list__overview .bar:nth-child(0) {
      left: calc(-3px * 0); }
    .tunneloverzicht-list__overview .bar:nth-child(1) {
      left: calc(-3px * 1); }
    .tunneloverzicht-list__overview .bar:nth-child(2) {
      left: calc(-3px * 2); }
    .tunneloverzicht-list__overview .bar:nth-child(3) {
      left: calc(-3px * 3); }
    .tunneloverzicht-list__overview .bar:nth-child(4) {
      left: calc(-3px * 4); }
    .tunneloverzicht-list__overview .bar:nth-child(5) {
      left: calc(-3px * 5); }
    .tunneloverzicht-list__overview .bar.is-0 {
      z-index: 10; }
    .tunneloverzicht-list__overview .bar.is-1 {
      z-index: 9; }
    .tunneloverzicht-list__overview .bar.is-2 {
      z-index: 8; }
    .tunneloverzicht-list__overview .bar.is-3 {
      z-index: 7; }
    .tunneloverzicht-list__overview .bar.is-4 {
      z-index: 6; }
    .tunneloverzicht-list__overview .bar.is-5 {
      z-index: 5; }
    .tunneloverzicht-list__overview .bar .hover {
      width: max-content !important;
      position: absolute;
      left: 50%;
      top: -50px;
      transform: translateX(-50%);
      padding: 10px 16px;
      background: #FFFFFF;
      border: 1px solid #888888;
      box-shadow: 0px 4px 4px rgba(108, 108, 108, 0.3);
      border-radius: 10px 10px 0px 10px;
      font-style: normal;
      font-weight: 400;
      font-size: 14px;
      line-height: 150%;
      opacity: 0;
      transition: all 300ms ease-in-out;
      pointer-events: none; }
    .tunneloverzicht-list__overview .bar.is-active {
      opacity: 1 !important; }
      .tunneloverzicht-list__overview .bar.is-active[data-phase="Beheer"] {
        background-color: #adadad !important; }
      .tunneloverzicht-list__overview .bar.is-active[data-phase="Voorbereiding"] {
        background-color: #f8a01b !important; }
      .tunneloverzicht-list__overview .bar.is-active[data-phase="Onwerp"], .tunneloverzicht-list__overview .bar.is-active[data-phase="Ontwerp"] {
        background-color: #ed529c !important; }
      .tunneloverzicht-list__overview .bar.is-active[data-phase="Realisatie"] {
        background-color: #5712e9 !important; }
      .tunneloverzicht-list__overview .bar.is-active .hover {
        opacity: 1;
        pointer-events: all; }
    .tunneloverzicht-list__overview .bar.faded[data-phase="Beheer"] {
      background-color: #ababab; }
    .tunneloverzicht-list__overview .bar.faded[data-phase="Voorbereiding"] {
      background-color: #fabc5e; }
    .tunneloverzicht-list__overview .bar.faded[data-phase="Onwerp"], .tunneloverzicht-list__overview .bar.faded[data-phase="Ontwerp"] {
      background-color: #f285b9; }
    .tunneloverzicht-list__overview .bar.faded[data-phase="Realisatie"] {
      background-color: #8958ef; }
  .tunneloverzicht-list__overview.items-1 .bar {
    border-radius: 6px; }

.tunnelphase-popup {
  z-index: 1;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  border-radius: 6px;
  padding-top: 22px;
  padding-right: 100px;
  padding-left: 100px;
  padding-bottom: 50px;
  z-index: 101;
  opacity: 0;
  pointer-events: none;
  transition: all 300ms ease-in-out;
  display: flex;
  flex-wrap: wrap;
  width: 775px; }
  @media only screen and (max-width: 899px) {
    .tunnelphase-popup {
      width: calc(100vw - 30px);
      padding-left: 10px;
      padding-right: 10px;
      padding-bottom: 30px; } }
  .tunnelphase-popup.is-active {
    opacity: 1;
    pointer-events: all; }
  .tunnelphase-popup.popup-Realistie .tunnelphase-popup__title strong {
    color: #F8A01B; }
  .tunnelphase-popup.popup-Voorbereiding .tunnelphase-popup__title strong {
    color: #ED529C; }
  .tunnelphase-popup.popup-Ontwerp .tunnelphase-popup__title strong, .tunnelphase-popup.popup-Onwerp .tunnelphase-popup__title strong {
    color: #5712E9; }
  .tunnelphase-popup.popup-Beheer_en_onderhoud .tunnelphase-popup__title strong {
    color: #888888; }
  .tunnelphase-popup p {
    font-weight: 400;
    font-size: 12px;
    line-height: 18px;
    opacity: 0.6;
    margin-top: 12px;
    width: 100%;
    text-align: center; }

.tunnelphase-popup__title {
  width: 100%;
  justify-content: center;
  align-items: center;
  font-weight: 700;
  font-size: 16px;
  line-height: 150%;
  display: flex;
  flex-wrap: wrap; }
  .tunnelphase-popup__title .flag {
    display: flex;
    margin-right: 12px; }
    .tunnelphase-popup__title .flag svg {
      width: 17px;
      height: 17px; }
  .tunnelphase-popup__title strong {
    margin-left: 5px; }

/**
  * Utilities.
  */
/**
 * Color utility classes.
 *
 * Automatically generated color and background color utility classes based on every color definition in `settings/_color.scss`.
 * Loop through every `$key` and `$map` in the `$colors` variable map defined in `settings/_color.scss`.
 */
/**
			 * `color` black-100 color utility.
			 */
.color-black-100 {
  color: black; }

/**
			 * `background-color` black-100 color utility.
			 */
.background-color-black-100 {
  background-color: black; }

/**
			 * `color` white-100 color utility.
			 */
.color-white-100 {
  color: white; }

/**
			 * `background-color` white-100 color utility.
			 */
.background-color-white-100 {
  background-color: white; }

/**
			 * `color` red-100 color utility.
			 */
.color-red-100 {
  color: red; }

/**
			 * `background-color` red-100 color utility.
			 */
.background-color-red-100 {
  background-color: red; }

/**
			 * `color` red-10 color utility.
			 */
.color-red-10 {
  color: red; }

/**
			 * `background-color` red-10 color utility.
			 */
.background-color-red-10 {
  background-color: red; }

/**
 * Visually hide any element from the user.
 */
.visually-hidden {
  display: block;
  position: absolute;
  width: 1px;
  height: 1px;
  white-space: nowrap;
  overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(1px); }

/**
 * Make lazyload placeholder 100% wide.
 */
.lazyload {
  width: 100%; }

/**
 * Helper class for object fit polyfill. Add this class to any element
 * that utilizes the `object-fit` property.
 */

.object-fit {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
  font-family: 'object-fit: cover;';
  object-fit: cover; }

/**
 * Align center.
 */
.align-center {
  text-align: center; }

/**
 * Align left.
 */
.align-left {
  text-align: left; }

/**
 * Align right.
 */
.align-right {
  text-align: right; }

/**
 * Object fit.
 *
 * 1. Font family polyfill with (https://github.com/bfred-it/object-fit-images).
 * Loop through every value for the `object-fit` property.
 */
/**
	 * `object-fit` fill utility class.
	 */
.fill {
  font-family: "object-fit: fill;";
  /* 1 */
  object-fit: fill; }

/**
	 * `object-fit` contain utility class.
	 */
.contain {
  font-family: "object-fit: contain;";
  /* 1 */
  object-fit: contain; }

/**
	 * `object-fit` cover utility class.
	 */
.cover {
  font-family: "object-fit: cover;";
  /* 1 */
  object-fit: cover; }

/**
	 * `object-fit` none utility class.
	 */
.none {
  font-family: "object-fit: none;";
  /* 1 */
  object-fit: none; }

/**
	 * `object-fit` scale-down utility class.
	 */
.scale-down {
  font-family: "object-fit: scale-down;";
  /* 1 */
  object-fit: scale-down; }

/**
 * Position utility class.
 */
.static {
  position: static; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

.fixed {
  position: fixed; }

.sticky {
  position: sticky; }

/**
 * Font family utility classes.
 */
.text-xs-default {
  font-family: "Verdana"; }

.text-xs-heading {
  font-family: "Verdana"; }

@media only screen and (max-width: 599px) {
  .text-sm-default {
    font-family: "Verdana"; }
  .text-sm-heading {
    font-family: "Verdana"; } }

@media only screen and (min-width: 600px) {
  .text-md-default {
    font-family: "Verdana"; }
  .text-md-heading {
    font-family: "Verdana"; } }

@media only screen and (min-width: 900px) {
  .text-lg-default {
    font-family: "Verdana"; }
  .text-lg-heading {
    font-family: "Verdana"; } }

@media only screen and (min-width: 1200px) {
  .text-xl-default {
    font-family: "Verdana"; }
  .text-xl-heading {
    font-family: "Verdana"; } }

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 72px;
  font-size: 7.2rem;
  line-height: 1.25em; }

.text-xs-h2 {
  font-size: 64px;
  font-size: 6.4rem;
  line-height: 1.20312em; }

.text-xs-h3 {
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.2381em; }

.text-xs-h4 {
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.2381em; }

.text-xs-h5 {
  font-size: 42px;
  font-size: 4.2rem;
  line-height: 1.2381em; }

.text-xs-p {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.4375em; }

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 72px;
    font-size: 7.2rem;
    line-height: 1.25em; }
  .text-sm-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1.20312em; }
  .text-sm-h3 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-sm-h4 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-sm-h5 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-sm-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4375em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 72px;
    font-size: 7.2rem;
    line-height: 1.25em; }
  .text-md-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1.20312em; }
  .text-md-h3 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-md-h4 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-md-h5 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-md-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4375em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 72px;
    font-size: 7.2rem;
    line-height: 1.25em; }
  .text-lg-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1.20312em; }
  .text-lg-h3 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-lg-h4 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-lg-h5 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-lg-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4375em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 72px;
    font-size: 7.2rem;
    line-height: 1.25em; }
  .text-xl-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1.20312em; }
  .text-xl-h3 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-xl-h4 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-xl-h5 {
    font-size: 42px;
    font-size: 4.2rem;
    line-height: 1.2381em; }
  .text-xl-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.4375em; } }

/**
 * Text alignment utility classes.
 */
.text-xs-left {
  text-align: left; }

.text-xs-right {
  text-align: right; }

.text-xs-center {
  text-align: center; }

@media only screen and (max-width: 599px) {
  .text-sm-left {
    text-align: left; }
  .text-sm-right {
    text-align: right; }
  .text-sm-center {
    text-align: center; } }

@media only screen and (min-width: 600px) {
  .text-md-left {
    text-align: left; }
  .text-md-right {
    text-align: right; }
  .text-md-center {
    text-align: center; } }

@media only screen and (min-width: 900px) {
  .text-lg-left {
    text-align: left; }
  .text-lg-right {
    text-align: right; }
  .text-lg-center {
    text-align: center; } }

@media only screen and (min-width: 1200px) {
  .text-xl-left {
    text-align: left; }
  .text-xl-right {
    text-align: right; }
  .text-xl-center {
    text-align: center; } }

/**
 * Font weight utility classes.
 *
 * 1. Multiply looped integer by 100 for correct font weight value.
 */
.text-xs-100 {
  font-weight: 100; }

.text-xs-200 {
  font-weight: 200; }

.text-xs-300 {
  font-weight: 300; }

.text-xs-400 {
  font-weight: 400; }

.text-xs-500 {
  font-weight: 500; }

.text-xs-600 {
  font-weight: 600; }

.text-xs-700 {
  font-weight: 700; }

.text-xs-800 {
  font-weight: 800; }

.text-xs-900 {
  font-weight: 900; }

@media only screen and (max-width: 599px) {
  .text-sm-100 {
    font-weight: 100; }
  .text-sm-200 {
    font-weight: 200; }
  .text-sm-300 {
    font-weight: 300; }
  .text-sm-400 {
    font-weight: 400; }
  .text-sm-500 {
    font-weight: 500; }
  .text-sm-600 {
    font-weight: 600; }
  .text-sm-700 {
    font-weight: 700; }
  .text-sm-800 {
    font-weight: 800; }
  .text-sm-900 {
    font-weight: 900; } }

@media only screen and (min-width: 600px) {
  .text-md-100 {
    font-weight: 100; }
  .text-md-200 {
    font-weight: 200; }
  .text-md-300 {
    font-weight: 300; }
  .text-md-400 {
    font-weight: 400; }
  .text-md-500 {
    font-weight: 500; }
  .text-md-600 {
    font-weight: 600; }
  .text-md-700 {
    font-weight: 700; }
  .text-md-800 {
    font-weight: 800; }
  .text-md-900 {
    font-weight: 900; } }

@media only screen and (min-width: 900px) {
  .text-lg-100 {
    font-weight: 100; }
  .text-lg-200 {
    font-weight: 200; }
  .text-lg-300 {
    font-weight: 300; }
  .text-lg-400 {
    font-weight: 400; }
  .text-lg-500 {
    font-weight: 500; }
  .text-lg-600 {
    font-weight: 600; }
  .text-lg-700 {
    font-weight: 700; }
  .text-lg-800 {
    font-weight: 800; }
  .text-lg-900 {
    font-weight: 900; } }

@media only screen and (min-width: 1200px) {
  .text-xl-100 {
    font-weight: 100; }
  .text-xl-200 {
    font-weight: 200; }
  .text-xl-300 {
    font-weight: 300; }
  .text-xl-400 {
    font-weight: 400; }
  .text-xl-500 {
    font-weight: 500; }
  .text-xl-600 {
    font-weight: 600; }
  .text-xl-700 {
    font-weight: 700; }
  .text-xl-800 {
    font-weight: 800; }
  .text-xl-900 {
    font-weight: 900; } }

/**
 * Text transform uitlity classes.
 */
.text-xs-capitalize {
  text-transform: capitalize; }

.text-xs-uppercase {
  text-transform: uppercase; }

.text-xs-lowercase {
  text-transform: lowercase; }

.text-xs-none {
  text-transform: none; }

.text-xs-full-width {
  text-transform: full-width; }

@media only screen and (max-width: 599px) {
  .text-sm-capitalize {
    text-transform: capitalize; }
  .text-sm-uppercase {
    text-transform: uppercase; }
  .text-sm-lowercase {
    text-transform: lowercase; }
  .text-sm-none {
    text-transform: none; }
  .text-sm-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 600px) {
  .text-md-capitalize {
    text-transform: capitalize; }
  .text-md-uppercase {
    text-transform: uppercase; }
  .text-md-lowercase {
    text-transform: lowercase; }
  .text-md-none {
    text-transform: none; }
  .text-md-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 900px) {
  .text-lg-capitalize {
    text-transform: capitalize; }
  .text-lg-uppercase {
    text-transform: uppercase; }
  .text-lg-lowercase {
    text-transform: lowercase; }
  .text-lg-none {
    text-transform: none; }
  .text-lg-full-width {
    text-transform: full-width; } }

@media only screen and (min-width: 1200px) {
  .text-xl-capitalize {
    text-transform: capitalize; }
  .text-xl-uppercase {
    text-transform: uppercase; }
  .text-xl-lowercase {
    text-transform: lowercase; }
  .text-xl-none {
    text-transform: none; }
  .text-xl-full-width {
    text-transform: full-width; } }

/**
 * Vertical Rhythm.
 */
.vr-0 {
  margin-bottom: 0px; }

.vr-8 {
  margin-bottom: 8px; }

.vr-16 {
  margin-bottom: 16px; }

.vr-24 {
  margin-bottom: 24px; }

.vr-32 {
  margin-bottom: 32px; }

.vr-40 {
  margin-bottom: 40px; }

.vr-48 {
  margin-bottom: 48px; }

.vr-56 {
  margin-bottom: 56px; }

.vr-64 {
  margin-bottom: 64px; }

.vr-72 {
  margin-bottom: 72px; }

.vr-80 {
  margin-bottom: 80px; }

/**
 * Utility classes for manipulating stacking order in HTML.
 */
.z-index-0 {
  z-index: 0; }

.z-index-1 {
  z-index: 10; }

.z-index-2 {
  z-index: 20; }

.z-index-3 {
  z-index: 30; }

.z-index-4 {
  z-index: 40; }

.z-index-5 {
  z-index: 50; }

.z-index-6 {
  z-index: 60; }

.z-index-7 {
  z-index: 70; }

.z-index-8 {
  z-index: 80; }

.z-index-9 {
  z-index: 90; }

.z-index-10 {
  z-index: 100; }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHVubmVsb3ZlcnppY2h0LW1haW4uY3NzIiwic291cmNlcyI6WyJ0dW5uZWxvdmVyemljaHQtbWFpbi5zY3NzIiwic2V0dGluZ3MvX2FsbC5zY3NzIiwic2V0dGluZ3MvX3R5cG9ncmFwaHkuc2NzcyIsInNldHRpbmdzL19jb2xvci5zY3NzIiwic2V0dGluZ3MvX3otaW5kZXguc2NzcyIsInNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplLmNzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3Mvb3dsLmNhcm91c2VsLnNjc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19jb3JlLnNjc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hbmltYXRlLnNjc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19hdXRvaGVpZ2h0LnNjc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL19sYXp5bG9hZC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fdmlkZW8uc2NzcyIsInRvb2xzL19hbGwuc2NzcyIsInRvb2xzL19mdW5jdGlvbnMuc2NzcyIsInRvb2xzL19tYWduaWZpYy1wb3B1cC5zY3NzIiwidG9vbHMvX21peGlucy5zY3NzIiwiZ2VuZXJpYy9fYmFzZS5zY3NzIiwiZ2VuZXJpYy9fcmVzZXQuc2NzcyIsIm9iamVjdHMvX2J1dHRvbnMuc2NzcyIsIm9iamVjdHMvX2Ntcy1vdXRwdXQuc2NzcyIsIm9iamVjdHMvX2NvbnRhaW5lci5zY3NzIiwib2JqZWN0cy9fY29udGVudC1jb25zdHJhaW50LnNjc3MiLCJvYmplY3RzL19mbGV4LnNjc3MiLCJvYmplY3RzL19mb3JtLnNjc3MiLCJvYmplY3RzL19oZWFkaW5ncy5zY3NzIiwib2JqZWN0cy9fbGF6eS1sb2FkLnNjc3MiLCJvYmplY3RzL19wYWdpbmF0aW9uLnNjc3MiLCJvYmplY3RzL193cmFwcGVyLnNjc3MiLCJvYmplY3RzL19mb250cy5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19maWx0ZXJzLnNjc3MiLCJjb21wb25lbnRzL19taWRkbGUuc2NzcyIsImNvbXBvbmVudHMvX21hcC5zY3NzIiwiY29tcG9uZW50cy9fb3ZlcnZpZXcuc2NzcyIsImNvbXBvbmVudHMvX2xpc3Quc2NzcyIsImNvbXBvbmVudHMvX3R1bm5lbC5zY3NzIiwidXRpbGl0aWVzL19jb2xvci5zY3NzIiwidXRpbGl0aWVzL19oZWxwZXJzLnNjc3MiLCJ1dGlsaXRpZXMvX29iamVjdC1maXQuc2NzcyIsInV0aWxpdGllcy9fcG9zaXRpb24uc2NzcyIsInV0aWxpdGllcy9fdGV4dC5zY3NzIiwidXRpbGl0aWVzL192ZXJ0aWNhbC1yaHl0aG0uc2NzcyIsInV0aWxpdGllcy9fei1pbmRleC5zY3NzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogU2V0dGluZ3MuXG4gKi9cbiBAaW1wb3J0ICdzZXR0aW5ncy9hbGwnO1xuXG5cbiAvKipcbiAgKiBWZW5kb3IuXG4gICovXG4gQGltcG9ydCAnLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL25vcm1hbGl6ZS5jc3Mvbm9ybWFsaXplJztcbiBAaW1wb3J0ICcuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbCc7XG5cbiAvKipcbiAgKiBUb29scy5cbiAgKi9cbiBAaW1wb3J0ICd0b29scy9hbGwnO1xuXG5cbiAvKipcbiAgKiBFbGVtZW50cy5cbiAgKi9cblxuXG4gLyoqXG4gICogR2VuZXJhbC5cbiAgKi9cbiBAaW1wb3J0ICdnZW5lcmljL2Jhc2UnO1xuIEBpbXBvcnQgJ2dlbmVyaWMvcmVzZXQnO1xuXG5cbiAvKipcbiAgKiBPYmplY3RzLlxuICAqL1xuIEBpbXBvcnQgJ29iamVjdHMvYnV0dG9ucyc7XG4gQGltcG9ydCAnb2JqZWN0cy9jbXMtb3V0cHV0JztcbiBAaW1wb3J0ICdvYmplY3RzL2NvbnRhaW5lcic7XG4gQGltcG9ydCAnb2JqZWN0cy9jb250ZW50LWNvbnN0cmFpbnQnO1xuIEBpbXBvcnQgJ29iamVjdHMvZmxleCc7XG4gQGltcG9ydCAnb2JqZWN0cy9mb3JtJztcbiBAaW1wb3J0ICdvYmplY3RzL2hlYWRpbmdzJztcbiBAaW1wb3J0ICdvYmplY3RzL2xhenktbG9hZCc7XG4gQGltcG9ydCAnb2JqZWN0cy9wYWdpbmF0aW9uJztcbiBAaW1wb3J0ICdvYmplY3RzL3dyYXBwZXInO1xuIEBpbXBvcnQgJ29iamVjdHMvZm9udHMnO1xuXG5cbiAvKipcbiAgKiBDb21wb25lbnRzLlxuICAqL1xuIEBpbXBvcnQgJ2NvbXBvbmVudHMvaGVhZGVyJztcbiBAaW1wb3J0ICdjb21wb25lbnRzL2ZpbHRlcnMnO1xuIEBpbXBvcnQgJ2NvbXBvbmVudHMvbWlkZGxlJztcbiBAaW1wb3J0ICdjb21wb25lbnRzL21hcCc7XG4gQGltcG9ydCAnY29tcG9uZW50cy9vdmVydmlldyc7XG4gQGltcG9ydCAnY29tcG9uZW50cy9saXN0JztcbiBAaW1wb3J0ICdjb21wb25lbnRzL3R1bm5lbCc7XG5cblxuIC8qKlxuICAqIFV0aWxpdGllcy5cbiAgKi9cbiBAaW1wb3J0ICd1dGlsaXRpZXMvY29sb3InO1xuIEBpbXBvcnQgJ3V0aWxpdGllcy9oZWxwZXJzJztcbiBAaW1wb3J0ICd1dGlsaXRpZXMvb2JqZWN0LWZpdCc7XG4gQGltcG9ydCAndXRpbGl0aWVzL3Bvc2l0aW9uJztcbiBAaW1wb3J0ICd1dGlsaXRpZXMvdGV4dCc7XG4gQGltcG9ydCAndXRpbGl0aWVzL3ZlcnRpY2FsLXJoeXRobSc7XG4gQGltcG9ydCAndXRpbGl0aWVzL3otaW5kZXgnO1xuIiwiLyoqXG4gKiBTZXR0aW5ncy5cbiAqL1xuIFxuQGltcG9ydCAndHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdjb2xvcic7XG5AaW1wb3J0ICd6LWluZGV4JztcbkBpbXBvcnQgJ2RlZmluaXRpb25zJztcbiIsIi8qKlxuICogRm9udCBmYW1pbHkgbWFwLlxuICovXG5cbiRmb250LWZhbWlseTogKFxuXHQnZGVmYXVsdCc6ICdWZXJkYW5hJyxcblx0J2hlYWRpbmcnOiAnVmVyZGFuYScsXG4pO1xuXG5cbi8qKlxuICogRm9udCBzaXplIG1hcC5cbiAqL1xuXG4kZm9udC1zaXplOiAoXG5cdCdoMSc6IDcycHgsXG5cdCdoMic6IDY0cHgsXG5cdCdoMyc6IDQycHgsXG5cdCdoNCc6IDQycHgsXG5cdCdoNSc6IDQycHgsXG5cdCdwJzogMTZweFxuKTtcblxuXG4vKipcbiAqIExpbmUgaGVpZ2h0IG1hcC5cbiAqL1xuXG4kbGluZS1oZWlnaHQ6IChcblx0J2gxJzogOTBweCxcblx0J2gyJzogNzdweCxcblx0J2gzJzogNTJweCxcblx0J2g0JzogNTJweCxcblx0J2g1JzogNTJweCxcblx0J3AnOiAyM3B4XG4pO1xuXG4vKipcbiogTW9iaWxlLlxuKiovXG5cbi8qKlxuICogRm9udCBzaXplIG1hcC5cbiAqL1xuXG4gJG1vYmlsZS1mb250LXNpemU6IChcblx0J2gxJzogNzJweCxcblx0J2gyJzogNjRweCxcblx0J2gzJzogNDJweCxcblx0J2g0JzogNDJweCxcblx0J2g1JzogNDJweCxcblx0J3AnOiAxNnB4XG4pO1xuXG5cbi8qKlxuICogTGluZSBoZWlnaHQgbWFwLlxuICovXG5cbiRtb2JpbGUtbGluZS1oZWlnaHQ6IChcblx0J2gxJzogOTBweCxcblx0J2gyJzogNzdweCxcblx0J2gzJzogNTJweCxcblx0J2g0JzogNTJweCxcblx0J2g1JzogNTJweCxcblx0J3AnOiAyM3B4XG4pO1xuIiwiLyoqXG4gKiBDb2xvciBNYXAgKGh0dHBzOi8vY29udmVydGFjb2xvci5jb20vKS5cbiAqL1xuXG4kY29sb3JzOiAoXG5cdCdibGFjayc6IChcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMCUsIDEpLCAvLyAjMDAwMDAwLCAxMDAlXG5cdCksXG5cdCd3aGl0ZSc6IChcblx0XHQnMTAwJzogaHNsYSgwLCAwJSwgMTAwJSwgMSkgLy8gI0ZGRkZGRiwgMTAwJVxuXHQpLFxuXHQncmVkJzogKFxuXHRcdCcxMDAnOiBoc2xhKDAsIDEwMCUsIDUwJSwgMSksIC8vICNGRjAwMDAsIDEwMCVcblx0XHQnMTAnOiBoc2xhKDAsIDEwMCUsIDUwJSwgMSkgLy8gI0ZGMDAwMCwgMTAlXG5cdClcbik7XG5cblxuLyoqXG4gKiBDb2xvcnMgVmFyaWFibGVzLlxuICovXG4kYmxhY2stMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsYWNrJyksICcxMDAnKTtcbiR3aGl0ZS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnd2hpdGUnKSwgJzEwMCcpO1xuJHJlZC0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcbiRyZWQtMTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcbiIsIi8vIEEgbGltaXRlZCBhcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBgei1pbmRleGAgcHJvcGVydHkgdG8gcHJldmVudFxuLy8gRXhhZ2dlcmF0ZWQgYW1vdW50cyBhbmQgdWdseSBoYWNrcy5cblxuJHotaW5kZXg6IChcblx0JzAnOiAgMCxcblx0JzEnOiAgMTAsXG5cdCcyJzogIDIwLFxuXHQnMyc6ICAzMCxcblx0JzQnOiAgNDAsXG5cdCc1JzogIDUwLFxuXHQnNic6ICA2MCxcblx0JzcnOiAgNzAsXG5cdCc4JzogIDgwLFxuXHQnOSc6ICA5MCxcblx0JzEwJzogMTAwXG4pO1xuIiwiLyoqXG4gKiBHcmlkLlxuICovXG5cbi8vIEdyaWQgd2lkdGguXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cbiRncmlkLXdpZHRoOiAxMDI0cHg7XG5cbi8vIEdyaWQgY29sdW1ucy5cbi8vIEFtb3VudCBvZiBncmlkIGNvbHVtbnMgdG8gY2FsY3VsYXRlIGEgY29sdW1uIHdpZHRoIHdpdGguXG4kZ3JpZC1jb2x1bW5zOiAxMjtcblxuLy8gR3JpZCBnYXAuXG4vLyBTcGFjZSBiZXR3ZWVuIGdyaWQgY29sdW1ucywgYXV0b21hdGVkLlxuJGdyaWQtZ2FwOiAyMHB4O1xuXG5cbi8qKlxuICogQXNzZXRzLlxuICovXG5cbi8vIEltYWdlIHBhdGguXG4kaW1hZ2UtcGF0aDogJy4uL2ltYWdlcy8nO1xuXG5cbi8qKlxuICogQm9keS5cbiAqL1xuXG4vLyBCb2R5IGJhY2tncm91bmQgY29sb3IuXG4kYm9keS1iYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xuXG4vLyBCb2R5IGNvbG9yLlxuJGJvZHktY29sb3I6ICRibGFjay0xMDA7XG5cbi8vIEJvZHkgZm9udCBmYW1pbHkuXG4kYm9keS1mb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdkZWZhdWx0Jyk7XG5cbi8vIEJvZHkgdGV4dC5cbiRib2R5LXRleHQ6ICdwJztcblxuXG4vKipcbiAqIE90aGVyLlxuICovXG5cbi8vIExpbmsgY29sb3IuXG4kbGluay1jb2xvcjogJGJsYWNrLTEwMDtcblxuLy8gU2VsZWN0IGNvbG9yLlxuKjo6c2VsZWN0aW9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrLTEwMDtcbiAgY29sb3I6ICR3aGl0ZS0xMDA7XG59XG5cbi8qKlxuICogUmVzcG9uc2l2ZS5cbiAqL1xuXG4vLyBHcmlkIGJyZWFrcG9pbnQgYWxpYXMuXG4kYnJlYWtwb2ludHM6IChcblx0eHM6IG51bGwsXG5cdHNtOiAncGhvbmUnLFxuXHRtZDogJ3RhYmxldC1wb3J0cmFpdC11cCcsXG5cdGxnOiAndGFibGV0LWxhbmRzY2FwZS11cCcsXG5cdHhsOiAnZGVza3RvcCdcbik7XG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdhbmltYXRlJztcbkBpbXBvcnQgJ2F1dG9oZWlnaHQnO1xuQGltcG9ydCAnbGF6eWxvYWQnO1xuQGltcG9ydCAndmlkZW8nO1xuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0LyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5vd2wtc3RhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqL1xuXHR9XG5cblx0Lm93bC1zdGFnZTphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcblx0fVxuXG5cdC5vd2wtd3JhcHBlcixcblx0Lm93bC1pdGVte1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG5cdC5vd2wtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDFweDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKipcbiAqIFRvb2xzLlxuICovXG5cbkBpbXBvcnQgJ2Z1bmN0aW9ucyc7XG5AaW1wb3J0ICdtYWduaWZpYy1wb3B1cCc7XG5AaW1wb3J0ICdtaXhpbnMnO1xuIiwiLyoqXG4gKiBVbmljb2RlLlxuICpcbiAqIFByZXNlcnZlIGVzY2FwZWQgdW5pY29kZSBzdHJpbmcuXG4gKiBAcGFyYW0ge1N0cmluZ30gJHN0cmluZyAtIEFuIHVuaWNvZGUgc3RyaW5nLlxuICogQHJldHVybiB7U3RyaW5nfSBBIHByZXNlcnZlZCBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nXG4gKi9cbiBcbi8vIHNhc3MtbGludDpkaXNhYmxlIHF1b3Rlc1xuQGZ1bmN0aW9uIHVuaWNvZGUoJHN0cmluZykge1xuXHRAcmV0dXJuIHVucXVvdGUoXCJcXCdcIikgKyB1bnF1b3RlKHN0ci1pbnNlcnQoJHN0cmluZywgJ1xcXFwnLCAxKSkgKyB1bnF1b3RlKFwiXFwnXCIpO1xufVxuLy8gc2Fzcy1saW50OmVuYWJsZSBxdW90ZXNcblxuXG4vKipcbiAqIFJFTS5cbiAqXG4gKiBDb252ZXJ0IHBpeGVsIHVuaXRzIHRvIFJFTSB1bml0cy5cbiAqIEBwYXJhbSB7TnVtYmVyfSAkcGl4ZWxzIC0gUGl4ZWwgdmFsdWUuXG4gKiBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXG4gKi9cblxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XG5cdEBpZiAodW5pdGxlc3MoJHBpeGVscykpIHtcblx0XHRAZXJyb3IgJ1ZhbHVlIGZvciBgI3skcGl4ZWxzfWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0Lic7XG5cdH1cblx0QHJldHVybiAoKCRwaXhlbHMgLyAxMHB4KSAqIDFyZW0pO1xufVxuXG5cbi8qKlxuICogQ29sdW1uLlxuICpcbiAqIENhbGN1bGF0ZSBnaXZlbiBjb2x1bW4gd2lkdGguXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbiAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0byBzcGFuLlxuICogQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gVGhlIGFtb3VudCBvZiBjb2x1bW5zIHRoYXQgY2FuIGJlIHNwYW5uZWQuXG4gKiBAcmV0dXJuIHtTdHJpbmd9IC0gUGVyY2VudGFnZSB2YWx1ZS5cbiAqL1xuXG5AZnVuY3Rpb24gY29sdW1uKCRjb2x1bW4sICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW5zKSB7XG5cdEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcbn1cblxuXG4vKipcbiAqIENvbG9yLlxuICpcbiAqIEdldCBhIGNvbG9yIHZhbHVlIGZyb20gdHdvIGxldmVscyBkZWVwIGluIHRoZSBgJGNvbG9yYCBtYXAuXG4gKiBAcGFyYW0geyRzdHJpbmd9ICRrZXkgLSBLZXkgb2YgdGhlIGNvbG9yIHRvIGdldCBmcm9tIHRoZSBtYXAuXG4gKiBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxuICogQHJldHVybiB7Kn0gQSBIU0xBIGNvbG9yIHZhbHVlLlxuICovXG5cbkBmdW5jdGlvbiBjb2xvcigka2V5LCAkdmFsdWUpIHtcblx0QHJldHVybiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJGtleSksICR2YWx1ZSk7XG59XG4iLCIvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xuXG5cbi8qIE1hZ25pZmljIFBvcHVwIENTUyAqL1xuLm1mcC1iZyB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTA0MjtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBiYWNrZ3JvdW5kOiAjMGIwYjBiO1xuICBvcGFjaXR5OiAwLjg7IH1cblxuLm1mcC13cmFwIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDQzO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIG91dGxpbmU6IG5vbmUgIWltcG9ydGFudDtcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm1mcC1jb250YWluZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICBwYWRkaW5nOiAwIDhweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHotaW5kZXg6IDEwNDU7IH1cblxuLm1mcC1pbmxpbmUtaG9sZGVyIC5tZnAtY29udGVudCxcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLWFqYXgtY3VyIHtcbiAgY3Vyc29yOiBwcm9ncmVzczsgfVxuXG4ubWZwLXpvb20tb3V0LWN1ciwgLm1mcC16b29tLW91dC1jdXIgLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSB7XG4gIGN1cnNvcjogLW1vei16b29tLW91dDtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xuICBjdXJzb3I6IHpvb20tb3V0OyB9XG5cbi5tZnAtem9vbSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20taW47XG4gIGN1cnNvcjogLW1vei16b29tLWluO1xuICBjdXJzb3I6IHpvb20taW47IH1cblxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xuICBjdXJzb3I6IGF1dG87IH1cblxuLm1mcC1jbG9zZSxcbi5tZnAtYXJyb3csXG4ubWZwLXByZWxvYWRlcixcbi5tZnAtY291bnRlciB7XG4gIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5tZnAtbG9hZGluZy5tZnAtZmlndXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWZwLWhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLm1mcC1wcmVsb2FkZXIge1xuICBjb2xvcjogI0NDQztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgd2lkdGg6IGF1dG87XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogLTAuOGVtO1xuICBsZWZ0OiA4cHg7XG4gIHJpZ2h0OiA4cHg7XG4gIHotaW5kZXg6IDEwNDQ7IH1cbiAgLm1mcC1wcmVsb2FkZXIgYSB7XG4gICAgY29sb3I6ICNDQ0M7IH1cbiAgICAubWZwLXByZWxvYWRlciBhOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjRkZGOyB9XG5cbi5tZnAtcy1yZWFkeSAubWZwLXByZWxvYWRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1mcC1zLWVycm9yIC5tZnAtY29udGVudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuYnV0dG9uLm1mcC1jbG9zZSxcbmJ1dHRvbi5tZnAtYXJyb3cge1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiAxMDQ2O1xuICBib3gtc2hhZG93OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIge1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7IH1cblxuLm1mcC1jbG9zZSB7XG4gIHdpZHRoOiA0NHB4O1xuICBoZWlnaHQ6IDQ0cHg7XG4gIGxpbmUtaGVpZ2h0OiA0NHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBvcGFjaXR5OiAwLjY1O1xuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xuICBjb2xvcjogI0ZGRjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXNpemU6IDI4cHg7XG4gIGZvbnQtZmFtaWx5OiBBcmlhbCwgQmFza2VydmlsbGUsIG1vbm9zcGFjZTsgfVxuICAubWZwLWNsb3NlOmhvdmVyLFxuICAubWZwLWNsb3NlOmZvY3VzIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5tZnAtY2xvc2U6YWN0aXZlIHtcbiAgICB0b3A6IDFweDsgfVxuXG4ubWZwLWNsb3NlLWJ0bi1pbiAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICMzMzM7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jbG9zZSxcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcbiAgY29sb3I6ICNGRkY7XG4gIHJpZ2h0OiAtNnB4O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgcGFkZGluZy1yaWdodDogNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ubWZwLWNvdW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGNvbG9yOiAjQ0NDO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5tZnAtYXJyb3cge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG9wYWNpdHk6IDAuNjU7XG4gIG1hcmdpbjogMDtcbiAgdG9wOiA1MCU7XG4gIG1hcmdpbi10b3A6IC01NXB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogOTBweDtcbiAgaGVpZ2h0OiAxMTBweDtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAubWZwLWFycm93OmFjdGl2ZSB7XG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cbiAgLm1mcC1hcnJvdzpob3ZlcixcbiAgLm1mcC1hcnJvdzpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAubWZwLWFycm93OmJlZm9yZSxcbiAgLm1mcC1hcnJvdzphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAzNXB4O1xuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDEzcHg7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcbiAgICB0b3A6IDhweDsgfVxuICAubWZwLWFycm93OmJlZm9yZSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAyMXB4O1xuICAgIG9wYWNpdHk6IDAuNzsgfVxuXG4ubWZwLWFycm93LWxlZnQge1xuICBsZWZ0OiAwOyB9XG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XG4gICAgYm9yZGVyLXJpZ2h0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDMxcHg7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG4gICAgYm9yZGVyLXJpZ2h0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1hcnJvdy1yaWdodCB7XG4gIHJpZ2h0OiAwOyB9XG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxN3B4IHNvbGlkICNGRkY7XG4gICAgbWFyZ2luLWxlZnQ6IDM5cHg7IH1cbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xuICAgIGJvcmRlci1sZWZ0OiAyN3B4IHNvbGlkICMzRjNGM0Y7IH1cblxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcbiAgcGFkZGluZy10b3A6IDQwcHg7XG4gIHBhZGRpbmctYm90dG9tOiA0MHB4OyB9XG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogOTAwcHg7IH1cbiAgLm1mcC1pZnJhbWUtaG9sZGVyIC5tZnAtY2xvc2Uge1xuICAgIHRvcDogLTQwcHg7IH1cblxuLm1mcC1pZnJhbWUtc2NhbGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy10b3A6IDU2LjI1JTsgfVxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuLyogTWFpbiBpbWFnZSBpbiBwb3B1cCAqL1xuaW1nLm1mcC1pbWcge1xuICB3aWR0aDogYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xuLm1mcC1maWd1cmUge1xuICBsaW5lLWhlaWdodDogMDsgfVxuICAubWZwLWZpZ3VyZTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiA0MHB4O1xuICAgIGJvdHRvbTogNDBweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogLTE7XG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxuICAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgY29sb3I6ICNCREJEQkQ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5tZnAtYm90dG9tLWJhciB7XG4gIG1hcmdpbi10b3A6IC0zNnB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGN1cnNvcjogYXV0bzsgfVxuXG4ubWZwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gIGNvbG9yOiAjRjNGM0YzO1xuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gIHBhZGRpbmctcmlnaHQ6IDM2cHg7IH1cblxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgYWxsIHBhZGRpbmdzIGFyb3VuZCB0aGUgaW1hZ2Ugb24gc21hbGwgc2NyZWVuXG4gICAgICAgKi9cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtaW1hZ2UtaG9sZGVyIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubWZwLWltZy1tb2JpbGUgaW1nLm1mcC1pbWcge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcbiAgICB0b3A6IDA7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgdG9wOiBhdXRvO1xuICAgIHBhZGRpbmc6IDNweCA1cHg7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cbiAgICAubWZwLWltZy1tb2JpbGUgLm1mcC1ib3R0b20tYmFyOmVtcHR5IHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtY291bnRlciB7XG4gICAgcmlnaHQ6IDVweDtcbiAgICB0b3A6IDNweDsgfVxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jbG9zZSB7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiAzNXB4O1xuICAgIGhlaWdodDogMzVweDtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgLm1mcC1hcnJvdyB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNzUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cbiAgLm1mcC1hcnJvdy1sZWZ0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxuICAubWZwLWFycm93LXJpZ2h0IHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxuICAubWZwLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cblxuLy8gc2Fzcy1saW50OmVuYWJsZSBpbmRlbnRhdGlvbiBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzIHNob3J0aGFuZC12YWx1ZXMgc2luZ2xlLWxpbmUtcGVyLXNlbGVjdG9yIGNsYXNzLW5hbWUtZm9ybWF0IG5vLWlkcyBpZC1uYW1lLWZvcm1hdCBwcm9wZXJ0eS1zb3J0LW9yZGVyIG5vLWNvbG9yLWxpdGVyYWxzIGhleC1ub3RhdGlvbiBicmFjZS1zdHlsZSB6ZXJvLXVuaXQgc3BhY2UtYWZ0ZXItY29sb24gZW1wdHktbGluZS1iZXR3ZWVuLWJsb2Nrc1xuIiwiLyoqXG4gKiBDb250YWluZXJcbiAqXG4gKiBDZW50ZXIgYWxpZ25zIGVsZW1lbnQgd2l0aCBnaXZlbiBtYXhpbXVtIHdpZHRoLCBwYWRkaW5nLCBhbmQgbWFyZ2lucyB0b3AgYW5kIGJvdHRvbS5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxuICogQHBhcmFtIHtTdHJpbmd9ICRnYXAgLSBQaXhlbCB1bml0IHZhbHVlLlxuICogQGV4YW1wbGUgQGluY2x1ZGUgY29udGFpbmVyKDEwMjRweCwgMjBweCk7XG4gKi9cblxuQG1peGluIGNvbnRhaW5lcigkd2lkdGg6ICRncmlkLXdpZHRoLCAkZ2FwOiAkZ3JpZC1nYXApIHtcblx0QGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xuXHRcdEBpZiAoJGdhcCAhPSAwKSB7XG5cdFx0XHRtYXgtd2lkdGg6IGNhbGMoI3skd2lkdGh9ICsgI3soJGdhcCAqIDIpfSkgIWltcG9ydGFudDtcblx0XHRcdHBhZGRpbmc6IDAgJGdhcDtcblx0XHR9IEBlbHNlIHtcblx0XHRcdG1heC13aWR0aDogJHdpZHRoO1xuXHRcdH1cblx0XHR3aWR0aDogMTAwJTtcblx0XHRtYXJnaW46IDAgYXV0bztcblx0fSBAZWxzZSB7XG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xuXHR9XG59XG5cblxuLyoqXG4gKiBTZWN0aW9uXG4gKlxuICogQWRkIHRvcCBhbmQgYm90dG9tIHNwYWNpbmcgdG8gZWxlbWVudCB1c2luZyBwYWRkaW5ncy5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkYm90dG9tIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbiAqIEBleGFtcGxlIEBpbmNsdWRlIHNlY3Rpb24oMTAwcHgsIDEwMHB4KTtcbiAqL1xuXG5AbWl4aW4gc2VjdGlvbigkdG9wOiAwLCAkYm90dG9tOiAwKSB7XG5cdEBpZiAodHlwZS1vZigkdG9wKSA9PSBudW1iZXIgYW5kIHR5cGUtb2YoJGJvdHRvbSkgPT0gbnVtYmVyKSB7XG5cdFx0cGFkZGluZzogJHRvcCAwICRib3R0b207XG5cdH0gQGVsc2Uge1xuXHRcdEBlcnJvciAnQXJndW1lbnRzIGAkdG9wYCBhbmQgYGJvdHRvbWAgc2hvdWxkIGJlIGEgbnVtYmVyJztcblx0fVxufVxuXG5cbi8qKlxuICogRm9udC5cbiAqXG4gKiBBZGRzIGByZW1gIHVuaXQgYmFzZWQgZm9udCBzaXplIHByb3BlcnR5LCBhIGZhbGxiYWNrIGBweGAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGFuZCBhIGBlbWAgdW5pdCBiYXNlZCBsaW5lIGhlaWdodCBwcm9wZXJ0eSB0byBhbnkgcnVsZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkZm9udC1zaXplIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cbiAqIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udC1zaXplKDE2cHgsIDI0cHgpO1xuICovXG5cbkBtaXhpbiBmb250KCRmb250LXNpemUsICRsaW5lLWhlaWdodCkge1xuXHRAaWYgKHR5cGUtb2YoJGZvbnQtc2l6ZSkgPT0gbnVtYmVyIGFuZCB1bml0KCRmb250LXNpemUpID09ICdweCcpIHtcblx0XHRmb250LXNpemU6ICRmb250LXNpemU7XG5cdFx0Zm9udC1zaXplOiByZW0oJGZvbnQtc2l6ZSk7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tZHVwbGljYXRlLXByb3BlcnRpZXNcblx0fSBAZWxzZSB7XG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JGZvbnQtc2l6ZX1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XG5cdH1cblx0QGlmICh0eXBlLW9mKCRsaW5lLWhlaWdodCkgPT0gbnVtYmVyIGFuZCB1bml0KCRsaW5lLWhlaWdodCkgPT0gJ3B4Jykge1xuXHRcdGxpbmUtaGVpZ2h0OiAoKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICogMWVtKTtcblx0fSBAZWxzZSB7XG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JGxpbmUtaGVpZ2h0fWAgc2hvdWxkIGJlIGEgYHB4YCB1bml0Jztcblx0fVxufVxuXG5cbi8qKlxuICogVGV4dC5cbiAqXG4gKiBTaG9ydGhhbmQgZm9yIHRoZSBmb250IG1peGluLCBydW5zIHRoZSBmb250IG1peGluIGJhc2VkIG9uIGEgY29tbW9uIGRlbWVhbm91ciBleGlzdGluZyBib3RoIGluIHRoZSBgJGZvbnQtc2l6ZWAgYW5kIHRoZSBgJGxpbmUtaGVpZ2h0YCBtYXBzLlxuICogQHBhcmFtIHtzdHJpbmd9ICR2YWx1ZSAtIFN0cmluZ1xuICogQGV4YW1wbGUgQGluY2x1ZGUgdGV4dCgncCcpO1xuICovXG5cbkBtaXhpbiB0ZXh0KCR2YWx1ZSkge1xuXHRAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcblx0XHRAaW5jbHVkZSBmb250KG1hcC1nZXQoJGZvbnQtc2l6ZSwgJHZhbHVlKSwgbWFwLWdldCgkbGluZS1oZWlnaHQsICR2YWx1ZSkpO1xuXHR9IEBlbHNlIHtcblx0XHRAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XG5cdH1cbn1cblxuXG4vKipcbiAqIEZvbnQgQXdlc29tZS5cbiAqXG4gKiBBZGQgRm9udCBBd2Vzb21lIGljb25zIGFzIHBzdWVkbyBlbGVtZW50cyBieSB1c2luZyB0aGVpciB1bmljb2RlLlxuICogQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZhbWlseSAtIEZvbnQgQXdlc29tZSBmb250IGZhbWlseSBzdHJpbmcuXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBmb250YXdlc29tZSgnZjEwMCcsICdMaWdodCcpO1xuICovXG5cbkBtaXhpbiBmb250YXdlc29tZSgkY29udGVudCwgJGZhbWlseSkge1xuXHRAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0XHRmb250LWZhbWlseTogJ0ZvbnQgQXdlc29tZSA1ICN7JGZhbWlseX0nO1xuXHRcdGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xuXHR9IEBlbHNlIHtcblx0XHRAZXJyb3IgJ0FyZ3VtZW50IGAkZmFtaWx5YCBzaG91bGQgYmUgYSBzdHJpbmcnO1xuXHR9XG59XG5cblxuLyoqXG4gKiBNZWRpYS5cbiAqXG4gKiBNZWRpYSBxdWVyaWVzIGFjY29yZGluZyB0byBcIlRoZSAxMDAlIENvcnJlY3QgV2F5IFRvIERvIENTUyBCcmVha3BvaW50c1wiIChodHRwczovL21lZGl1bS5mcmVlY29kZWNhbXAuY29tL3RoZS0xMDAtY29ycmVjdC13YXktdG8tZG8tY3NzLWJyZWFrcG9pbnRzLTg4ZDZhNWJhMTg2MikuXG4gKiBAcGFyYW0ge1N0cmluZ30gJGJyZWFrcG9pbnQgLSBCcmVha3BvaW50IHBpeGVsIHVuaXQgdmFsdWUuXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxuICovXG5cbkBtaXhpbiBtZWRpYSgkc2l6ZSkge1xuXHRAaWYgKCRzaXplID09ICdkZXNrdG9wJykge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiAxMjAwcHgpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDkwMHB4KSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlJykge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA5MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LXVwJykge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0Jykge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogODk5cHgpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xuXHRcdFx0QGNvbnRlbnQ7XG5cdFx0fVxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0Jykge1xuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiA2MDBweCkgYW5kKG1heC13aWR0aDogMTE5OXB4KSB7XG5cdFx0XHRAY29udGVudDtcblx0XHR9XG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICdwaG9uZScpIHtcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1heC13aWR0aDogNTk5cHgpIHtcblx0XHRcdEBjb250ZW50O1xuXHRcdH1cblx0fSBAZWxzZSB7XG5cdFx0QGNvbnRlbnQ7XG5cdH1cbn1cbiIsIi8qKlxuICogUmVtb3ZlIG1hcmdpbiBhbmQgcGFkZGluZyBmcm9tIGV2ZXJ5IHNlbGVjdG9yIGluY2x1ZGluZyB0aGVpclxuICogcHN1ZWRvIHNlbGVjdG9ycy5cbiAqXG4gKiAxLiBNb3JlIHNlbnNpYmxlIGRlZmF1bHQgYm94IHNpemluZy5cbiAqICAgIChjc3MtdHJpY2tzLmNvbS9pbmhlcml0aW5nLWJveC1zaXppbmctcHJvYmFibHktc2xpZ2h0bHktYmV0dGVyLWJlc3QtcHJhY3RpY2UpLlxuICovXG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcblx0Ym94LXNpemluZzogaW5oZXJpdDsgLyogMSAqL1xufVxuXG5cbi8qKlxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cbiAqXG4gKiAxLiBTZXQgcm9vdCBmb250IHNpemUgdG8gMTAuXG4gKi9cblxuaHRtbCB7XG5cdGhlaWdodDogMTAwdmg7XG5cdGZvbnQtc2l6ZTogNjIuNSU7IC8qIDEgKi9cblx0Ym94LXNpemluZzogYm9yZGVyLWJveDtcbn1cblxuXG4vKipcbiAqIFNldCBtaW5pbWFsIGhlaWdodCBvZiB0aGUgYm9keSB0byBtYXhpbXVtIHZpZXdwb3J0IGhlaWdodCB0b1xuICogbWF0Y2ggdGhlIGRvY3VtZW50J3MgaGVpZ2h0LlxuICpcbiAqIDEuIEZpcmVmb3ggMjUrLlxuICogMi4gQ2hyb21lIDUrLlxuICovXG5cbmJvZHkge1xuXHRAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0YmFja2dyb3VuZC1jb2xvcjogI0YwRUZFRjtcblx0Y29sb3I6ICRibGFjay0xMDA7XG5cdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcblx0Zm9udC13ZWlnaHQ6IDQwMDtcblx0dGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogMSAqL1xuXHQtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDsgLyogMiAqL1xufVxuIiwiLyoqXG4gKiBDdXN0b20gdXNlciBhZ2VudCByZXNldHMgYW5kIG92ZXJyaWRlcyB0aGF0IGFyZSBub3QgcHJlc2VudCBpblxuICogTm9ybWFsaXplIDguMC4wLiBUaGlzIG1vc3RseSByZW1vdmVzIHNvbWUgYW5ub3lpbmcgbWFyZ2luIGFuZCBwYWRkaW5nXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxuICovXG5cbmEge1xuXHRjb2xvcjogaW5oZXJpdDtcblx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xufVxuXG5cbi8qKlxuICogMS4gUmVtb3ZlIGJvcmRlciByYWRpdXMgb24gQ2hyb21lIDYyLjArIG9uIG1hY09TLlxuICovXG5cbmJ1dHRvbiB7XG5cdGJvcmRlcjogMDtcblx0Ym9yZGVyLXJhZGl1czogMDsgLyogMSAqL1xuXHRvdXRsaW5lOiBub25lO1xuXHRiYWNrZ3JvdW5kOiBub25lO1xuXHRjdXJzb3I6IHBvaW50ZXI7XG59XG5cbmZpZWxkc2V0IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRib3JkZXI6IDA7XG59XG5cbmZpZ3VyZSB7XG5cdG1hcmdpbjogMDtcbn1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRmb250LXNpemU6IGluaGVyaXQ7XG5cdGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xufVxuXG5ociB7XG5cdG1hcmdpbjogMDtcblx0cGFkZGluZzogMDtcbn1cblxuXG4vKipcbiAqIDEuIFJlbW92ZSB3aGl0ZSBzcGFjZS5cbiAqL1xuXG5pbWcge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGhlaWdodDogYXV0bztcblx0dmVydGljYWwtYWxpZ246IG1pZGRsZTsgLyogMSAqL1xufVxuXG5cbi8qKlxuICogMS4gUmVtb3ZlIGluaGVyaXRlZCB1c2VyIGFnZW50IGFwcGVhcmFuY2UuXG4gKi9cblxuaW5wdXQsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG5cdG1heC13aWR0aDogMTAwJTtcblx0Ym9yZGVyOiAwO1xuXHRib3JkZXItcmFkaXVzOiAwO1xuXHRvdXRsaW5lOiBub25lO1xuXHRhcHBlYXJhbmNlOiBub25lOyAvKiAxICovXG59XG5cblxuLyoqXG4gKiAxLiBPbmx5IGFsbG93IHZlcnRpY2FsIHJlc2l6aW5nIHRvIHByZXZlbnQgdGhlIHRleHRhcmVhXG4gKiAgICBmcm9tIG92ZXJmbG93aW5nIHRoZSBjb250YWluZXIuXG4gKi9cblxudGV4dGFyZWEge1xuXHRyZXNpemU6IHZlcnRpY2FsO1xufVxuXG51bCxcbm9sIHtcblx0bWFyZ2luOiAwO1xuXHRwYWRkaW5nOiAwO1xuXHRsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbnAge1xuXHRtYXJnaW46IDA7XG59XG5cblxuLyoqXG4gKiAxLiBDb2xsYXBzZSBib3JkZXJzIHRvIHByZXZlbnQgZG91YmxlIHNpZGVkIGJvcmRlcnMuXG4gKi9cblxudGFibGUge1xuXHRtYXgtd2lkdGg6IDEwMCU7XG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cbn1cblxuc3Ryb25nIHtcblx0Zm9udC13ZWlnaHQ6IDcwMDtcbn1cbiIsImYvKipcbiAqIEJ1dHRvbi5cbiAqL1xuXG4lYnV0dG9uLFxuLmJ1dHRvbiB7XG5cdEBpbmNsdWRlIGZvbnQoMTZweCwgMjRweCk7XG5cdGRpc3BsYXk6IGlubGluZS1mbGV4O1xuXHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0aGVpZ2h0OiA0OHB4O1xuXHRwYWRkaW5nOiAxMHB4IDEwcHg7XG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcblx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XG5cdGN1cnNvcjogcG9pbnRlcjtcblx0Zm9udC13ZWlnaHQ6IDYwMDtcblxuXHRzdmcge1xuXHRcdHdpZHRoOiAyMXB4O1xuXHRcdGhlaWdodDogMjBweDtcblx0fVxuXG5cdCYuaGFzLXN2Zy1yaWdodCB7XG5cdFx0c3ZnIHtcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xuXHRcdH1cblx0fVxuXG5cdCYuaGFzLXN2Zy1sZWZ0IHtcblx0XHRzdmcge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEJ1dHRvbiAoZGVmYXVsdCkuXG4gKi9cblxuJWJ1dHRvbi0tZGVmYXVsdCxcbi5idXR0b24tLWRlZmF1bHQge1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2stMTAwO1xuXHRjb2xvcjogJHdoaXRlLTEwMDtcblxuXHQmOmhvdmVyIHtcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xuXHRcdGNvbG9yOiAkYmxhY2stMTAwO1xuXHR9XG59XG4iLCIvKipcbiAqIEV2ZXJ5IGNvbmNlaXZhYmxlIEhUTUwgZWxlbWVudCB3aXRoaW4gYSBgLmNtcy1vdXRwdXRgIHdyYXBwZXIuXG4gKlxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cbiAqL1xuXG4uY21zLW91dHB1dCB7XG5cdHAge1xuXHRcdCY6bm90KDpsYXN0LWNoaWxkKSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAyZW07XG5cdFx0fVxuXHR9XG5cblx0aDIsXG5cdGgzLFxuXHRoNCB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMzBweDtcblx0fVxuXG5cdGg1IHtcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xuXHR9XG5cblx0LmlzLWludHJvIHtcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG5cdFx0XHRAaW5jbHVkZSBmb250KDE4cHgsIDI0cHgpO1xuXHRcdH1cblxuXHRcdEBpbmNsdWRlIGZvbnQoMjBweCwgMzJweCk7XG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0fVxuXG5cdGltZyB7XG5cdFx0Ji5hbGlnbmNlbnRlciB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMCBhdXRvO1xuXHRcdH1cblxuXHRcdCYuYWxpZ25yaWdodCB7XG5cdFx0XHRkaXNwbGF5OiBibG9jaztcblx0XHRcdG1hcmdpbjogMCAwIDAgYXV0bztcblx0XHR9XG5cdH1cblxuXHR0YWJsZSB7XG5cdFx0d29yZC1icmVhazogYnJlYWstd29yZDtcblxuXHRcdHRkIHtcblx0XHRcdHZlcnRpY2FsLWFsaWduOiB0b3A7XG5cdFx0fVxuXHR9XG5cblx0dWwsXG5cdG9sIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IHNxdWFyZTtcblx0XHRtYXJnaW4tbGVmdDogMjBweDtcblx0XHRtYXJnaW4tYm90dG9tOiAxZW07XG5cblx0XHRsaSB7XG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xuXHRcdH1cblx0fVxuXG5cdG9sIHtcblx0XHRsaXN0LXN0eWxlLXR5cGU6IGRlY2ltYWw7XG5cdH1cblxuXHRzdHJvbmcge1xuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHR9XG5cblx0YSB7XG5cdFx0dGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cdFx0Y29sb3I6ICRyZWQtMTAwO1xuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xuXG5cdFx0Jjpob3ZlciB7XG5cdFx0XHRjb2xvcjogJHJlZC0xMDtcblx0XHR9XG5cdH1cblxuXHRibG9ja3F1b3RlIHtcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdFx0cGFkZGluZzogNDBweCA0NXB4IDIwcHggNDVweDtcblx0XHRjb2xvcjogJHJlZC0xMDA7XG5cdH1cblxuXHQud3AtY2FwdGlvbiB7XG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcblxuXHRcdGltZyB7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAxMHB4O1xuXHRcdH1cblxuXHRcdC53cC1jYXB0aW9uLXRleHQge1xuXHRcdFx0QGluY2x1ZGUgZm9udCgxNnB4LCAyMHB4KTtcblx0XHRcdGNvbG9yOiAkcmVkLTEwMDtcblx0XHRcdGxldHRlci1zcGFjaW5nOiAwLjQ0cHg7XG5cdFx0XHRtYXJnaW4tdG9wOiAxMHB4O1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBUaGUgY29udGFpbmVyIG9iamVjdCBjZW50ZXJzIGFuIGVsZW1lbnQgaW4gdGhlIGRvY3VtZW50LlxuICovXG5cbi5jb250YWluZXIge1xuXHRAaW5jbHVkZSBjb250YWluZXI7XG59XG4iLCIvKipcbiAqIFRoZSBjb250ZW50IGNvbnN0cmFpbnQgaXMgYSBjb25zdHJhaW50IGZvciBhbGwgdGhlIGNvbnRlbnQgd2l0aGluXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XG4gKiBpbmZsdWVuY2luZyB0aGUgYm9keS5cbiAqL1xuXG4uY29udGVudC1jb25zdHJhaW50IHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRtaW4taGVpZ2h0OiAxMDB2aDtcblx0b3ZlcmZsb3c6IGhpZGRlbjtcblx0bWFyZ2luLXRvcDogNTBweFxufVxuIiwiLyoqXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XG4gKlxuICogPGRpdiBjbGFzcz1cInJvd1wiPlxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxuICogPC9kaXY+XG4gKlxuICogVGhpcyBleGFtcGxlIHdpbGwgY3JlYXRlIGEgcm93IHdpdGggdHdvIGNvbHVtbnMgZWFjaCBmaWxsaW5nIGhhbGYgdGhlIHdpZHRoXG4gKiBvZiB0aGUgcm93IG9uIGFsbCBtZWRpYSwgYnV0IHdpbGwgY29udmVydCB0byBhIGZ1bGwgd2lkdGggY29sdW1uIG9uIHRoZVxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXG4gKiBgc2V0dGluZ3MvX2RlZmluaXRpb25zLnNjc3NgIGZvciBhbGwgYnJlYWtwb2ludCBhbGlhcy5cbiAqL1xuXG4vKipcbiAqIEZsZXggb2JqZWN0LlxuICpcbiAqIFRpcDogVXNlIGZsZXggb24gYSBjb2x1bW4gdG8gbWFrZSB0aGUgYm94IHRoZSBzYW1lIGhlaWdodCBhcyB0aGUgY29sdW1uLlxuICovXG5cbi5mbGV4IHtcblx0ZGlzcGxheTogZmxleDtcbn1cblxuLmZsZXgtd3JhcCB7XG5cdGZsZXgtd3JhcDogd3JhcDtcbn1cblxuXG4vKipcbiAqIEZsZXggb2JqZWN0IHdpdGggYSBjb2x1bW4gYmFzZWQgbGF5b3V0IHN5c3RlbS5cbiAqL1xuXG4ucm93IHtcblx0ZGlzcGxheTogZmxleDtcblx0ZmxleDogMCAxIGF1dG87XG5cdGZsZXgtZmxvdzogcm93IHdyYXA7XG5cdG1hcmdpbjogMCAtI3soJGdyaWQtZ2FwLzIpfTtcbn1cblxuXG4vKipcbiAqIEJveCwgdGhlIGluc2lkZSBvZiBhIGNvbHVtbi5cbiAqL1xuXG4uYm94IHtcblx0ZmxleDogMTtcbn1cblxuXG4vLyBMb29wIHRocm91Z2ggYWxsIHRoZSBrZXlzIGluIHRoZSBgJGJyZWFrcG9pbnRzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpblxuLy8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xuXG5cdC8vIENyZWF0ZSBhIG1lZGlhIHF1ZXJ5IGZvciBldmVyeSBrZXkgaW4gYCRicmVha3BvaW50c2AuXG5cdEBpbmNsdWRlIG1lZGlhKCR2YWx1ZSkge1xuXG5cdFx0Ly8gSXRlcmF0ZSBmcm9tIDEgdGhyb3VnaCB0aGUgYW1vdW50IG9mIGdyaWQgY29sdW1ucyBkZWZpbmVkIGJ5XG5cdFx0Ly8gYCRncmlkLWNvbHVtbnNgIGluIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW5zIHtcblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBDb2x1bW4gI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cblx0XHRcdCAqL1xuXG5cdFx0XHQuY29sLSN7JGtleX0tI3skaX0ge1xuXHRcdFx0XHRmbGV4OiAwIDEgYXV0bztcblx0XHRcdFx0d2lkdGg6IGNvbHVtbigkaSk7XG5cdFx0XHRcdHBhZGRpbmc6IDAgKCRncmlkLWdhcC8yKTtcblx0XHRcdH1cblxuXG5cdFx0XHQvLyBPdXRwdXQgYW4gb2Zmc2V0IHV0aWxpdHkgY2xhc3MgaWYgdGhlIGl0ZXJhdG9yIGlzIGxlc3MgdGhhbiB0aGUgYW1vdW50XG5cdFx0XHQvLyBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieSBgJGdyaWQtY29sdW1uc2AgaW5cblx0XHRcdC8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXG5cdFx0XHRAaWYgKCRpIDwgJGdyaWQtY29sdW1ucykge1xuXG5cdFx0XHRcdC8qKlxuXHRcdFx0XHQgKiBPZmZzZXQgI3skaX0gZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cblx0XHRcdFx0ICovXG5cblx0XHRcdFx0Lm9mZnNldC0jeyRrZXl9LSN7JGl9IHtcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogY29sdW1uKCRpKTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBgYWxpZ24taXRlbXNgIHByb3BlcnR5LlxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdHJldGNoLCBjZW50ZXIsIGZsZXgtc3RhcnQsIGZsZXgtZW5kLCBiYXNlbGluZSB7XG5cblx0XHRcdC8qKlxuXHRcdFx0ICogQWxpZ24gYCN7JHZhbHVlfWAgZm9yIHRoZSAjeyRrZXl9IGJyZWFrcG9pbnQuXG5cdFx0XHQgKi9cblxuXHRcdFx0LmFsaWduLSN7JGtleX0tI3skdmFsdWV9IHtcblx0XHRcdFx0YWxpZ24taXRlbXM6ICR2YWx1ZTtcblx0XHRcdH1cblx0XHR9XG5cblxuXHRcdC8vIExvb3AgdGhyb3VnaCBhbGwgdmFsdWVzIGZvciB0aGUgYGp1c3RpZnktY29udGVudGAgcHJvcGVydHkuXG5cdFx0QGVhY2ggJHZhbHVlIGluIHN0YXJ0LCBjZW50ZXIsIHNwYWNlLWJldHdlZW4sIHNwYWNlLWFyb3VuZCwgc3BhY2UtZXZlbmx5IHtcblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBKdXN0aWZ5IGAjeyR2YWx1ZX1gIGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxuXHRcdFx0ICovXG5cblx0XHRcdC5qdXN0aWZ5LSN7JGtleX0tI3skdmFsdWV9IHtcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiAkdmFsdWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0XHQvLyBMb29wIHRocm91Z2ggZXZlcnkgZGlyZWN0aW9uIGZyb20gbGVmdCB0byByaWdodC5cblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0IHtcblxuXHRcdFx0LyoqXG5cdFx0XHQgKiBCbGVlZCAjeyRkaXJlY3Rpb259IGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxuXHRcdFx0ICovXG5cblx0XHRcdC5ibGVlZC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xuXHRcdFx0XHRwYWRkaW5nLSN7JGRpcmVjdGlvbn06IDA7XG5cdFx0XHR9XG5cdFx0fVxuXG5cblx0XHQvKipcblx0XHQgKiBPcmRlciBmaXJzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxuXHRcdCAqL1xuXG5cdFx0LmZpcnN0LSN7JGtleX0ge1xuXHRcdFx0b3JkZXI6IC0xO1xuXHRcdH1cblxuXG5cdFx0LyoqXG5cdFx0ICogT3JkZXIgbGFzdCBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxuXHRcdCAqL1xuXG5cdFx0Lmxhc3QtI3ska2V5fSB7XG5cdFx0XHRvcmRlcjogMTtcblx0XHR9XG5cblxuXHRcdC8qKlxuXHRcdCAqIFJldmVyc2Ugb3JkZXIgZm9yIHRoZSBgI3ska2V5fWAgYnJlYWtwb2ludC5cblx0XHQgKi9cblxuXHRcdC5yZXZlcnNlLSN7JGtleX0ge1xuXHRcdFx0ZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBEZWZhdWx0IGZpZWxkcy5cbiAqL1xuXG5sYWJlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRtYXJnaW4tYm90dG9tOiA4cHg7XG5cdGZvbnQtd2VpZ2h0OiBib2xkO1xuXHRjb2xvcjogJGJsYWNrLTEwMDtcblx0bWFyZ2luLWxlZnQ6IDE1cHg7XG59XG5cbiVpbnB1dCxcbnNlbGVjdCxcbmlucHV0LFxudGV4dGFyZWEge1xuXHRAaW5jbHVkZSBmb250KDE2cHgsIDIzcHgpO1xuXHR3aWR0aDogMTAwJTtcblx0aGVpZ2h0OiA0MnB4O1xuXHRib3JkZXItcmFkaXVzOiA0cHg7XG5cdHBhZGRpbmc6IDExcHggMTVweDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcblx0Zm9udC13ZWlnaHQ6IDUwMDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrLTEwMDtcblx0Y29sb3I6ICRibGFjay0xMDA7XG5cblx0Jjpmb2N1cyB7XG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcblx0fVxufVxuXG50ZXh0YXJlYSB7XG5cdGhlaWdodDogMjMwcHg7XG5cdHBhZGRpbmctdG9wOiAxNXB4O1xufVxuXG4uZ2ZpZWxkX3JlcXVpcmVkIHtcblx0Y29sb3I6ICRyZWQtMTAwO1xufVxuXG4uZ2lucHV0X2NvbnRhaW5lcl9zZWxlY3Qge1xuXHRwb3NpdGlvbjogcmVsYXRpdmU7XG5cdHdpZHRoOiAxMDAlO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcblx0Ym9yZGVyOiAxcHggc29saWQgJGJsYWNrLTEwMDtcblxuXHRzdmcge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDE0cHg7XG5cdFx0cmlnaHQ6IDIwcHg7XG5cdFx0d2lkdGg6IDlweDtcblx0XHRoZWlnaHQ6IDEzcHg7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXG5cdHNlbGVjdCB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyA1MHB4KTtcblx0XHRtYXgtd2lkdGg6IG5vbmU7XG5cdFx0bWFyZ2luOiAtMnB4O1xuXHRcdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdGJvcmRlcjogMDtcblx0XHR6LWluZGV4OiAyO1xuXHR9XG59XG5cbmlucHV0W3R5cGU9J3JhZGlvJ10sXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHtcblx0d2lkdGg6IDE1cHg7XG5cdGhlaWdodDogMTVweDtcblx0Ym9yZGVyOiAycHggc29saWQgJGJsYWNrLTEwMDtcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcblxuXHQmOmNoZWNrZWQge1xuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XG5cdH1cbn1cblxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XG5cdGJvcmRlci1yYWRpdXM6IDIwcHg7XG59XG5cblxuLyoqXG4gKiBHcmF2aXR5IEZvcm1zLlxuICovXG5cbi5nZmllbGQge1xuXHRtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4uZ2Zvcm1fdmFsaWRhdGlvbl9jb250YWluZXIge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4uaGlkZGVuX2xhYmVsID4gbGFiZWwge1xuXHRkaXNwbGF5OiBub25lO1xufVxuXG4udmFsaWRhdGlvbl9tZXNzYWdlIHtcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAyM3B4KTtcblx0bWFyZ2luLXRvcDogNXB4O1xuXHRib3JkZXItcmFkaXVzOiA4cHg7XG5cdHBhZGRpbmc6IDEwcHggMTBweDtcblx0ZGlzcGxheTogZmxleDtcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcblx0d2lkdGg6IDEwMCU7XG5cdGNvbG9yOiAkcmVkLTEwMDtcblx0YmFja2dyb3VuZC1jb2xvcjogJHJlZC0xMDtcblxuXHQ+IHN2ZyB7XG5cdFx0d2lkdGg6IDE2cHg7XG5cdFx0aGVpZ2h0OiAxNnB4O1xuXHRcdG1hcmdpbi1yaWdodDogNXB4O1xuXHRcdG1hcmdpbi10b3A6IC0ycHg7XG5cdH1cbn1cblxuJXZhbGlkYXRpb25fZXJyb3IsXG4udmFsaWRhdGlvbl9lcnJvciB7XG5cdGRpc3BsYXk6IG5vbmU7XG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0bWFyZ2luOiAwIDAgNTBweDtcblx0cGFkZGluZzogMjVweCAyNXB4IDI1cHggNzVweDtcblx0YmFja2dyb3VuZDogJHJlZC0xMDtcblx0Y29sb3I6ICRyZWQtMTAwO1xuXG5cdD4gc3ZnIHtcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdFx0dG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xuXHRcdGxlZnQ6IDMwcHg7XG5cdFx0d2lkdGg6IDMxcHg7XG5cdFx0aGVpZ2h0OiAzMHB4O1xuXHRcdGNvbG9yOiAkcmVkLTEwMDtcblx0fVxuXG5cdC5jbG9zZS1idXR0b24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHR0b3A6IDVweDtcblx0XHRyaWdodDogNXB4O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblxuXHRcdHN2ZyB7XG5cdFx0XHR3aWR0aDogMTZweDtcblx0XHRcdGhlaWdodDogMTZweDtcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xuXHRcdH1cblx0fVxufVxuXG4uZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xuXHR3aWR0aDogMTAwJTtcblx0cGFkZGluZzogNTBweDtcblx0YmFja2dyb3VuZDogJHJlZC0xMDA7XG5cblx0YnIge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHRoNCB7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XG5cblx0XHRzdmcge1xuXHRcdFx0d2lkdGg6IDI4cHg7XG5cdFx0XHRoZWlnaHQ6IDI4cHg7XG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XG5cdFx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcblx0XHRcdHBhZGRpbmc6IDVweDtcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBIZWFkaW5nLlxuICovXG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuJWhlYWRpbmcge1xuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdoZWFkaW5nJyk7XG5cdGNvbG9yOiAkYmxhY2stMTAwO1xuXG5cdCYuaXMtd2hpdGUge1xuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xuXHR9XG59XG5cbi8qKlxuICAqIEhlYWRpbmcgMS5cbiovXG4gXG5oMSxcbi5oZWFkaW5nLTEge1xuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XG5cdCAgZm9udC1zaXplOiBtYXAtZ2V0KCRtb2JpbGUtZm9udC1zaXplLCAnaDEnKTtcblx0XHRsaW5lLWhlaWdodDogbWFwLWdldCgkbW9iaWxlLWxpbmUtaGVpZ2h0LCAnaDEnKTtcblx0fVxuICBcblx0Zm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemUsICdoMScpO1xuXHRsaW5lLWhlaWdodDogbWFwLWdldCgkbGluZS1oZWlnaHQsICdoMScpO1xufVxuICBcbi8qKlxuICogSGVhZGluZyAyLlxuICovXG4gIFxuaDIsXG4laGVhZGluZy0yLFxuLmhlYWRpbmctMiB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRmb250LXNpemU6IG1hcC1nZXQoJG1vYmlsZS1mb250LXNpemUsICdoMicpO1xuXHRcdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRtb2JpbGUtbGluZS1oZWlnaHQsICdoMicpO1xuXHR9XG4gIFxuXHRmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZSwgJ2gyJyk7XG5cdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJ2gyJyk7XG59XG4gIFxuICBcbi8qKlxuICogSGVhZGluZyAzLlxuICovXG4gIFxuaDMsXG4laGVhZGluZy0zLFxuLmhlYWRpbmctMyB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRmb250LXNpemU6IG1hcC1nZXQoJG1vYmlsZS1mb250LXNpemUsICdoMycpO1xuXHRcdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRtb2JpbGUtbGluZS1oZWlnaHQsICdoMycpO1xuXHR9XG4gIFxuXHRmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZSwgJ2gzJyk7XG5cdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJ2gzJyk7XG59XG4gIFxuICBcbi8qKlxuKiBIZWFkaW5nIDMuXG4qL1xuICBcbmg0LFxuJWhlYWRpbmctNCB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRmb250LXNpemU6IG1hcC1nZXQoJG1vYmlsZS1mb250LXNpemUsICdoNCcpO1xuXHRcdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRtb2JpbGUtbGluZS1oZWlnaHQsICdoNCcpO1xuXHR9XG4gIFxuXHRmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZSwgJ2g0Jyk7XG5cdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJ2g0Jyk7XG59XG4gIFxuICBcbi8qKlxuKiBIZWFkaW5nIDMuXG4qL1xuICBcbmg1LFxuJWhlYWRpbmctNSB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRmb250LXNpemU6IG1hcC1nZXQoJG1vYmlsZS1mb250LXNpemUsICdoNScpO1xuXHRcdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRtb2JpbGUtbGluZS1oZWlnaHQsICdoNScpO1xuXHR9XG4gIFxuXHRmb250LXNpemU6IG1hcC1nZXQoJGZvbnQtc2l6ZSwgJ2g1Jyk7XG5cdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJ2g1Jyk7XG59XG5cblxuLyoqXG4gKiBTdWJoZWFkaW5nLlxuICovXG5wIHtcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xuXHRcdGZvbnQtc2l6ZTogbWFwLWdldCgkbW9iaWxlLWZvbnQtc2l6ZSwgJ3AnKTtcblx0XHRsaW5lLWhlaWdodDogbWFwLWdldCgkbW9iaWxlLWxpbmUtaGVpZ2h0LCAncCcpO1xuXHR9XG5cblx0Zm9udC1zaXplOiBtYXAtZ2V0KCRmb250LXNpemUsICdwJyk7XG5cdGxpbmUtaGVpZ2h0OiBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJ3AnKTtcblxuXHQmLmlzLXdoaXRlIHtcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcblx0fVxufSIsIi5oYXMtbGF6eS1sb2FkIHtcblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR0b3A6IC0xNTBweDtcblx0dHJhbnNpdGlvbjogYWxsIDc1MG1zIGVhc2U7XG5cdHRyYW5zaXRpb24tZGVsYXk6IDUwMG1zO1xuXHRvcGFjaXR5OiAwO1xuXG5cdCYuaGVhZGVyIHtcblx0XHR0cmFuc2l0aW9uLWRlbGF5OiA3NTBtcztcblx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcblx0fVxufVxuXG4uaGFzLWxhenktbG9hZFtsb2FkZWQ9J3RydWUnXSB7XG5cdHRvcDogMDtcblx0b3BhY2l0eTogMTtcbn1cbiIsIi5wYWdpbmF0aW9uIHtcblx0d2lkdGg6IDEwMCU7XG5cdG1hcmdpbi1ib3R0b206IDE1MHB4O1xuXG5cdC53cmFwcGVyIHtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0fVxuXG5cdC5wYWdlLW51bWJlcnMge1xuXHRcdEBpbmNsdWRlIGZvbnQoMThweCwgMjJweCk7XG5cdFx0ZGlzcGxheTogZmxleDtcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xuXHRcdG1hcmdpbi1yaWdodDogMTBweDtcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcblx0XHRjb2xvcjogJGJsYWNrLTEwMDtcblx0XHRmb250LXdlaWdodDogNTAwO1xuXG5cdFx0Jjpob3Zlcixcblx0XHQmLmN1cnJlbnQge1xuXHRcdFx0Y29sb3I6ICRyZWQtMTAwO1xuXHRcdFx0Zm9udC13ZWlnaHQ6IDcwMDtcblx0XHR9XG5cblx0XHQmLnByZXYsXG5cdFx0Ji5uZXh0IHtcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcblxuXHRcdFx0c3ZnIHtcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdFx0XHR0b3A6IDA7XG5cdFx0XHRcdHdpZHRoOiAyN3B4O1xuXHRcdFx0XHRoZWlnaHQ6IDIycHg7XG5cdFx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcblx0XHRcdH1cblxuXHRcdFx0Jjpob3ZlciB7XG5cdFx0XHRcdGNvbG9yOiAkcmVkLTEwMDtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQmLm5leHQge1xuXHRcdFx0bWFyZ2luLXJpZ2h0OiAwO1xuXHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcblx0XHR9XG5cdH1cbn1cbiIsIi8qKlxuICogV3JhcHBlciAoZGVmYXVsdClcbiAqL1xuXG4ud3JhcHBlciB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTUxMnB4LCAzMHB4KTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDE1MTJweCwgMTJweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBjb250YWluZXIoMTUxMnB4LCAzMHB4KTtcbn1cblxuXG4vKipcbiAqIFdyYXBwZXIgKHNtYWxsKVxuICovXG5cbi53cmFwcGVyLS1zbWFsbCB7XG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTE0MHB4LCA2MHB4KTtcblx0fVxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDExNDBweCwgMjBweCk7XG5cdH1cblxuXHRAaW5jbHVkZSBjb250YWluZXIoMTE0MHB4LCA1MHB4KTtcbn1cbiIsIi8qKlxuKiBTZWxmIGhvc3RlZCBnb29nbGUgd2ViZm9udHMuXG4qIGh0dHBzOi8vZ29vZ2xlLXdlYmZvbnRzLWhlbHBlci5oZXJva3VhcHAuY29tL1xuKiovIiwiXHJcbi50dW5uZWxvdmVyemljaHQtaGVhZGVyIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xyXG4gICAgcGFkZGluZzogMCAxMnB4O1xyXG4gICAgcGFkZGluZy10b3A6IDZweDtcclxuXHR6LWluZGV4OiAxMDAwO1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICB9XHJcbiAgaGVpZ2h0OiA4NnB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMSk7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgZGlzcGxheTogZmxleDtcclxuICAgIGZsZXgtd3JhcDogd3JhcDtcclxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgICBoZWlnaHQ6IDEwMCU7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG4gIH1cclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1oZWFkZXJfX21lbnUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0fVxyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogNTAlO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcclxuXHRwYWRkaW5nOiAxMnB4IDEwcHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgIzAwMDAwMDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0bGluZS1oZWlnaHQ6IDE1MCU7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMTJweDtcclxuXHRcdGhlaWdodDogMTJweDtcclxuXHRcdG1hcmdpbi1yaWdodDogMTJweDtcclxuXHR9XHJcbn1cclxuXHJcbi50dW5uZWxvdmVyemljaHQtaGVhZGVyX19sb2dvIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBoZWlnaHQ6IDczcHg7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgaGVpZ2h0OiA3M3B4O1xyXG4gIHdpZHRoOiAzMDBweDtcclxuICBvYmplY3QtZml0OiBjb250YWluO1xyXG4gIG9iamVjdC1wb3NpdGlvbjogbGVmdDtcclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1oZWFkZXJfX3RpdGxlIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcbiAgICBmb250LXdlaWdodDogNzAwO1xyXG4gICAgZm9udC1zaXplOiAxNHB4O1xyXG4gICAgbGluZS1oZWlnaHQ6IDE0cHg7XHJcbiAgICBtYXJnaW4tdG9wOiA2cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMDtcclxuICAgIG1hcmdpbi1ib3R0b206IDlweDtcclxuICB9XHJcbiAgZm9udC1zaXplOiAxOXB4O1xyXG4gIGxpbmUtaGVpZ2h0OiA1MHB4O1xyXG4gIG1hcmdpbi1sZWZ0OiAyMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuIiwiLnR1bm5lbG92ZXJ6aWNodC13cmFwcGVyIHtcclxuICBoZWlnaHQ6IGNhbGMoMTAwdmggLSA4NnB4KTtcclxuXHJcbiAgLndyYXBwZXIge1xyXG4gICAgQGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG4gICAgICBwYWRkaW5nOiAwIDEycHggIWltcG9ydGFudDtcclxuICAgIH1cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHQgIGhlaWdodDogMTAwJTtcclxuICB9XHJcbn1cclxuLnR1bm5lbG92ZXJ6aWNodC1maWx0ZXJzIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuXHRmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xyXG4gIH1cclxuICB3aWR0aDogMzAwcHg7XHJcbiAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuICBwYWRkaW5nLXRvcDogMzBweDtcclxuICBwYWRkaW5nLXJpZ2h0OiAxNnB4O1xyXG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcclxuICBoZWlnaHQ6IDEwMCU7XHJcblxyXG4gICY6OmJlZm9yZSB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHdpZHRoOiAzMDAwcHg7XHJcbiAgICBsZWZ0OiAtMjk3MHB4O1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuICB9XHJcblxyXG4gICYuaXMtYWN0aXZlIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0bGVmdDogMDtcclxuXHR0b3A6IDEwOHB4O1xyXG5cdHotaW5kZXg6IDEwMDA7XHJcblx0cGFkZGluZy1sZWZ0OiAzMHB4O1xyXG5cclxuXHQvLyBzcGFuLCAudHVubmVsb3ZlcnppY2h0LWZpbHRlcl9fdGl0bGUge1xyXG5cdC8vIFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHQvLyB9XHJcblxyXG5cdCY6OmJlZm9yZSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuICB9XHJcbn1cclxuXHJcbi50dW5uZWxvdmVyemljaHQtZmlsdGVyc19faGVhZGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbi1ib3R0b206IDI0cHg7XHJcblx0fVxyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xyXG5cdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblxyXG5cdHNwYW4ge1xyXG5cdFx0d2lkdGg6IGF1dG8gIWltcG9ydGFudDtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxNjAlO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdHdpZHRoOiAxMnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEycHg7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTJweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG4gIC5maWx0ZXJzX19jbGVhciB7XHJcbiAgICBwYWRkaW5nOiAycHggMTBweDtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTUwJTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblxyXG4gICAgJjpob3ZlciB7XHJcbiAgICAgIG9wYWNpdHk6IDAuNztcclxuICAgIH1cclxuICB9XHJcbn1cclxuXHJcbi50dW5uZWxvdmVyemljaHQtZmlsdGVyLXdyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEycHg7XHJcblx0XHRwYWRkaW5nLWJvdHRvbTogMTJweDtcclxuXHRcdGhlaWdodDogZml0LWNvbnRlbnQ7XHJcblxyXG5cdFx0PiAuZmxleCB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0XHQudHVubmVsb3ZlcnppY2h0LWZpbHRlcl9fdGl0bGU6OmJlZm9yZSB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdHBhZGRpbmctYm90dG9tOiAyMHB4O1xyXG5cdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTNFM0UzO1xyXG59XHJcblxyXG4udHVubmVsb3ZlcnppY2h0LWZpbHRlcl9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblxyXG5cdFx0Jjo6YWZ0ZXIge1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdHdpZHRoOiAxMnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDEycHg7XHJcblx0XHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcclxuXHRcdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBjb250YWluO1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogYXV0bztcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWwsJTNDc3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Zycgdmlld0JveD0nMCAwIDQ0OCA1MTInJTNFJTNDIS0tISBGb250IEF3ZXNvbWUgUHJvIDYuNC4wIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlIChDb21tZXJjaWFsIExpY2Vuc2UpIENvcHlyaWdodCAyMDIzIEZvbnRpY29ucywgSW5jLiAtLSUzRSUzQ3BhdGggZD0nTTIwMS40IDM0Mi42YzEyLjUgMTIuNSAzMi44IDEyLjUgNDUuMyAwbDE2MC0xNjBjMTIuNS0xMi41IDEyLjUtMzIuOCAwLTQ1LjNzLTMyLjgtMTIuNS00NS4zIDBMMjI0IDI3NC43IDg2LjYgMTM3LjRjLTEyLjUtMTIuNS0zMi44LTEyLjUtNDUuMyAwcy0xMi41IDMyLjggMCA0NS4zbDE2MCAxNjB6Jy8lM0UlM0Mvc3ZnJTNFXCIpO1xyXG5cdFx0fVxyXG5cdH1cclxuICBcdGZvbnQtd2VpZ2h0OiA3MDA7XHJcbiAgXHRmb250LXNpemU6IDE0cHg7XHJcbiAgXHRsaW5lLWhlaWdodDogMTYwJTtcclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1maWx0ZXIge1xyXG4gIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcbiAgbWFyZ2luLXRvcDogMTJweDtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcbiAgZmxleC13cmFwOiB3cmFwO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuXHJcbiAgLnRvZ2dsZSB7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xyXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xyXG4gICAgd2lkdGg6IDQ1cHggIWltcG9ydGFudDtcclxuICAgIGhlaWdodDogMThweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMjE3LCAyMTcsIDIxNywgMC4zKTtcclxuICAgIGJvcmRlcjogMXB4IHNvbGlkICMwMDAwMDA7XHJcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc2l6ZTogMTBweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxMHB4O1xyXG4gICAgcGFkZGluZzogMCA1cHg7XHJcbiAgICBkaXNwbGF5OiBmbGV4O1xyXG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcbiAgICBtYXJnaW4tcmlnaHQ6IDEycHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICBjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG4gICAgJjo6YmVmb3JlIHtcclxuICAgICAgY29udGVudDogJyc7XHJcbiAgICAgIHdpZHRoOiAxMHB4O1xyXG4gICAgICBoZWlnaHQ6IDEwcHg7XHJcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjay0xMDA7XHJcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgICAgbGVmdDogNXB4O1xyXG4gICAgICB0b3A6IDNweDtcclxuICAgICAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG4gICAgfVxyXG5cclxuICAgICYuaXMtZ3JlZW4ge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5QkJFMzI7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmlzLXBpbmsge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNFRDUyOUM7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmlzLWJsdWUge1xyXG4gICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NzEyRTk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICAmLmlzLW9yYW5nZSB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4QTAxQjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgICYuaXMtZ3JleSB7XHJcbiAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLmxhYmVsIHtcclxuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1N3B4KSAhaW1wb3J0YW50O1xyXG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcclxuICAgIGZvbnQtc2l6ZTogMTRweDtcclxuICAgIGxpbmUtaGVpZ2h0OiAxNjAlO1xyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgICAudG9nZ2xlIHtcclxuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxNTUsIDE5MCwgNTAsIDAuMSk7XHJcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjOUJCRTMyO1xyXG4gICAgICAgIGNvbG9yOiAjOUJCRTMyO1xyXG5cclxuICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgbGVmdDogaW5oZXJpdDtcclxuICAgICAgICAgIHJpZ2h0OiA1cHg7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOUJCRTMyO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgJi5pcy1ncmVlbiB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1NSwgMTkwLCA1MCwgMC4xKTtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzlCQkUzMjtcclxuICAgICAgICAgIGNvbG9yOiAjOUJCRTMyO1xyXG5cclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5QkJFMzI7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgJi5pcy1waW5rIHtcclxuICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMjM3LCA4MiwgMTU2LCAwLjEpO1xyXG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiAjRUQ1MjlDO1xyXG4gICAgICAgICAgY29sb3I6ICNFRDUyOUM7XHJcblxyXG4gICAgICAgICAgJjo6YmVmb3JlIHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0VENTI5QztcclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICBcclxuICAgICAgICAmLmlzLWJsdWUge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMDIsIDI1NSwgMC4xKTtcclxuICAgICAgICAgIGJvcmRlci1jb2xvcjogIzU3MTJFOTtcclxuICAgICAgICAgIGNvbG9yOiAjNTcxMkU5O1xyXG5cclxuICAgICAgICAgICY6OmJlZm9yZSB7XHJcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1NzEyRTk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgXHJcbiAgICAgICAgJi5pcy1vcmFuZ2Uge1xyXG4gICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDE2MCwgMjcsIDAuMSk7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICNGOEEwMUI7XHJcbiAgICAgICAgICBjb2xvcjogI0Y4QTAxQjtcclxuXHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjRjhBMDFCO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIFxyXG4gICAgICAgICYuaXMtZ3JleSB7XHJcbiAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEzNiwgMTM2LCAxMzYsIDAuMSk7XHJcbiAgICAgICAgICBib3JkZXItY29sb3I6ICM4ODg4ODg7XHJcbiAgICAgICAgICBjb2xvcjogIzg4ODg4ODtcclxuXHJcbiAgICAgICAgICAmOjpiZWZvcmUge1xyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gIH1cclxufVxyXG4iLCIudHVubmVsb3ZlcnppY2h0LWNvbnRlbnQge1xyXG4gIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICB9XHJcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDMwMHB4IC0gMzc1cHggLSA0NHB4KTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICBvdmVyZmxvdy15OiBzY3JvbGw7XHJcbiAgb3ZlcmZsb3cteDogaGlkZGVuO1xyXG4gIGhlaWdodDogMTAwJTtcclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1kaXNjbGFpbWVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tdG9wOiA2cHg7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdH1cclxuXHRiYWNrZ3JvdW5kOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHRtYXJnaW4tdG9wOiAyMHB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0cGFkZGluZzogMTVweDtcclxuXHRwYWRkaW5nLXRvcDogMjRweDtcclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1kaXNjbGFpbWVyX190aXRsZSB7XHJcbiAgZm9udC13ZWlnaHQ6IDcwMDtcclxuICBmb250LXNpemU6IDE0cHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbn1cclxuXHJcbi50dW5uZWxvdmVyemljaHQtZGlzY2xhaW1lcl9fZWRpdG9yIHtcclxuICBtYXJnaW4tdG9wOiAxMHB4O1xyXG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjRTNFM0UzO1xyXG4gIG1hcmdpbi1ib3R0b206IDZweDtcclxuICBtYXgtaGVpZ2h0OiAyMnB4O1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG5cclxuICBwIHtcclxuICAgIC8vIEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuICAgIC8vICAgLXdlYmtpdC1saW5lLWNsYW1wOiAyO1xyXG4gICAgLy8gfVxyXG4gICAgLy8gZGlzcGxheTogLXdlYmtpdC1ib3g7XHJcbiAgICAvLyAtd2Via2l0LWxpbmUtY2xhbXA6IDE7XHJcbiAgICAvLyAtd2Via2l0LWJveC1vcmllbnQ6IHZlcnRpY2FsO1xyXG4gICAgLy8gb3ZlcmZsb3c6IGhpZGRlbjtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXNpemU6IDE0cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMThweFxyXG4gIH1cclxuXHJcbiAgJi5pcy1hY3RpdmUge1xyXG4gICAgXHRtYXgtaGVpZ2h0OiAxMDAlO1xyXG4gIH1cclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1kaXNjbGFpbWVyX19zaG93LW1vcmUge1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuICBjb2xvcjogIzlCQkUzMjtcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHJcbiAgc3ZnIHtcclxuICAgIHdpZHRoOiAxNHB4O1xyXG4gICAgaGVpZ2h0OiAxNHB4O1xyXG4gICAgbWFyZ2luLWxlZnQ6IDEycHg7XHJcbiAgICB0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcblxyXG4gICAgcGF0aCB7XHJcbiAgICAgIGZpbGw6ICM5QkJFMzI7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAmLmlzLWFjdGl2ZSB7XHJcbiAgICBzdmcge1xyXG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuXHJcbi50dW5uZWxvdmVyemljaHQtb3ZlcnZpZXdfX2dyYXBoLXdyYXAge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBtaW4taGVpZ2h0OiAzMDBweDtcclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1vdmVydmlld19fZ3JhcGgtd3JhcF9fc3VidGl0bGUge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0Zm9udC1zaXplOiAxM3B4O1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufSIsIi50dW5uZWxvdmVyemljaHQtbWFwIHtcclxuICBAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICB9XHJcbiAgd2lkdGg6IDM3NXB4O1xyXG4gIGhlaWdodDogNzcwcHg7XHJcbiAgYm9yZGVyOiAxcHggc29saWQgIzlCQkUzMjtcclxuICBib3JkZXItcmFkaXVzOiAxNXB4O1xyXG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xyXG4gIG1hcmdpbi10b3A6IDIwcHg7XHJcbn1cclxuIiwiLnR1bm5lbG92ZXJ6aWNodC1vdmVydmlldyB7XG4gIHBhZGRpbmc6IDE1cHggMjVweDtcbiAgYm9yZGVyLXJhZGl1czogNnB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xufVxuXG4udHVubmVsb3ZlcnppY2h0LW92ZXJ2aWV3X190aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE1MCU7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gIHdpZHRoOiAxMDAlO1xuICBkaXNwbGF5OiBibG9jaztcblxuICBzdHJvbmcge1xuICAgIGNvbG9yOiAjOUJCRTMyO1xuICB9XG59XG5cbi50dW5uZWxvdmVyemljaHQtb3ZlcnZpZXdfX3N1YnRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMThweDtcbiAgb3BhY2l0eTogMC42O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7XG59XG5cblxuLnNpdGVfX2JnIHtcblx0cG9zaXRpb246IGZpeGVkO1xuXHR0b3A6IDA7XG5cdGxlZnQ6IDA7XG5cdHdpZHRoOiAxMDB2dztcblx0aGVpZ2h0OiAxMDB2aDtcblx0YmFja2dyb3VuZC1jb2xvcjogaHNsYSgwLCAwJSwgMCUsIDAuNSk7XG5cdHotaW5kZXg6IDEwMDtcblx0b3BhY2l0eTogMDtcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XG5cdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcblxuXHQmLmlzLWFjdGl2ZSB7XG5cdFx0b3BhY2l0eTogMTtcblx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xuXHR9XG59IiwiLnR1bm5lbG92ZXJ6aWNodC1saXN0IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdH1cclxuXHRwYWRkaW5nOiAxNXB4IDI1cHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0bWFyZ2luLXRvcDogMjBweDtcclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1saXN0X190aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRmb250LXNpemU6IDE2cHg7XHJcblx0bGluZS1oZWlnaHQ6IDE1MCU7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHJcblx0c3Ryb25nIHtcclxuXHRcdGNvbG9yOiAjOUJCRTMyO1xyXG5cdH1cclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1saXN0X19zdWJ0aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRmb250LXNpemU6IDEycHg7XHJcblx0bGluZS1oZWlnaHQ6IDE4cHg7XHJcblx0b3BhY2l0eTogMC42O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblx0d2lkdGg6IDEwMCUgIWltcG9ydGFudDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1saXN0X3R1bm5lbHMge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG59XHJcblxyXG4udHVubmVsb3ZlcnppY2h0LWxpc3RfdHVubmVsIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTdweDtcclxuXHRib3JkZXItYm90dG9tOiAxcHggc29saWQgI0UzRTNFMztcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cclxuXHQuZmxleCB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcbn1cclxuXHJcbi50dW5uZWxvdmVyemljaHQtbGlzdF90dW5uZWwtdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XHJcblx0ICB9XHJcblx0cGFkZGluZzogNnB4IDEycHg7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjIpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRmb250LXNpemU6IDE0cHg7XHJcblx0bGluZS1oZWlnaHQ6IDE1MCU7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiBmaXQtY29udGVudCAhaW1wb3J0YW50O1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHJcblx0c3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IGF1dG87XHJcblx0XHR9XHJcblx0XHRtYXJnaW4tbGVmdDogMTJweDtcclxuXHRcdHdpZHRoOiAxNHB4ICFpbXBvcnRhbnQ7XHJcblx0XHRoZWlnaHQ6IDE0cHggIWltcG9ydGFudDsgXHJcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcbiAgXHQuY291bnRyeSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0d2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdH1cclxuXHRcdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRcdGhlaWdodDogMTdweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTBweDtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMGRlZykgIWltcG9ydGFudDtcclxuXHRcdH1cclxuICBcdH1cclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1saXN0X3R1bm5lbC1zaG93X2dyYXBoIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cdFxyXG4gIHBhZGRpbmc6IDZweCAxMnB4O1xyXG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuICBib3JkZXItcmFkaXVzOiAxMHB4O1xyXG4gIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgZm9udC1zaXplOiAxNHB4O1xyXG4gIGxpbmUtaGVpZ2h0OiAxNTAlO1xyXG4gIGRpc3BsYXk6IGZsZXg7XHJcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcclxuICB3aWR0aDogZml0LWNvbnRlbnQgIWltcG9ydGFudDtcclxuICBtYXJnaW4tbGVmdDogYXV0bztcclxuICBjdXJzb3I6IHBvaW50ZXI7XHJcbiAgdHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG5cclxuICBzdmcge1xyXG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG4gICAgd2lkdGg6IDE0cHg7XHJcbiAgICBoZWlnaHQ6IDE0cHg7XHJcbiAgfVxyXG5cclxuICAmOmhvdmVyIHtcclxuXHRvcGFjaXR5OiAwLjc7XHJcbiAgfVxyXG59XHJcblxyXG4udHVubmVsb3ZlcnppY2h0LWxpc3RfdHVubmVsLXN0YXRzIHtcclxuICBkaXNwbGF5OiBmbGV4O1xyXG4gIGZsZXgtd3JhcDogd3JhcDtcclxuICBtYXJnaW4tdG9wOiAxNnB4O1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGRpc3BsYXk6IG5vbmU7XHJcblxyXG4gIHNwYW4ge1xyXG4gICAgd2lkdGg6IDUwJTtcclxuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMjIwJTtcclxuICAgIGNvbG9yOiAjODg4ODg4O1xyXG5cclxuICAgIHN0cm9uZyB7XHJcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XHJcbiAgICAgIGNvbG9yOiAjMDAwMDAwO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1saXN0X19sZWdlbmRhIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRwYWRkaW5nLXRvcDogMTBweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogMTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0Jjo6YmVmb3JlIHtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArIDUwcHgpO1xyXG5cdFx0bGVmdDogLTI1cHg7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRoZWlnaHQ6IDFweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICNFM0UzRTM7XHJcblx0fVxyXG5cclxuXHQmOjphZnRlciB7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyA1MHB4KTtcclxuXHRcdGxlZnQ6IC0yNXB4O1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdFx0aGVpZ2h0OiAxcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRTNFM0UzO1xyXG5cdH1cclxuXHJcblx0c3BhbiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdFx0fVxyXG5cdFx0d2lkdGg6IGZpdC1jb250ZW50O1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRmb250LWZhbWlseTogJ1ZlcmRhbmEnO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHRcdGZvbnQtc2l6ZTogMTJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xyXG5cclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG5cdFx0XHR3aWR0aDogMTNweDtcclxuXHRcdFx0aGVpZ2h0OiA0cHg7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRcdH1cclxuXHJcblx0XHQmLmJlaGVlcm9uZGVyaG91ZDo6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzg4ODg4ODtcclxuXHRcdH1cclxuXHJcblx0XHQmLnZvb3JiZXJlaWRpbmc6OmJlZm9yZSB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNFRDUyOUM7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5vbnR3ZXJwOjpiZWZvcmUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjNTcxMkU5O1xyXG5cdFx0fVxyXG5cclxuXHRcdCYucmVhbGlzYXRpZTo6YmVmb3JlIHtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0Y4QTAxQjtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50dW5uZWxvdmVyemljaHQtbWFwLW1vYmlsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHR9XHJcblx0cGFkZGluZzogMTJweDtcclxuXHRtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdGRpc3BsYXk6IG5vbmU7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0YmFja2dyb3VuZDogI0ZGRkZGRjtcclxuXHRib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMik7XHJcblx0Ym9yZGVyLXJhZGl1czogMTBweDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGZvbnQtc2l6ZTogMTRweDtcclxuXHRsaW5lLWhlaWdodDogMTUwJTtcclxuXHRjb2xvcjogIzlCQkUzMjtcclxuXHJcblx0c3ZnIHtcclxuXHRcdG1hcmdpbi1sZWZ0OiBhdXRvO1xyXG5cdFx0d2lkdGg6IDE0cHg7XHJcblx0XHRoZWlnaHQ6IDE0cHg7XHJcblx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Lmljb24ge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDA7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTJweDtcclxuXHRcdFx0cGF0aCB7XHJcblx0XHRcdFx0ZmlsbDogIzlCQkUzMjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnR1bm5lbG92ZXJ6aWNodC1tYXAtbW9iaWxlX19oZWFkIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHQudG9nZ2xlIHtcclxuXHRcdFx0dHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50dW5uZWxvdmVyemljaHQtbWFwLW1vYmlsZV9fYm9keSB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHJcblx0Lm1hcC13cmFwcGVyIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHQubWFwIHtcclxuXHRcdG1hcmdpbi10b3A6IDEycHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogNDAwcHg7XHJcblx0fVxyXG59XHJcblxyXG4udHVubmVsb3ZlcnppY2h0LWxpc3RfX3N1Yml0ZW1zIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdG1hcmdpbi10b3A6IDE0cHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuICAgIGZsZXgtd3JhcDogbm93cmFwO1xyXG4gICAgZ2FwOiA4cHg7XHJcbiAgICBvdmVyZmxvdy14OiBzY3JvbGw7XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0fVxyXG5cclxuXHQ+IGRpdiB7XHJcblx0XHRtaW4td2lkdGg6IGZpdC1jb250ZW50ICFpbXBvcnRhbnQ7XHJcblx0XHRwYWRkaW5nOiA2cHggMTJweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDEwcHg7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE1MCU7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMCwgMCwgMCwgMC4yKTtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMTRweDtcclxuXHRcdFx0aGVpZ2h0OiAxNHB4O1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTJweDtcclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLUJlaGVlcl9lbl9vbmRlcmhvdWQge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDEzNiwgMTM2LCAxMzYsIDAuMSk7XHJcblx0XHRcdGNvbG9yOiAjODg4ODg4O1xyXG5cclxuXHRcdFx0c3ZnIHBhdGgge1xyXG5cdFx0XHRcdGZpbGw6ICM4ODg4ODg7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLVZvb3JiZXJlaWRpbmcge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDIzNywgODIsIDE1NiwgMC4xKTtcclxuXHRcdFx0Y29sb3I6IHJnYmEoMjM3LCA4MiwgMTU2LCAxKTtcclxuXHJcblx0XHRcdHN2ZyBwYXRoIHtcclxuXHRcdFx0XHRmaWxsOiByZ2JhKDIzNywgODIsIDE1NiwgMSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLU9udHdlcnAge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDg3LCAxOCwgMjMzLCAwLjEpO1xyXG5cdFx0XHRjb2xvcjogcmdiYSg4NywgMTgsIDIzMywgMSk7XHJcblxyXG5cdFx0XHRzdmcgcGF0aCB7XHJcblx0XHRcdFx0ZmlsbDogcmdiYSg4NywgMTgsIDIzMywgMSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLVJlYWxpc2F0aWUge1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMTYwLCAyNywgMC4xKTtcclxuXHRcdFx0Y29sb3I6IHJnYmEoMjQ4LCAxNjAsIDI3LCAxKTtcclxuXHJcblx0XHRcdHN2ZyBwYXRoIHtcclxuXHRcdFx0XHRmaWxsOiByZ2JhKDI0OCwgMTYwLCAyNywgMSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn0iLCIudHVubmVsb3ZlcnppY2h0LXR1bm5lbC1ncmFwaCB7XHJcblx0ei1pbmRleDogMTtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiA1MCU7XHJcblx0bGVmdDogNTAlO1xyXG5cdHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xyXG5cdGJhY2tncm91bmQ6ICR3aGl0ZS0xMDA7XHJcblx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdHBhZGRpbmctdG9wOiAyMnB4O1xyXG5cdHBhZGRpbmctcmlnaHQ6IDEwMHB4O1xyXG5cdHBhZGRpbmctbGVmdDogMTAwcHg7XHJcblx0cGFkZGluZy1ib3R0b206IDUwcHg7XHJcblx0ei1pbmRleDogMTAxO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0cG9pbnRlci1ldmVudHM6IG5vbmU7XHJcblx0dHJhbnNpdGlvbjogYWxsIDMwMG1zIGVhc2UtaW4tb3V0O1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cdHdpZHRoOiA3NzVweDtcclxuXHJcblx0Ji5pcy1hY3RpdmUge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHRcdHBvaW50ZXItZXZlbnRzOiBhbGw7XHJcblx0fVxyXG59XHJcblxyXG4udHVubmVsb3ZlcnppY2h0LXR1bm5lbC1ncmFwaF9fdGl0bGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxNTAlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG59XHJcblxyXG4udHVubmVsb3ZlcnppY2h0LXR1bm5lbC1ncmFwaF9fc3VidGl0bGUge1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxOHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cdG9wYWNpdHk6IDAuNjtcclxufVxyXG4udHVubmVsb3ZlcnppY2h0LWxpc3RfX292ZXJ2aWV3IHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogbm93cmFwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi10b3A6IDEycHg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdGhlaWdodDogMzBweDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGJvcmRlci1yYWRpdXM6IDZweDtcclxuXHJcblx0Ly8gJi5pdGVtcy0xIHtcclxuXHQvLyBcdC5iYXJbZGF0YS1waGFzZT1cIkJlaGVlciBlbiBvbmRlcmhvdWRcIl0ge1xyXG5cdC8vIFx0XHRoZWlnaHQ6IDIwcHggIWltcG9ydGFudDtcclxuXHQvLyBcdH1cclxuXHQvLyB9XHJcblx0XHJcblx0LmJhciB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdC8vIGhlaWdodDogMjBweDtcclxuXHRcdG1heC1oZWlnaHQ6IDM1cHg7XHJcblx0XHRtaW4taGVpZ2h0OiA3cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0JltkYXRhLXBoYXNlPVwiQmVoZWVyIGVuIG9uZGVyaG91ZFwiXSB7IFxyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjODg4ODg4O1xyXG5cdFx0XHRoZWlnaHQ6IDdweCAhaW1wb3J0YW50O1xyXG5cdFx0fVxyXG5cclxuXHRcdCZbZGF0YS1waGFzZT1cIlZvb3JiZXJlaWRpbmdcIl0geyBcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogI0VENTI5QztcclxuXHRcdH1cclxuXHJcblx0XHQmW2RhdGEtcGhhc2U9XCJPbndlcnBcIl0sICZbZGF0YS1waGFzZT1cIk9udHdlcnBcIl0geyBcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzU3MTJFOTtcclxuXHRcdH1cclxuXHJcblx0XHQmW2RhdGEtcGhhc2U9XCJSZWFsaXNhdGllXCJdIHsgXHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNGOEEwMUI7XHJcblx0XHR9XHJcblxyXG5cdFx0QGZvciAkaSBmcm9tIDAgdGhyb3VnaCA1IHtcclxuXHRcdFx0JjpudGgtY2hpbGQoI3skaX0pIHtcclxuXHRcdFx0ICBsZWZ0OiBjYWxjKC0zcHggKiAjeyRpfSlcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtMCB7XHJcblx0XHRcdHotaW5kZXg6IDEwO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtMSB7XHJcblx0XHRcdHotaW5kZXg6IDk7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy0yIHtcclxuXHRcdFx0ei1pbmRleDogODtcclxuXHRcdH1cclxuXHJcblx0XHQmLmlzLTMge1xyXG5cdFx0XHR6LWluZGV4OiA3O1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtNCB7XHJcblx0XHRcdHotaW5kZXg6IDY7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5pcy01IHtcclxuXHRcdFx0ei1pbmRleDogNTtcclxuXHRcdH1cclxuXHJcblx0XHQuaG92ZXIge1xyXG5cdFx0XHR3aWR0aDogbWF4LWNvbnRlbnQgIWltcG9ydGFudDtcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRsZWZ0OiA1MCU7XHJcblx0XHRcdHRvcDogLTUwcHg7XHJcblx0XHRcdHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcclxuXHRcdFx0cGFkZGluZzogMTBweCAxNnB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kOiAjRkZGRkZGO1xyXG5cdFx0XHRib3JkZXI6IDFweCBzb2xpZCAjODg4ODg4O1xyXG5cdFx0XHRib3gtc2hhZG93OiAwcHggNHB4IDRweCByZ2JhKDEwOCwgMTA4LCAxMDgsIDAuMyk7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDEwcHggMTBweCAwcHggMTBweDtcclxuXHRcdFx0Zm9udC1zdHlsZTogbm9ybWFsO1xyXG5cdFx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0XHRmb250LXNpemU6IDE0cHg7XHJcblx0XHRcdGxpbmUtaGVpZ2h0OiAxNTAlO1xyXG5cdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblx0XHRcdHBvaW50ZXItZXZlbnRzOiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0b3BhY2l0eTogMSAhaW1wb3J0YW50O1xyXG5cdFx0XHQmW2RhdGEtcGhhc2U9XCJCZWhlZXIgZW4gb25kZXJob3VkXCJdIHsgXHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzg4ODg4OCAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHJcblx0XHRcdCZbZGF0YS1waGFzZT1cIlZvb3JiZXJlaWRpbmdcIl0geyBcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRUQ1MjlDICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHRcclxuXHRcdFx0JltkYXRhLXBoYXNlPVwiT253ZXJwXCJdLCAmW2RhdGEtcGhhc2U9XCJPbnR3ZXJwXCJdIHsgXHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogIzU3MTJFOSAhaW1wb3J0YW50O1xyXG5cdFx0XHR9XHJcblx0XHJcblx0XHRcdCZbZGF0YS1waGFzZT1cIlJlYWxpc2F0aWVcIl0geyBcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjRjhBMDFCICFpbXBvcnRhbnQ7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5ob3ZlciB7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHRwb2ludGVyLWV2ZW50czogYWxsO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5mYWRlZCB7XHJcblx0XHRcdCZbZGF0YS1waGFzZT1cIkJlaGVlciBlbiBvbmRlcmhvdWRcIl0geyBcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjYWJhYmFiO1xyXG5cdFx0XHR9XHJcblx0XHJcblx0XHRcdCZbZGF0YS1waGFzZT1cIlZvb3JiZXJlaWRpbmdcIl0geyBcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAjZjI4NWI5O1xyXG5cdFx0XHR9XHJcblx0XHJcblx0XHRcdCZbZGF0YS1waGFzZT1cIk9ud2VycFwiXSwgJltkYXRhLXBoYXNlPVwiT250d2VycFwiXSB7IFxyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICM4OTU4ZWY7XHJcblx0XHRcdH1cclxuXHRcclxuXHRcdFx0JltkYXRhLXBoYXNlPVwiUmVhbGlzYXRpZVwiXSB7IFxyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICNmYWJjNWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaXRlbXMtMSB7XHJcblx0XHQuYmFyIHtcclxuXHRcdFx0Ym9yZGVyLXJhZGl1czogNnB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnR1bm5lbHBoYXNlLXBvcHVwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHR3aWR0aDogY2FsYygxMDB2dyAtIDMwcHgpO1xyXG5cdFx0cGFkZGluZy1sZWZ0OiAxMHB4O1xyXG5cdFx0cGFkZGluZy1yaWdodDogMTBweDtcclxuXHRcdHBhZGRpbmctYm90dG9tOiAzMHB4O1xyXG5cdH1cclxuXHR6LWluZGV4OiAxO1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDUwJTtcclxuXHRsZWZ0OiA1MCU7XHJcblx0dHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XHJcblx0YmFja2dyb3VuZDogJHdoaXRlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiA2cHg7XHJcblx0cGFkZGluZy10b3A6IDIycHg7XHJcblx0cGFkZGluZy1yaWdodDogMTAwcHg7XHJcblx0cGFkZGluZy1sZWZ0OiAxMDBweDtcclxuXHRwYWRkaW5nLWJvdHRvbTogNTBweDtcclxuXHR6LWluZGV4OiAxMDE7XHJcblx0b3BhY2l0eTogMDtcclxuXHRwb2ludGVyLWV2ZW50czogbm9uZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0d2lkdGg6IDc3NXB4O1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0cG9pbnRlci1ldmVudHM6IGFsbDtcclxuXHR9XHJcblxyXG5cdCYucG9wdXAtUmVhbGlzdGllIHtcclxuXHRcdC50dW5uZWxwaGFzZS1wb3B1cF9fdGl0bGUgc3Ryb25nIHtcclxuXHRcdFx0Y29sb3I6ICNGOEEwMUI7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLnBvcHVwLVZvb3JiZXJlaWRpbmcge1xyXG5cdFx0LnR1bm5lbHBoYXNlLXBvcHVwX190aXRsZSBzdHJvbmcge1xyXG5cdFx0XHRjb2xvcjogI0VENTI5QztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYucG9wdXAtT250d2VycCwgJi5wb3B1cC1PbndlcnAge1xyXG5cdFx0LnR1bm5lbHBoYXNlLXBvcHVwX190aXRsZSBzdHJvbmcge1xyXG5cdFx0XHRjb2xvcjogIzU3MTJFOTtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYucG9wdXAtQmVoZWVyX2VuX29uZGVyaG91ZCB7XHJcblx0XHQudHVubmVscGhhc2UtcG9wdXBfX3RpdGxlIHN0cm9uZyB7XHJcblx0XHRcdGNvbG9yOiAjODg4ODg4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0cCB7XHJcblx0XHRmb250LXdlaWdodDogNDAwO1xyXG5cdFx0Zm9udC1zaXplOiAxMnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE4cHg7XHJcblx0XHRvcGFjaXR5OiAwLjY7XHJcblx0XHRtYXJnaW4tdG9wOiAxMnB4O1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG59XHJcblxyXG4udHVubmVscGhhc2UtcG9wdXBfX3RpdGxlIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Zm9udC1zaXplOiAxNnB4O1xyXG5cdGxpbmUtaGVpZ2h0OiAxNTAlO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cclxuXHQuZmxhZyB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMnB4O1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDE3cHg7XHJcblx0XHRcdGhlaWdodDogMTdweDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdHN0cm9uZyB7XHJcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdH1cclxufSIsIi8qKlxuICogQ29sb3IgdXRpbGl0eSBjbGFzc2VzLlxuICpcbiAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNvbG9yIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3NlcyBiYXNlZCBvbiBldmVyeSBjb2xvciBkZWZpbml0aW9uIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXG4gKiBMb29wIHRocm91Z2ggZXZlcnkgYCRrZXlgIGFuZCBgJG1hcGAgaW4gdGhlIGAkY29sb3JzYCB2YXJpYWJsZSBtYXAgZGVmaW5lZCBpbiBgc2V0dGluZ3MvX2NvbG9yLnNjc3NgLlxuICovXG4gXG5AZWFjaCAka2V5LCAkbWFwIGluICRjb2xvcnMge1xuXG5cdC8vIExvb3AgdGhyb3VnaCBldmVyeSBgJHNoYWRlYCBhbmQgYCRyZ2JgIGluIGAkbWFwYC5cblx0QGVhY2ggJHNoYWRlLCAkcmdiIGluICRtYXAge1xuXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kLWNvbG9yYCBydWxlcy5cblx0XHRAZWFjaCAkcnVsZSBpbiBjb2xvciwgYmFja2dyb3VuZC1jb2xvciB7XG5cblx0XHRcdC8qKlxuXHRcdFx0ICogYCN7JHJ1bGV9YCAjeyRyZ2J9LSN7JHNoYWRlfSBjb2xvciB1dGlsaXR5LlxuXHRcdFx0ICovXG5cblx0XHRcdC4jeyRydWxlfS0je3VucXVvdGUoJGtleSl9LSN7dW5xdW90ZSgkc2hhZGUpfSB7XG5cdFx0XHRcdCN7JHJ1bGV9OiAkcmdiO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBWaXN1YWxseSBoaWRlIGFueSBlbGVtZW50IGZyb20gdGhlIHVzZXIuXG4gKi9cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG5cdGRpc3BsYXk6IGJsb2NrO1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHdpZHRoOiAxcHg7XG5cdGhlaWdodDogMXB4O1xuXHR3aGl0ZS1zcGFjZTogbm93cmFwO1xuXHRvdmVyZmxvdzogaGlkZGVuO1xuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XG5cdGNsaXAtcGF0aDogaW5zZXQoMXB4KTtcbn1cblxuXG4vKipcbiAqIE1ha2UgbGF6eWxvYWQgcGxhY2Vob2xkZXIgMTAwJSB3aWRlLlxuICovXG5cbi5sYXp5bG9hZCB7XG5cdHdpZHRoOiAxMDAlO1xufVxuXG5cbi8qKlxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxuICogdGhhdCB1dGlsaXplcyB0aGUgYG9iamVjdC1maXRgIHByb3BlcnR5LlxuICovXG5cbiVvYmplY3QtZml0LFxuLm9iamVjdC1maXQge1xuXHRwb3NpdGlvbjogYWJzb2x1dGU7XG5cdHRvcDogMDtcblx0cmlnaHQ6IDA7XG5cdGJvdHRvbTogMDtcblx0bGVmdDogMDtcblx0d2lkdGg6IDEwMCU7XG5cdGhlaWdodDogMTAwJTtcblx0Zm9udC1mYW1pbHk6ICdvYmplY3QtZml0OiBjb3ZlcjsnO1xuXHRvYmplY3QtZml0OiBjb3Zlcjtcbn1cblxuXG4vKipcbiAqIEFsaWduIGNlbnRlci5cbiAqL1xuXG4uYWxpZ24tY2VudGVyIHtcblx0dGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vKipcbiAqIEFsaWduIGxlZnQuXG4gKi9cblxuLmFsaWduLWxlZnQge1xuXHR0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4vKipcbiAqIEFsaWduIHJpZ2h0LlxuICovXG5cbi5hbGlnbi1yaWdodCB7XG5cdHRleHQtYWxpZ246IHJpZ2h0O1xufVxuIiwiLyoqXG4gKiBPYmplY3QgZml0LlxuICpcbiAqIDEuIEZvbnQgZmFtaWx5IHBvbHlmaWxsIHdpdGggKGh0dHBzOi8vZ2l0aHViLmNvbS9iZnJlZC1pdC9vYmplY3QtZml0LWltYWdlcykuXG4gKiBMb29wIHRocm91Z2ggZXZlcnkgdmFsdWUgZm9yIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXG4gKi9cblxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcblxuXHQvKipcblx0ICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxuXHQgKi9cblxuXHQuI3skdmFsdWV9IHtcblx0XHRmb250LWZhbWlseTogJ29iamVjdC1maXQ6ICN7JHZhbHVlfTsnOyAvKiAxICovXG5cdFx0b2JqZWN0LWZpdDogI3skdmFsdWV9O1xuXHR9XG59XG4iLCIvKipcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXG4gKi9cblxuQGVhY2ggJHZhbHVlIGluIHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5IHtcblx0LiN7JHZhbHVlfSB7XG5cdFx0cG9zaXRpb246ICR2YWx1ZTtcblx0fVxufVxuIiwiXG4vKipcbiAqIEZvbnQgZmFtaWx5IHV0aWxpdHkgY2xhc3Nlcy5cbiAqL1xuXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LWZhbWlseSB7XG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHByb3BlcnR5fSB7XG5cdFx0XHRcdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJHByb3BlcnR5KTtcblx0XHRcdH1cblx0XHR9XG5cdH1cbn1cblxuXG4vKipcbiAqIFRleHQgc2l6ZSB1dGlsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcblx0XHRAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZm9udC1zaXplIHtcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcblx0XHRcdFx0QGluY2x1ZGUgdGV4dCgkcHJvcGVydHkpO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuXG5cbi8qKlxuICogVGV4dCBhbGlnbm1lbnQgdXRpbGl0eSBjbGFzc2VzLlxuICovXG5cbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XG5cdFx0QGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCwgY2VudGVyIHtcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skZGlyZWN0aW9ufSB7XG5cdFx0XHRcdHRleHQtYWxpZ246ICRkaXJlY3Rpb247XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqXG4gKiBGb250IHdlaWdodCB1dGlsaXR5IGNsYXNzZXMuXG4gKlxuICogMS4gTXVsdGlwbHkgbG9vcGVkIGludGVnZXIgYnkgMTAwIGZvciBjb3JyZWN0IGZvbnQgd2VpZ2h0IHZhbHVlLlxuICovXG5cbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XG5cdFx0QGZvciAkaSBmcm9tIDEgdGhyb3VnaCA5IHtcblx0XHRcdCRpOiAkaSAqIDEwMDsgLy8gWzFdXG5cblx0XHRcdC50ZXh0LSN7JGtleX0tI3skaX0ge1xuXHRcdFx0XHRmb250LXdlaWdodDogI3skaX07XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG59XG5cblxuLyoqXG4gKiBUZXh0IHRyYW5zZm9ybSB1aXRsaXR5IGNsYXNzZXMuXG4gKi9cblxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcblx0XHRAZWFjaCAkdHJhbnNmb3JtIGluIGNhcGl0YWxpemUsIHVwcGVyY2FzZSwgbG93ZXJjYXNlLCBub25lLCBmdWxsLXdpZHRoIHtcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skdHJhbnNmb3JtfSB7XG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxufVxuIiwiLyoqXG4gKiBWZXJ0aWNhbCBSaHl0aG0uXG4gKi9cbiBcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xuXHQkaTogJGkgKiA4O1xuXG5cdC52ci0jeyRpfSB7XG5cdFx0bWFyZ2luLWJvdHRvbTogI3skaX1weDtcblx0fVxufVxuIiwiLyoqXG4gKiBVdGlsaXR5IGNsYXNzZXMgZm9yIG1hbmlwdWxhdGluZyBzdGFja2luZyBvcmRlciBpbiBIVE1MLlxuICovXG5cbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkei1pbmRleCB7XG5cdC56LWluZGV4LSN7JGtleX0ge1xuXHRcdHotaW5kZXg6ICR2YWx1ZTtcblx0fVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FDRkg7O0dBRUc7QUNGSDs7R0FFRztBQVFIOztHQUVHO0FBWUg7O0dBRUc7QUFXSDs7R0FFRztBQUVIOztHQUVHO0FBWUg7O0dBRUc7QUN6REg7O0dBRUc7QUFnQkg7O0dBRUc7QUVwQkg7O0dBRUc7QUFlSDs7R0FFRztBQU1IOztHQUVHO0FBZUg7O0dBRUc7QUFNSCxBQUFBLENBQUMsQUFBQSxXQUFXLENBQUM7RUFDWCxnQkFBZ0IsRUY3Q1QsS0FBa0I7RUU4Q3pCLEtBQUssRUYzQ0UsS0FBb0IsR0U0QzVCOztBQUVEOztHQUVHO0FMbkRGOztJQUVHO0FNUkosNEVBQTRFO0FBRTVFO2dGQUNnRjtBQUVoRjs7O0dBR0c7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILFdBQVcsRUFBRSxJQUFJO0VBQUUsT0FBTztFQUMxQix3QkFBd0IsRUFBRSxJQUFJO0VBQUUsT0FBTyxFQUN4Qzs7QUFFRDtnRkFDZ0Y7QUFFaEY7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE1BQU0sRUFBRSxDQUFDLEdBQ1Y7O0FBRUQ7O0dBRUc7QUFFSCxBQUFBLElBQUksQ0FBQztFQUNILE9BQU8sRUFBRSxLQUFLLEdBQ2Y7O0FBRUQ7OztHQUdHO0FBRUgsQUFBQSxFQUFFLENBQUM7RUFDRCxTQUFT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RztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsVUFBVSxDQUFTO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLGFBQWEsQ0FBUztJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsVUFBVSxDQUFTO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLGFBQWEsQ0FBUztJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsVUFBVSxDQUFTO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxJQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBc0JEOztNQUVHO0VBRUgsQUFBQSxpQkFBaUIsQ0FBUTtJQUN4QixXQUFXLEVBUEcsT0FBTyxHQVFyQjtFQU5EOztNQUVHO0VBRUgsQUFBQSxnQkFBZ0IsQ0FBUztJQUN4QixXQUFXLEVBUFksTUFBTSxHQVE3QjtFQU5EOztNQUVHO0VBRUgsQUFBQSxvQkFBb0IsQ0FBSztJQUN4QixXQUFXLEVBUG9CLFVBQVUsR0FRekM7RUFORDs7TUFFRztFQUVILEFBQUEsa0JBQWtCLENBQU87SUFDeEIsV0FBVyxFQVBnQyxRQUFRLEdBUW5EO0VBTkQ7O01BRUc7RUFFSCxBQUFBLGtCQUFrQixDQUFPO0lBQ3hCLFdBQVcsRUFQMEMsUUFBUSxHQVE3RDtFQU9EOztNQUVHO0VBRUgsQUFBQSxpQkFBaUIsQ0FBVTtJQUMxQixlQUFlLEVBUEQsS0FBSyxHQVFuQjtFQU5EOztNQUVHO0VBRUgsQUFBQSxrQkFBa0IsQ0FBUztJQUMxQixlQUFlLEVBUE0sTUFBTSxHQVEzQjtFQU5EOztNQUVHO0VBRUgsQUFBQSx5QkFBeUIsQ0FBRTtJQUMxQixlQUFlLEVBUGMsYUFBYSxHQVExQztFQU5EOztNQUVHO0VBRUgsQUFBQSx3QkFBd0IsQ0FBRztJQUMxQixlQUFlLEVBUDZCLFlBQVksR0FReEQ7RUFORDs7TUFFRztFQUVILEFBQUEsd0JBQXdCLENBQUc7SUFDMUIsZUFBZSxFQVAyQyxZQUFZLEdBUXRFO0VBT0Q7O01BRUc7RUFFSCxBQUFBLGNBQWMsQ0FBZTtJQUM1QixZQUFxQixFQUFVLENBQUMsR0FDaEM7RUFORDs7TUFFRztFQUVILEFBQUEsZUFBZSxDQUFjO0lBQzVCLGFBQXFCLEVBQVUsQ0FBQyxHQUNoQztFQUlGOztLQUVHO0VBRUgsQUFBQSxTQUFTLENBQU07SUFDZCxLQUFLLEVBQUUsRUFBRSxHQUNUO0VBR0Q7O0tBRUc7RUFFSCxBQUFBLFFBQVEsQ0FBTTtJQUNiLEtBQUssRUFBRSxDQUFDLEdBQ1I7RUFHRDs7S0FFRztFQUVILEFBQUEsV0FBVyxDQUFNO0lBQ2hCLGNBQWMsRUFBRSxXQUFXLEdBQzNCOztBUHJCRCxNQUFNLE1BQU0sTUFBTSxNQUFNLFNBQVMsRUFBRSxLQUFLO0VPckV2Qzs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxRQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFFBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7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Qzs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxRQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFFBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lB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O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLEdBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxTQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVUekNQLFNBQTRCLEdTMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFVDFCQSxHQUE0QjtJUzJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNy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 */
