/**
 * Settings.
 */
/**
 * Settings.
 */
/**
 * Font family map.
 */
/**
 * Font face.
 */
@font-face {
  font-family: 'Klavika';
  src: url("/wp-content/themes/i2o/assets/fonts/Klavika-Light.otf") format("OpenType");
  font-weight: 300; }

@font-face {
  font-family: 'Klavika';
  src: url("/wp-content/themes/i2o/assets/fonts/Klavika-Regular.otf") format("OpenType");
  font-weight: 400; }

@font-face {
  font-family: 'Klavika';
  src: url("/wp-content/themes/i2o/assets/fonts/Klavika-Medium.otf") format("OpenType");
  font-weight: 500; }

@font-face {
  font-family: 'Klavika';
  src: url("/wp-content/themes/i2o/assets/fonts/Klavika-Bold.otf") format("OpenType");
  font-weight: 700; }

/**
 * Font size map.
 */
/**
 * Line height map.
 */
/**
 * Grid.
 */
/**
 * Assets.
 */
/**
 * Body.
 */
/**
 * Other.
 */
*::selection {
  background-color: #213c8c;
  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.625em;
  min-height: 100vh;
  background-color: white;
  color: black;
  font-family: "Roboto";
  font-weight: 300;
  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,
.partner-single__title,
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.
 */

.button {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 0.90909em;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 2px 20px 0 20px;
  border-radius: 5px;
  transition: all 250ms ease;
  cursor: pointer;
  font-family: "Klavika";
  font-weight: 500; }
  
  .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: white;
  color: #213c8c;
  box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.1); }
  
  .button--default:hover {
    background-color: #213c8c;
    color: white; }

/**
 * Button (border).
 */

.button--border {
  background-color: transparent;
  color: white;
  border: 2px solid white; }
  
  .button--border:hover {
    background-color: white;
    color: #f59300; }

/**
 * Button (small).
 */

.button--small {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  height: 34px;
  padding: 2px 17px 0 17px;
  background-color: transparent;
  border: 2px solid white;
  border-radius: 4px;
  color: white;
  font-weight: 400; }
  
  .button--small:hover {
    background-color: white;
    color: #f59300; }

/**
 * The container object centers an element in the document.
 */
.container {
  max-width: calc(1024px + 40px);
  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;
  padding-top: 80px;
  overflow: hidden; }

/**
 * 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: 5px;
  font-weight: bold;
  color: #213c8c; }


select,
input,
textarea {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  width: 100%;
  height: 42px;
  border-radius: 2px;
  padding: 11px 15px;
  background-color: transparent;
  font-family: "Klavika";
  font-weight: 500;
  border: 1px solid #b6bad2; }

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

.ginput_container_select {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-color: transparent;
  border: 1px solid #b6bad2; }
  .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 #213c8c;
  border-radius: 2px;
  background-color: white;
  transition: all 250ms ease; }
  input[type='radio']:checked,
  input[type='checkbox']:checked {
    background-color: #213c8c; }

input[type='radio'] {
  border-radius: 20px;
  border: 2px solid #f59300; }
  input[type='radio']:checked {
    background-color: #f59300; }

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

.gform_validation_container {
  display: none; }

.ginput_container_name {
  display: flex;
  flex-wrap: wrap;
  margin: 0 -7.5px; }
  @media only screen and (max-width: 899px) {
    .ginput_container_name {
      margin: 0; } }
  .ginput_container_name span {
    width: calc(50% - 15px);
    margin: 7.5px; }
    @media only screen and (max-width: 899px) {
      .ginput_container_name span {
        width: 100%;
        margin: 0 0 20px 0; } }
    @media only screen and (max-width: 899px) {
      .ginput_container_name span:last-of-type {
        margin: 0; } }

.hidden_label > label {
  display: none; }

.gfield_error input,
.gfield_error textarea {
  background-color: rgba(208, 42, 37, 0.1); }

.validation_message {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  font-family: "Klavika";
  margin-top: 5px;
  font-weight: 500;
  color: #d02a25; }


.validation_error {
  position: relative;
  margin: 0 0 50px;
  padding: 25px 25px 25px 75px;
  background: rgba(208, 42, 37, 0.1);
  color: #d02a25; }
  
  .validation_error > svg {
    position: absolute;
    top: calc(50% - 15px);
    left: 30px;
    width: 31px;
    height: 30px;
    color: #d02a25; }
  
  .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: #b6bad2 br;
    background-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,
.partner-single__title,
h3,
h4,
.heading {
  font-family: "Klavika";
  color: #213c8c; }
  h1.is-white,
  h2.is-white,
  .is-white.partner-single__title,
  h3.is-white,
  h4.is-white,
  .heading.is-white {
    color: white; }
  h1.is-orange,
  h2.is-orange,
  .is-orange.partner-single__title,
  h3.is-orange,
  h4.is-orange,
  .heading.is-orange {
    color: #f59300; }
  h1.is-blue,
  h2.is-blue,
  .is-blue.partner-single__title,
  h3.is-blue,
  h4.is-blue,
  .heading.is-blue {
    color: #213c8c; }

/**
 * Heading 1.
 */
h1,
.heading-1 {
  font-size: 78px;
  font-size: 7.8rem;
  line-height: 1em;
  font-weight: 500; }
  @media only screen and (max-width: 899px) {
    h1,
    .heading-1 {
      font-size: 32px;
      font-size: 3.2rem;
      line-height: 1em; } }

/**
 * Heading 2.
 */

h2,
.partner-single__title,
.heading-2 {
  font-size: 64px;
  font-size: 6.4rem;
  line-height: 1em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    
    h2,
    .partner-single__title,
    .heading-2 {
      font-size: 32px;
      font-size: 3.2rem;
      line-height: 1em; } }

/**
 * Heading 3.
 */
h3,
.heading-3 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.11111em;
  font-weight: 700; }
  @media only screen and (max-width: 899px) {
    h3,
    .heading-3 {
      font-size: 24px;
      font-size: 2.4rem;
      line-height: 1.16667em;
      font-weight: 500; } }

/**
 * Heading 4.
 */
h4,
.heading-4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1em;
  font-weight: 500; }

/**
 * Subheading.
 */

.subheading {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  font-family: "Klavika";
  font-weight: 500;
  letter-spacing: 0.02em; }
  
  .subheading.is-blue {
    color: #213c8c; }
  
  .subheading.is-white {
    color: white; }
  
  .subheading.is-orange {
    color: #f59300; }

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

.link {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em;
  color: white;
  text-decoration: underline;
  transition: all 250ms ease; }
  .link.is-blue {
    color: #213c8c; }
  .link.has-svg-right {
    text-decoration: none;
    font-weight: 700; }
    .link.has-svg-right svg {
      margin-left: 10px; }
  .link.has-svg-left {
    text-decoration: none;
    font-weight: 700; }
    .link.has-svg-left svg {
      margin-right: 10px; }
  .link svg {
    position: relative;
    top: 4px;
    width: 18px;
    height: 20px;
    transition: all 250ms ease; }
  .link:hover {
    color: #f59300;
    font-weight: 700; }
    .link:hover svg {
      color: #f59300; }
  .link.has-blue-hover:hover {
    color: #213c8c; }

.pagination {
  width: 100%;
  margin-bottom: 150px; }
  .pagination .wrapper {
    justify-content: flex-start; }
  .pagination .page-numbers {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1em;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-right: 10px;
    font-family: "Klavika";
    transition: all 250ms ease;
    color: #213c8c;
    font-weight: 500; }
    .pagination .page-numbers.current {
      color: #b6bad2;
      font-weight: bold; }
    .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: #213c8c;
        transition: all 250ms ease; }
      .pagination .page-numbers.prev:hover svg, .pagination .page-numbers.next:hover svg {
        color: #f59300; }
    .pagination .page-numbers.next {
      margin-right: 0;
      margin-left: 5px; }
  .pagination a:hover {
    color: #f59300; }

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

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

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

.cms-output h1,
.cms-output h2,
.cms-output .partner-single__title,
.cms-output h3,
.cms-output h4,
.cms-output h5 {
  margin-bottom: 20px; }

.cms-output ol,
.cms-output ul {
  list-style-type: disc;
  margin-left: 25px;
  margin-bottom: 25px; }
  .cms-output ol li,
  .cms-output ul li {
    margin-botom: 5px; }

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

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

.cms-output button {
  margin-top: 20px; }

.cms-output .img-wrap {
  display: inline-block;
  position: relative; }
  .cms-output .img-wrap img {
    position: relative;
    z-index: 30; }

.cms-output .wp-caption {
  width: 100% !important;
  margin: 50px 0; }
  .cms-output .wp-caption p {
    margin-top: 30px;
    font-style: italic;
    color: #213c8c; }

.cms-output a {
  text-decoration: underline; }

.contact-form {
  position: relative;
  margin: 100px 0; }
  @media only screen and (max-width: 599px) {
    .contact-form {
      margin: 75px 0; } }

/**
 * Contact.
 */
.contact-form__contact-column {
  min-height: 510px;
  margin-bottom: 100px; }
  @media only screen and (max-width: 599px) {
    .contact-form__contact-column {
      width: 100%;
      min-height: auto;
      margin-bottom: 75px; } }
  @media only screen and (max-width: 1199px) {
    .contact-form__contact-column .wrapper--small {
      position: relative; } }

.contact-form__information {
  width: 50%; }
  @media only screen and (max-width: 599px) {
    .contact-form__information {
      width: 100%; } }

.contact-form__subtitle {
  margin-bottom: 10px; }

.contact-form__title {
  margin-bottom: 75px; }
  @media only screen and (max-width: 599px) {
    .contact-form__title {
      margin-bottom: 50px; } }

.contact-form__information-title {
  margin-bottom: 30px; }

.contact-form__information-item {
  margin-bottom: 50px; }
  @media only screen and (max-width: 599px) {
    .contact-form__information-item {
      margin-bottom: 30px; } }
  .contact-form__information-item svg {
    position: relative;
    width: 30px;
    height: 22px;
    margin-right: 12px;
    z-index: 2; }
    .contact-form__information-item svg.fa-map-marker-alt {
      width: 23px;
      height: 22px;
      margin-right: 18px; }
  .contact-form__information-item a,
  .contact-form__information-item .is-value {
    display: block;
    margin-top: 10px;
    color: #213c8c; }
  .contact-form__information-item .is-label {
    position: relative; }
    .contact-form__information-item .is-label:before {
      display: block;
      position: absolute;
      top: 2px;
      left: 4px;
      width: 22px;
      height: 22px;
      background-color: #fce2c0;
      border-radius: 99px;
      content: '';
      z-index: 1; }

/**
 * Image.
 */
.contact-form__image-column {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  max-width: 710px;
  height: 650px; }
  @media only screen and (max-width: 1199px) {
    .contact-form__image-column {
      height: 550px; } }
  @media only screen and (max-width: 599px) {
    .contact-form__image-column {
      position: relative;
      width: calc(100% + 20px);
      height: 395px; } }
  .contact-form__image-column:before {
    display: block;
    position: absolute;
    top: calc(50% - 201px);
    left: -110px;
    width: 262px;
    height: 402px;
    background: url("./../images/group20.svg") no-repeat;
    content: '';
    z-index: -1; }
  .contact-form__image-column img {
    box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.1);
    border-radius: 39px 0px 0px 207px; }

/**
 * Form.
 */
.contact-form__form-title {
  margin-bottom: 30px; }

.content-form__form-wrap {
  width: 100%;
  max-width: 630px; }

.content-header {
  position: relative;
  padding: 100px 0 75px 0; }
  .content-header:before {
    display: block;
    position: absolute;
    top: 30px;
    left: 0;
    width: 154px;
    height: 496px;
    background: url("./../images/group35.svg");
    content: '';
    z-index: -1; }

.content-header__subtitle {
  margin-bottom: 10px; }

.content-header__title {
  max-width: 630px; }

.content-default {
  padding: 50px 0; }
  .content-default.has-image-frame .img-wrap {
    margin: 50px 0; }
    .content-default.has-image-frame .img-wrap:before {
      position: absolute;
      top: 20px;
      left: 20px;
      width: 100%;
      height: 100%;
      background-color: #b6bad2;
      border-radius: 4px;
      content: '';
      z-index: 10; }
    .content-default.has-image-frame .img-wrap:after {
      position: absolute;
      right: -50px;
      bottom: -50px;
      width: 262px;
      height: 262px;
      background: url("./../images/pattern.svg");
      border-radius: 4px;
      content: '';
      z-index: 20; }

.content-default--background-blue {
  background-color: rgba(182, 186, 210, 0.1); }

.content-default__title {
  width: 100%;
  max-width: 740px;
  margin-bottom: 20px; }

.content-default__editor {
  width: 100%;
  max-width: 740px;
  color: #213c8c; }

.faq {
  padding-bottom: 75px; }

.faq--background-blue {
  background-color: rgba(182, 186, 210, 0.1); }

.faq__subtitle {
  margin-bottom: 10px; }

.faq__questions {
  margin-top: 30px; }

/**
 * Question.
 */
.faq__question {
  border-top: 1px solid #b6bad2; }
  .faq__question:last-of-type {
    border-bottom: 1px solid #b6bad2; }

.faq__question-head {
  position: relative;
  padding: 30px 0;
  cursor: pointer; }
  .faq__question-head svg {
    position: absolute;
    top: 30px;
    right: 30px;
    width: 25px;
    height: 25px;
    color: #213c8c; }
  .faq__question-head .fa-minus-circle {
    display: none; }
  .faq__question-head.is-active .fa-plus-circle {
    display: none; }
  .faq__question-head.is-active .fa-minus-circle {
    display: block; }

.faq__question-title {
  max-width: calc(100% - 200px); }
  @media only screen and (max-width: 899px) {
    .faq__question-title {
      max-width: calc(100% - 100px); } }

.faq__question-body {
  display: none;
  margin: -10px 0 75px 0;
  max-width: calc(100% - 200px); }
  @media only screen and (max-width: 899px) {
    .faq__question-body {
      max-width: 100%; } }

.faq__question-answer {
  margin-bottom: 50px;
  color: #213c8c;
  font-weight: 400; }

.faq__question-link {
  margin-bottom: -20px; }
  .faq__question-link .button {
    margin: 0 20px 20px 0; }

.faq__question-link-title {
  display: flex;
  align-items: center;
  margin-bottom: 35px; }
  .faq__question-link-title:before {
    position: relative;
    top: -2px;
    width: 10px;
    height: 35px;
    border-radius: 0 4px 4px 0;
    margin-right: 10px;
    background-color: #213c8c;
    content: ''; }

.footer-cta {
  position: relative;
  margin: 100px 0 75px 0; }
  .footer-cta:after {
    position: absolute;
    top: 50%;
    left: 0;
    width: 100%;
    height: calc(50% + 75px);
    background-color: #fce2c0;
    content: '';
    z-index: -1; }

.footer-cta__body {
  padding: 50px;
  background-color: #f59300;
  box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.1); }
  @media only screen and (max-width: 599px) {
    .footer-cta__body {
      padding: 50px 30px; } }

.footer-cta__title {
  margin-bottom: 30px; }

.footer {
  position: relative;
  background-color: #f59300;
  padding: 80px 0 0 0;
  color: white; }
  .footer > .wrapper {
    position: relative;
    justify-content: space-between; }
    @media only screen and (max-width: 1199px) {
      .footer > .wrapper {
        align-items: flex-start; } }
    .footer > .wrapper:before {
      position: absolute;
      top: -130px;
      right: 0;
      width: 542px;
      height: 50px;
      background: url("./../images/group16.svg") no-repeat;
      content: ''; }
      @media only screen and (max-width: 1199px) {
        .footer > .wrapper:before {
          display: none; } }
      @media only screen and (max-width: 599px) {
        .footer > .wrapper:before {
          display: block; } }
  .footer:after {
    position: absolute;
    top: -35px;
    right: 0;
    width: 154px;
    height: 496px;
    background: url("./../images/group35.svg") no-repeat;
    transform: rotate(180deg);
    content: ''; }

/**
 * Actions.
 */
.footer__actions {
  width: 240px; }
  @media only screen and (max-width: 599px) {
    .footer__actions {
      width: 100%; } }

.footer__logo {
  display: block;
  margin-bottom: 30px; }
  .footer__logo img {
    width: 100%;
    height: auto; }
    @media only screen and (max-width: 599px) {
      .footer__logo img {
        max-width: 220px; } }

.footer__link-wrap {
  margin-bottom: 30px; }

.footer__link-title {
  margin-bottom: 20px; }

.footer__social-title {
  margin-bottom: 20px; }

.footer__social-linkedin svg {
  width: 20px;
  height: 20px;
  margin-right: 7px;
  color: white;
  opacity: 0.5;
  transition: all 250ms ease; }
  .footer__social-linkedin svg:hover {
    opacity: 1; }
  .footer__social-linkedin svg.fa-long-arrow-right {
    width: 21px;
    opacity: 1; }

/**
 * Editors.
 */
.footer__editors {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 2.25em;
  width: calc(100% - 330px);
  justify-content: space-between; }
  @media only screen and (max-width: 1199px) {
    .footer__editors {
      max-width: 500px; } }
  @media only screen and (max-width: 899px) {
    .footer__editors {
      width: calc(100% - 275px); } }
  @media only screen and (max-width: 599px) {
    .footer__editors {
      width: 100%;
      margin-top: 40px; } }

.footer__editors-column {
  width: calc(33.3333% - 20px); }
  @media only screen and (max-width: 1199px) {
    .footer__editors-column {
      width: 100%; } }

@media only screen and (max-width: 1199px) {
  .footer__editors-head {
    display: flex;
    align-items: center;
    cursor: pointer; } }

.footer__editors-head svg {
  display: none; }
  @media only screen and (max-width: 1199px) {
    .footer__editors-head svg {
      display: flex;
      width: 9px;
      height: 15px;
      margin-left: 5px;
      transition: all 250ms ease, transform 500ms ease; } }

.footer__editors-head.is-active svg {
  color: #213c8c;
  transform: rotate(180deg); }

@media only screen and (max-width: 1199px) {
  .footer__editors-head.is-active .footer__editors-title,
  .footer__editors-head.is-active svg, .footer__editors-head:hover .footer__editors-title,
  .footer__editors-head:hover svg {
    color: #213c8c; } }

.footer__editors-title {
  margin-bottom: 15px; }
  @media only screen and (max-width: 1199px) {
    .footer__editors-title {
      margin: 12px 0 10px 0;
      transition: all 250ms ease; } }

@media only screen and (max-width: 1199px) {
  .footer__editors-editor {
    display: none;
    margin-bottom: 10px; } }

.footer__editors-editor a {
  transition: all 250ms ease; }
  .footer__editors-editor a:hover {
    color: #213c8c; }

.footer__contact {
  width: 100%;
  margin-bottom: 50px; }
  @media only screen and (max-width: 1199px) {
    .footer__contact {
      border-top: 1px solid white;
      border-bottom: 1px solid white;
      margin: 0; } }

.footer__address {
  width: 100%; }
  @media only screen and (max-width: 1199px) {
    .footer__address {
      border-bottom: 1px solid white; } }

.footer__sitemap {
  width: calc(33.3333% - 20px); }
  @media only screen and (max-width: 1199px) {
    .footer__sitemap {
      width: 100%;
      border-bottom: 1px solid white; } }

.footer__disclaimer {
  width: calc(33.3333% - 20px); }
  @media only screen and (max-width: 1199px) {
    .footer__disclaimer {
      width: 100%;
      border-bottom: 1px solid white; } }

/**
 * Bottom.
 */
.footer__bottom {
  margin-top: 80px;
  background-color: #213c8c; }
  @media only screen and (max-width: 599px) {
    .footer__bottom {
      margin-top: 50px; } }
  .footer__bottom > .wrapper {
    justify-content: space-between;
    align-items: center;
    height: 40px; }
    @media only screen and (max-width: 599px) {
      .footer__bottom > .wrapper {
        height: auto;
        justify-content: center;
        padding-top: 10px;
        padding-bottom: 10px; } }

.footer__author {
  color: white; }
  @media only screen and (max-width: 599px) {
    .footer__author {
      width: 100%;
      text-align: center; } }

.footer__developed-by {
  color: white;
  text-decoration: underline; }
  @media only screen and (max-width: 599px) {
    .footer__developed-by {
      width: 100%;
      text-align: center; } }

.header {
  position: fixed;
  top: 0;
  width: 100%;
  background-color: #f59300;
  z-index: 99; }
  .header > .wrapper {
    justify-content: space-between;
    align-items: center;
    height: 80px;
    overflow: hidden; }
    .header > .wrapper:hover {
      overflow: visible; }

.header__logo {
  width: 140px; }

/**
 * Navigation.
 */
.header__navigation {
  max-width: calc(100% - 300px); }

@media only screen and (max-width: 1199px) {
  .header__menu-main {
    display: none; } }

.header__menu-main > li {
  position: relative;
  margin-right: 40px; }
  .header__menu-main > li > a {
    font-size: 14px;
    font-size: 1.4rem;
    line-height: 1.42857em;
    font-family: "Klavika";
    font-weight: 400;
    color: white;
    transition: all 500ms ease; }
    .header__menu-main > li > a svg {
      position: relative;
      top: 3px;
      width: 9px;
      height: 15px;
      margin-left: 5px;
      transition: transform 500ms ease; }
  .header__menu-main > li:last-of-type {
    margin: 0; }
  .header__menu-main > li.current-menu-item > a, .header__menu-main > li:hover > a {
    color: #213c8c; }
  .header__menu-main > li:hover > a svg {
    transform: rotate(180deg);
    color: #213c8c; }
  .header__menu-main > li:hover .submenu-container {
    opacity: 1;
    top: 100%; }

.header__menu-main .submenu-container {
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translate(-50%, 0%);
  width: max-content;
  min-width: 170px;
  padding-top: 27px;
  opacity: 0;
  transition: all 500ms ease; }
  .header__menu-main .submenu-container .submenu {
    box-shadow: 0px 8px 20px 10px rgba(84, 84, 84, 0.2); }
    .header__menu-main .submenu-container .submenu > li > a {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.42857em;
      display: flex;
      width: 100%;
      font-family: "Klavika";
      font-weight: 300;
      padding: 10px 10px;
      transition: all 250ms ease;
      background-color: white;
      color: #213c8c; }
      .header__menu-main .submenu-container .submenu > li > a svg {
        position: relative;
        top: 0;
        width: 13px;
        height: 17px;
        color: white;
        margin-left: 0;
        transition: all 250ms ease; }
    .header__menu-main .submenu-container .submenu > li.current-menu-item > a, .header__menu-main .submenu-container .submenu > li:hover > a {
      background-color: #213c8c;
      color: white; }
      .header__menu-main .submenu-container .submenu > li.current-menu-item > a svg, .header__menu-main .submenu-container .submenu > li:hover > a svg {
        margin-left: 7px; }

/**
 * Menu Button.
 */
@media only screen and (max-width: 1199px) {
  .header__menu-button {
    position: relative;
    width: 27px;
    height: 22px;
    margin-right: 20px;
    z-index: 100; }
    .header__menu-button span {
      display: inline-block;
      position: absolute;
      right: 0;
      left: 0;
      width: 27px;
      height: 3px;
      border-radius: 2px;
      margin: auto;
      background-color: white; }
      .header__menu-button span:nth-child(1) {
        top: 0;
        transition: background-color 400ms, top 400ms 400ms, transform 400ms 0s; }
      .header__menu-button span:nth-child(2) {
        top: calc(50% - 1.5px);
        transition: background-color 400ms, opacity 0ms 400ms;
        background-color: white;
        opacity: 1; }
      .header__menu-button span:nth-child(3) {
        bottom: 0;
        transition: background-color 400ms, bottom 400ms 400ms, transform 400ms 0s;
        background-color: white; }
    .header__menu-button.is-active span:nth-child(1) {
      top: calc(50% - 1.5px);
      transform: rotate(-45deg);
      transition: background-color 400ms, top 400ms, transform 400ms 400ms; }
    .header__menu-button.is-active span:nth-child(2) {
      opacity: 0; }
    .header__menu-button.is-active span:nth-child(3) {
      bottom: calc(50% - 1.5px);
      transform: rotate(45deg);
      transition: background-color 400ms, bottom 400ms, transform 400ms 400ms; } }

/**
 * Actions.
 */
.header__actions {
  width: 130px;
  align-items: center; }

.header__linkedin {
  display: flex;
  margin-right: 20px;
  opacity: 0.5;
  transition: all 250ms ease; }
  @media only screen and (max-width: 1199px) {
    .header__linkedin {
      display: none; } }
  .header__linkedin svg {
    width: 22px;
    height: 22px;
    color: white; }
  .header__linkedin:hover {
    opacity: 1; }

.introduction {
  position: relative;
  min-height: 815px;
  margin-bottom: 100px;
  padding: 75px 0 300px 0;
  background-color: #f59300; }
  @media only screen and (max-width: 1199px) {
    .introduction {
      min-height: 815px; } }
  @media (max-width: 800px) {
    .introduction {
      min-height: auto;
      padding-bottom: 0; } }
  .introduction:before {
    display: block;
    position: absolute;
    top: 30px;
    left: -380px;
    width: 538px;
    height: 642px;
    background: url("./../images/group27.svg") no-repeat;
    content: '';
    z-index: 0; }
  .introduction:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100vw;
    min-width: 1440px;
    height: 392px;
    background: url("./../images/introduction-overlay.svg") no-repeat;
    background-size: cover;
    content: '';
    z-index: 1; }
    @media (min-width: 1440px) {
      .introduction:after {
        background-size: initial; } }
    @media (max-width: 800px) {
      .introduction:after {
        display: none; } }

/**
 * Text column.
 */
.introduction__text-column {
  position: relative;
  width: 100%;
  max-width: 535px;
  z-index: 10; }
  @media only screen and (max-width: 1199px) {
    .introduction__text-column {
      max-width: calc(100% - 450px); } }
  @media only screen and (max-width: 899px) {
    .introduction__text-column {
      max-width: calc(100% - 410px); } }
  @media (max-width: 800px) {
    .introduction__text-column {
      max-width: 100%;
      padding-bottom: 250px;
      z-index: 5; } }
  @media (max-width: 800px) {
    .introduction__text-column:after {
      display: block;
      position: absolute;
      bottom: 0;
      left: -60px;
      width: 1440px;
      height: 290px;
      background: url("./../images/introduction-overlay.svg") no-repeat;
      content: '';
      z-index: 1; } }
  @media only screen and (max-width: 599px) {
    .introduction__text-column:after {
      left: -20px; } }

.introduction__title {
  margin-bottom: 30px; }

.introduction__link {
  position: relative;
  z-index: 10; }

.introduction__editor {
  color: white; }

.introduction__link-title {
  margin: 30px 0; }

/**
 * Image column.
 */
.introduction__image-column {
  display: flex;
  justify-content: flex-end;
  position: absolute;
  right: 0;
  width: 595px;
  height: 650px; }
  @media only screen and (max-width: 1199px) {
    .introduction__image-column {
      width: 450px; } }
  @media only screen and (max-width: 1199px) {
    .introduction__image-column {
      width: 410px; } }
  @media (max-width: 800px) {
    .introduction__image-column {
      position: relative;
      width: calc(100% + 20px);
      height: 500px;
      margin-top: 25px;
      margin-right: -20px;
      z-index: 10; }
      .introduction__image-column:after {
        position: absolute;
        top: -25px;
        left: -60px;
        width: calc(100% + 120px);
        height: calc(100% + 25px);
        background-color: white;
        content: '';
        z-index: 1; } }
  .introduction__image-column:before {
    display: block;
    position: absolute;
    bottom: 20px;
    left: -7px;
    width: 262px;
    height: 402px;
    background: url("./../images/group20.svg") no-repeat;
    content: '';
    z-index: 2; }
    @media only screen and (max-width: 1199px) {
      .introduction__image-column:before {
        top: 25px;
        left: 0; } }
    @media (max-width: 800px) {
      .introduction__image-column:before {
        top: -35px;
        width: 100%;
        background: url("./../images/group20.svg"); } }

.introduction__image {
  position: relative;
  width: 495px;
  height: 650px;
  z-index: 5; }
  @media only screen and (max-width: 1199px) {
    .introduction__image {
      width: 345px;
      height: 455px; } }
  @media only screen and (max-width: 899px) {
    .introduction__image {
      width: 335px;
      height: 445px; } }
  @media (max-width: 800px) {
    .introduction__image {
      width: 100%;
      height: 395px; } }
  .introduction__image img {
    box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.2);
    border-radius: 39px 0px 0px 207px; }

.introduction__number-wrap {
  position: absolute;
  width: 100px;
  height: auto;
  top: 50px;
  right: 100px;
  color: white;
  z-index: 10; }
  @media only screen and (max-width: 1199px) {
    .introduction__number-wrap {
      right: 70px; } }
  @media (max-width: 800px) {
    .introduction__number-wrap {
      right: 40px; } }
  .introduction__number-wrap.is-white {
    color: white; }
  .introduction__number-wrap.is-blue {
    color: #213c8c; }
  .introduction__number-wrap.is-orange {
    color: #f59300; }

.introduction__number {
  font-size: 92px;
  font-size: 9.2rem;
  line-height: 0.76087em;
  font-family: "Klavika";
  font-weight: 400; }

.introduction__number-caption {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 1.11111em;
  font-family: "Klavika";
  font-weight: 300; }

.introduction__image-caption {
  position: absolute;
  top: 290px;
  left: 25px;
  width: 305px;
  height: auto;
  padding: 20px;
  box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.2);
  border-radius: 5px;
  background-color: white;
  color: #213c8c;
  font-weight: 400;
  z-index: 10; }
  @media only screen and (max-width: 1199px) {
    .introduction__image-caption {
      top: 315px;
      right: 65px;
      left: auto;
      width: 277px; } }
  @media only screen and (max-width: 899px) {
    .introduction__image-caption {
      top: 305px;
      right: 60px; } }
  @media (max-width: 800px) {
    .introduction__image-caption {
      top: 260px;
      right: auto;
      left: 0;
      width: 100%;
      max-width: 277px; } }

.introduction__image-title {
  display: flex;
  position: relative;
  margin-bottom: 10px; }
  .introduction__image-title:before {
    position: relative;
    top: -4px;
    left: -20px;
    width: 30px;
    height: 28px;
    border-radius: 0 4px 4px 0;
    margin-right: -10px;
    background-color: #213c8c;
    content: ''; }

.logos {
  position: relative;
  margin-top: -230px;
  padding-bottom: 100px;
  z-index: 20; }
  @media only screen and (max-width: 1199px) {
    .logos {
      padding-bottom: 75px; } }
  @media (max-width: 800px) {
    .logos {
      margin: 0; } }

.logos__link {
  margin-bottom: 30px; }

.logos__wrap {
  position: relative;
  padding-bottom: 35px;
  width: 100%;
  max-width: 700px; }
  @media only screen and (max-width: 899px) {
    .logos__wrap {
      max-width: 100%; } }
  .logos__wrap .owl-stage {
    display: flex; }
  .logos__wrap:after {
    display: block;
    position: absolute;
    bottom: 0;
    left: 0;
    width: 402px;
    height: 10px;
    background: url("./../images/group17.svg") no-repeat;
    content: '';
    z-index: 1; }

.logos__logo {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  height: 100%; }
  @media (max-width: 800px) {
    .logos__logo {
      justify-content: center; } }
  .logos__logo img {
    max-width: 120px;
    width: auto;
    max-height: 50px;
    height: auto; }

.popup {
  position: fixed;
  right: -50%;
  bottom: 20px;
  opacity: 0;
  transition: all 0.5s ease-in-out;
  min-width: 305px;
  max-width: 600px;
  border-radius: 5px;
  overflow: hidden;
  box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.2);
  background-color: white;
  z-index: 95; }
  @media only screen and (max-width: 899px) {
    .popup {
      width: calc(100% - 20px);
      bottom: 10px; } }
  .popup.is-active {
    opacity: 1;
    right: 20px; }
    @media only screen and (max-width: 899px) {
      .popup.is-active {
        right: 10px; } }
  .popup.background-orange {
    background-color: #f59300; }
    .popup.background-orange .button {
      color: white;
      border: 2px solid white; }
      .popup.background-orange .button svg {
        fill: white; }
      .popup.background-orange .button:hover {
        background-color: white;
        color: #213c8c; }
        .popup.background-orange .button:hover svg {
          fill: #213c8c; }
    .popup.background-orange .popup__title {
      color: white; }
    .popup.background-orange .popup__text {
      color: white; }
  .popup .popup__wrapper {
    position: relative;
    padding: 20px;
    width: 100%; }
    .popup .popup__wrapper::before {
      content: '';
      position: absolute;
      top: 12px;
      left: 0;
      background-color: #213c8c;
      border-radius: 0px 4px 4px 0px;
      width: 10px;
      height: 34px; }

.popup__title {
  font-size: 22px;
  font-weight: 600;
  line-height: 22px;
  color: #f59300;
  margin-bottom: 12px; }

.popup__text {
  margin-bottom: 12px;
  font-size: 16px;
  font-weight: 400;
  line-height: 26px;
  color: #213c8c; }

.popup__link {
  margin-top: 12px; }
  .popup__link .button {
    color: #213c8c;
    border: 2px solid #213c8c;
    background: transparent; }
    .popup__link .button svg {
      transition: all 250ms ease;
      fill: white; }
    .popup__link .button:hover {
      background-color: #213c8c;
      color: white; }
      .popup__link .button:hover svg {
        fill: #213c8c; }

.popup__close {
  position: absolute;
  top: 0;
  right: 0;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  width: 20px;
  height: 20px;
  background-color: #b6bad2; }
  .popup__close svg {
    width: 13px;
    height: 18px; }

.navigation-mobile {
  position: fixed;
  top: 100vh;
  right: 0;
  bottom: 0;
  left: 0;
  width: 100%;
  height: calc(100% - 80px);
  margin-top: 80px;
  transition: all 500ms ease;
  background: white;
  opacity: 0;
  z-index: 99;
  overflow-x: hidden; }
  .navigation-mobile.is-active {
    top: 0;
    opacity: 1; }
  .navigation-mobile::-webkit-scrollbar {
    display: none; }

/**
 * Main menu.
 */
.navigation-mobile__main {
  margin: 30px 0 0 0; }
  .navigation-mobile__main > li {
    position: relative; }
    .navigation-mobile__main > li.current_page_ancestor > a, .navigation-mobile__main > li.current-menu-item > a {
      color: #f59300; }
      .navigation-mobile__main > li.current_page_ancestor > a svg, .navigation-mobile__main > li.current-menu-item > a svg {
        color: #f59300; }
    .navigation-mobile__main > li.is-active svg {
      transform: rotate(-90deg); }
    .navigation-mobile__main > li > a {
      font-size: 14px;
      font-size: 1.4rem;
      line-height: 1.42857em;
      font-family: "Klavika";
      font-weight: 500;
      display: flex;
      padding: 0 0 10px 0;
      color: #213c8c; }
      .navigation-mobile__main > li > a span {
        padding-right: 20px;
        cursor: pointer; }
      .navigation-mobile__main > li > a svg {
        position: relative;
        top: 2px;
        width: 11px;
        height: 16px;
        margin-left: 5px;
        transition: all 500ms ease;
        color: #213c8c; }
    .navigation-mobile__main > li .submenu-container {
      display: none;
      position: relative;
      margin-bottom: 10px;
      background-color: #e6e6e6; }
      @media only screen and (max-width: 1199px) {
        .navigation-mobile__main > li .submenu-container {
          width: calc(100% + 100px);
          margin-left: -50px;
          padding: 10px 65px; } }
      @media only screen and (max-width: 1199px) {
        .navigation-mobile__main > li .submenu-container {
          width: calc(100% + 120px);
          margin-left: -60px;
          padding: 10px 75px; } }
      @media only screen and (max-width: 599px) {
        .navigation-mobile__main > li .submenu-container {
          width: calc(100% + 40px);
          margin-left: -20px;
          padding: 10px 35px; } }
      .navigation-mobile__main > li .submenu-container li {
        display: flex;
        margin-bottom: 15px; }
        .navigation-mobile__main > li .submenu-container li a {
          font-size: 14px;
          font-size: 1.4rem;
          line-height: 1.42857em;
          font-family: "Klavika";
          font-weight: 400;
          color: #213c8c; }
        .navigation-mobile__main > li .submenu-container li:last-of-type {
          margin-bottom: 0; }
        .navigation-mobile__main > li .submenu-container li.current_page_ancestor > a, .navigation-mobile__main > li .submenu-container li.current-menu-item > a {
          color: #f59300; }

/**
 * Contact.
 */
.navigation-mobile__contact {
  width: 100%;
  height: 45px;
  padding: 12px 0;
  background-color: #f59300; }
  .navigation-mobile__contact a {
    display: flex;
    margin-right: 20px;
    opacity: 0.5;
    transition: all 250ms ease; }
    .navigation-mobile__contact a svg {
      width: 22px;
      height: 22px;
      color: white; }
    .navigation-mobile__contact a:hover {
      opacity: 1; }

/**
 * Disable scroll.
 */
.body.is-active {
  overflow: hidden; }
  .body.is-active .header::before {
    bottom: 0; }

.news-latest-item {
  position: relative;
  width: 100%;
  height: 50%;
  overflow: hidden; }
  @media only screen and (max-width: 599px) {
    .news-latest-item {
      margin-bottom: 20px; } }
  .news-latest-item a {
    display: flex;
    align-items: flex-end;
    width: 100%;
    height: 100%; }
  .news-latest-item.is-big {
    height: 100%; }
    @media only screen and (max-width: 599px) {
      .news-latest-item.is-big {
        margin-bottom: 0; } }
    .news-latest-item.is-big a {
      width: 100%;
      height: 100%; }
  .news-latest-item:hover .news-latest-item__image img {
    top: -10px;
    left: -10px;
    width: calc(100% + 20px);
    max-width: calc(100% + 20px);
    height: calc(100% + 20px); }
  .news-latest-item:hover .news-latest-item__more svg {
    margin-left: 10px; }

.news-latest-item__label {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 5px 20px;
  background-color: #fce2c0;
  color: #213c8c;
  font-weight: 500;
  z-index: 10;
  border-radius: 5px; }

.news-latest-item__image img {
  transition: all 250ms ease; }

.news-latest-item__body {
  position: relative;
  width: 100%;
  padding: 20px 30px 30px 40px;
  background-color: rgba(33, 60, 140, 0.7);
  z-index: 10; }

.news-latest-item__more {
  margin-bottom: 10px;
  font-family: "Klavika";
  color: white; }
  .news-latest-item__more svg {
    position: relative;
    top: 5px;
    width: 18px;
    height: 20px;
    margin-left: 5px;
    color: white;
    transition: all 250ms ease; }

.news-latest-item__title {
  position: relative; }
  .news-latest-item__title:before {
    position: absolute;
    top: -4px;
    left: -40px;
    width: 30px;
    height: 28px;
    border-radius: 0 4px 4px 0;
    margin-right: 10px;
    background-color: #f59300;
    content: ''; }

.news-latest {
  margin-bottom: 100px; }

.news-latest__subtitle {
  margin-bottom: 10px; }

.news-latest__title {
  margin-bottom: 75px; }
  @media only screen and (max-width: 1199px) {
    .news-latest__title {
      margin-bottom: 35px; } }

.news-latest__wrap {
  position: relative;
  max-width: 1440px;
  margin: 0 auto;
  padding-bottom: 75px; }
  @media only screen and (max-width: 599px) {
    .news-latest__wrap {
      padding: 0; } }
  .news-latest__wrap:before {
    display: block;
    position: absolute;
    bottom: 0;
    left: 50px;
    right: 50px;
    width: 1280px;
    height: 262px;
    margin: 0 auto;
    background: url("./../images/group16.svg") no-repeat;
    content: '';
    z-index: -1; }
    @media only screen and (max-width: 1199px) {
      .news-latest__wrap:before {
        width: 542px;
        left: 50px;
        margin: 0; } }
    @media only screen and (max-width: 899px) {
      .news-latest__wrap:before {
        left: 60px; } }
    @media only screen and (max-width: 599px) {
      .news-latest__wrap:before {
        display: none; } }

.news-latest__column {
  height: 680px; }
  @media only screen and (max-width: 1199px) {
    .news-latest__column {
      height: 505px; } }
  .news-latest__column.is-big {
    width: 55%; }
    @media only screen and (max-width: 599px) {
      .news-latest__column.is-big {
        width: 100%;
        height: 505px;
        margin-bottom: 20px; } }
  .news-latest__column.is-small {
    width: 45%; }
    @media only screen and (max-width: 599px) {
      .news-latest__column.is-small {
        width: 100%;
        height: 520px; } }

.news-list-item {
  position: relative; }
  .news-list-item:hover .news-list-item__image img {
    top: -10px;
    left: -10px;
    width: calc(100% + 20px);
    max-width: calc(100% + 20px);
    height: calc(100% + 20px); }
  .news-list-item:hover .news-list-item__more svg {
    margin-left: 10px; }

.news-list-item__label {
  font-size: 14px;
  font-size: 1.4rem;
  line-height: 1.42857em;
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 20px;
  right: 20px;
  padding: 5px 20px;
  background-color: #fce2c0;
  color: #213c8c;
  font-weight: 500;
  z-index: 10;
  border-radius: 5px; }

.news-list-item__image {
  position: relative;
  width: 100%;
  height: 355px;
  overflow: hidden;
  border-radius: 5px; }
  .news-list-item__image img {
    border-radius: 5px;
    transition: all 250ms ease; }

.news-list-item__body {
  padding: 20px 0 0 0; }

.news-list-item__title {
  margin-bottom: 20px; }

.news-list-item__teaser {
  color: #213c8c; }

.news-list-item__more {
  margin-top: 15px;
  font-family: "Klavika";
  color: #213c8c;
  font-weight: 500; }
  .news-list-item__more svg {
    position: relative;
    top: 5px;
    width: 18px;
    height: 20px;
    margin-left: 5px;
    color: #213c8c;
    transition: all 250ms ease; }

.news-list {
  margin-bottom: 55px; }

.news-list__title {
  margin-bottom: 30px; }

.news-list__wrap {
  width: calc(100% + 20px);
  margin: -37.5px -10px; }
  @media only screen and (max-width: 599px) {
    .news-list__wrap {
      width: 100%;
      margin: -12.5px 0; } }
  .news-list__wrap .news-list-item {
    width: calc(33.3333% - 20px);
    margin: 37.5px 10px; }
    @media only screen and (max-width: 899px) {
      .news-list__wrap .news-list-item {
        width: calc(50% - 20px); } }
    @media only screen and (max-width: 599px) {
      .news-list__wrap .news-list-item {
        width: 100%;
        margin: 25px 0; } }

.news-selection {
  margin-bottom: 75px;
  padding: 50px 0; }

.news-selection--background-blue {
  background-color: rgba(182, 186, 210, 0.1); }

.news-selection__title {
  margin-bottom: 30px; }

.news-selection__navigation {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 30px; }
  .news-selection__navigation svg {
    position: relative;
    top: 2px;
    width: 12px;
    height: 22px;
    color: #213c8c; }
    .news-selection__navigation svg:hover {
      color: #f59300; }

.news-selection__navigation-count {
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.625em;
  margin: 0 10px;
  font-weight: 400; }

.news-selection__wrap .owl-nav {
  display: none; }

.news-single {
  position: relative;
  min-height: 650px;
  margin: 100px 0 75px 0; }
  @media only screen and (max-width: 599px) {
    .news-single {
      min-height: auto;
      margin: 75px 0; } }
  .news-single:before {
    display: block;
    position: absolute;
    top: -45px;
    left: 0;
    width: 154px;
    height: 496px;
    background: url("./../images/group35.svg");
    content: '';
    z-index: -1; }
    @media only screen and (max-width: 599px) {
      .news-single:before {
        display: none; } }

.news-single__text-column {
  width: 50%; }
  @media only screen and (max-width: 599px) {
    .news-single__text-column {
      width: 100%; } }

.news-single__image-column {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  max-width: 710px;
  height: 650px; }
  @media only screen and (max-width: 1199px) {
    .news-single__image-column {
      height: 550px; } }
  @media only screen and (max-width: 599px) {
    .news-single__image-column {
      position: relative;
      width: calc(100% + 20px);
      height: 395px;
      margin-top: 30px; } }
  .news-single__image-column:before {
    display: block;
    position: absolute;
    top: calc(50% - 201px);
    left: -110px;
    width: 262px;
    height: 402px;
    background: url("./../images/group20.svg") no-repeat;
    content: '';
    z-index: -1; }
  .news-single__image-column img {
    box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.1);
    border-radius: 39px 0px 0px 207px; }

.news-single__type {
  margin-bottom: 10px; }

.team {
  padding-bottom: 75px; }

.team__members {
  width: calc(100% - 20px);
  margin: -10px; }
  @media only screen and (max-width: 899px) {
    .team__members {
      width: 100%;
      margin: -10px 0; } }

.team__member {
  width: calc(50% - 20px);
  margin: 10px;
  background-color: white; }
  @media only screen and (max-width: 899px) {
    .team__member {
      width: 100%;
      margin: 10px 0; } }

.team__member-image {
  position: relative;
  width: 60%;
  height: 380px; }
  @media only screen and (max-width: 599px) {
    .team__member-image {
      width: 50%; } }
  .team__member-image img {
    border-radius: 5px; }

.team__member-body {
  width: 40%;
  padding: 20px 0 0 20px; }
  @media only screen and (max-width: 599px) {
    .team__member-body {
      width: 50%; } }

.team__member-head {
  position: relative;
  margin-left: -75px;
  padding: 20px 20px 20px 40px;
  background-color: #213c8c;
  border-radius: 4px; }
  .team__member-head:before {
    position: absolute;
    top: 0;
    left: 0;
    width: 10px;
    height: 100%;
    background-color: #f59300;
    border-radius: 4px 0 0 4px;
    content: ''; }

.team__member-name {
  margin-bottom: 5px; }

.team__member-name,
.team__member-function {
  color: white; }

.team__member-text {
  padding: 10px 0;
  color: #213c8c; }

.team__member-actions a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 5px;
  background-color: #213c8c; }
  .team__member-actions a svg {
    width: 30px;
    height: 30px;
    color: white; }

.team__member-linkedin {
  margin-right: 20px; }

.teasers {
  padding-bottom: 75px; }

.teasers--background-blue {
  background-color: rgba(182, 186, 210, 0.1); }

.teasers__wrap {
  justify-content: center;
  width: calc(100% + 20px);
  margin: -10px; }

.teasers__teaser {
  width: calc(20% - 20px);
  margin: 10px; }
  @media only screen and (max-width: 899px) {
    .teasers__teaser {
      width: calc(33.3333% - 20px); } }
  @media only screen and (max-width: 599px) {
    .teasers__teaser {
      width: calc(50% - 20px); } }
  .teasers__teaser a {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    height: 100%;
    padding: 20px 30px;
    background-color: #fce2c0;
    color: #213c8c;
    border-radius: 5px;
    transition: all 250ms ease; }
    @media only screen and (max-width: 1199px) {
      .teasers__teaser a {
        padding: 20px; } }
    .teasers__teaser a.is-active, .teasers__teaser a:hover {
      background-color: #213c8c;
      color: #fce2c0; }

.teasers__teaser-icon {
  width: 100%;
  text-align: center; }
  .teasers__teaser-icon svg {
    width: 53px;
    height: 50px; }

.teasers__teaser-title {
  font-size: 20px;
  font-size: 2rem;
  line-height: 1.1em;
  display: flex;
  text-align: center;
  align-items: center;
  font-family: "Klavika";
  font-weight: 500;
  text-align: center; }

.partner-single {
  position: relative;
  min-height: 650px;
  margin: 100px 0 75px 0; }
  @media only screen and (max-width: 599px) {
    .partner-single {
      min-height: auto;
      margin: 75px 0; } }
  .partner-single:before {
    display: block;
    position: absolute;
    top: -45px;
    left: 0;
    width: 154px;
    height: 496px;
    background: url("./../images/group35.svg");
    content: '';
    z-index: -1; }
    @media only screen and (max-width: 599px) {
      .partner-single:before {
        display: none; } }

.partner-single__partner {
  font-size: 18px;
  font-weight: 600;
  line-height: 20px;
  margin-bottom: 10px;
  letter-spacing: 0.02em;
  color: #213c8c; }

.partner-single__logo {
  margin-top: 50px;
  max-height: 100px; }

.partner-single__text-column {
  width: 50%; }
  @media only screen and (max-width: 599px) {
    .partner-single__text-column {
      width: 100%; } }

.partner-single__image-column {
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  max-width: 710px;
  height: 650px; }
  @media only screen and (max-width: 1199px) {
    .partner-single__image-column {
      height: 550px; } }
  @media only screen and (max-width: 599px) {
    .partner-single__image-column {
      position: relative;
      width: calc(100% + 20px);
      height: 395px;
      margin-top: 30px; } }
  .partner-single__image-column:before {
    display: block;
    position: absolute;
    top: calc(50% - 201px);
    left: -110px;
    width: 262px;
    height: 402px;
    background: url("./../images/group20.svg") no-repeat;
    content: '';
    z-index: -1; }
  .partner-single__image-column img {
    box-shadow: 0px 0px 20px 10px rgba(84, 84, 84, 0.1);
    border-radius: 39px 0px 0px 207px; }

.partner-single__type {
  margin-bottom: 10px; }

.partners-list {
  margin-top: 100px;
  margin-bottom: 130px;
  position: relative; }
  @media only screen and (max-width: 899px) {
    .partners-list {
      margin-top: 80px;
      margin-bottom: 100px; } }
  .partners-list:before {
    display: block;
    position: absolute;
    top: -45px;
    left: 0;
    width: 154px;
    height: 496px;
    background: url("./../images/group35.svg");
    content: '';
    z-index: -1; }
    @media only screen and (max-width: 599px) {
      .partners-list:before {
        display: none; } }
  .partners-list > .wrapper:before {
    position: absolute;
    bottom: 200px;
    right: 0;
    width: 180px;
    height: 262px;
    background: url("./../images/group16.svg") no-repeat;
    opacity: 0.5;
    content: ''; }
    @media only screen and (max-width: 1199px) {
      .partners-list > .wrapper:before {
        display: none; } }

.partners-list__subtitle {
  font-weight: 600;
  font-size: 18px;
  line-height: 20px;
  letter-spacing: 0.02em;
  color: #213c8c;
  margin-top: 10px; }

.partners-list__title {
  font-weight: 700;
  font-size: 64px;
  line-height: 64px; }
  @media only screen and (max-width: 899px) {
    .partners-list__title {
      font-size: 32px;
      line-height: 32px; } }

.partner-category {
  margin-top: 75px;
  display: block; }
  @media only screen and (max-width: 899px) {
    .partner-category {
      margin-top: 50px; } }

.partner-category__name {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  margin-bottom: 32px;
  font-weight: 700;
  font-size: 36px;
  line-height: 40px;
  color: #f59300;
  font-family: "Klavika"; }
  @media only screen and (max-width: 899px) {
    .partner-category__name {
      font-size: 22px;
      line-height: 22px; } }
  .partner-category__name .toggle {
    display: none; }
    @media only screen and (max-width: 899px) {
      .partner-category__name .toggle {
        display: flex; } }
    .partner-category__name .toggle svg {
      margin-left: 10px;
      fill: #213c8c;
      width: 13px;
      height: 13px;
      transform-origin: center;
      transition: all 300ms ease-in-out; }
  .partner-category__name.is-active .toggle svg {
    transform: rotate(180deg); }

.partners-list-item {
  width: calc(25% - 20px);
  display: flex;
  flex-wrap: wrap; }
  @media only screen and (max-width: 1199px) {
    .partners-list-item {
      width: calc(33% - 15px); } }
  @media only screen and (max-width: 899px) {
    .partners-list-item {
      width: calc(50% - 15px); } }
  .partners-list-item:hover .partner-item__logo-wrapper img {
    transform: scale(1.03); }

@media only screen and (max-width: 899px) {
  .partners_list__wrap {
    display: none; } }

.partner-list__items {
  gap: 33px 26px; }

.partner-item__logo-wrapper {
  box-shadow: 0px 1px 10px rgba(33, 59, 139, 0.1);
  border-radius: 5px;
  padding: 20px;
  width: 100%;
  height: 140px;
  display: flex;
  transition: all 300ms ease-in-out;
  background-color: white; }
  @media only screen and (max-width: 899px) {
    .partner-item__logo-wrapper {
      height: 90px; } }
  .partner-item__logo-wrapper img {
    transition: all 300ms ease-in-out; }

.partner-item__logo {
  width: 100%;
  height: 100%;
  max-width: 100%;
  max-height: 80px;
  object-fit: contain;
  object-position: center;
  margin: auto; }

.partner-item__name {
  margin-top: 10px;
  font-weight: 600;
  font-size: 22px;
  line-height: 22px;
  color: #213c8c;
  width: 100%; }
  @media only screen and (max-width: 899px) {
    .partner-item__name {
      font-size: 15px;
      line-height: 15px; } }

/**
 * 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` #f59300-100 color utility.
			 */
.color-orange-100 {
  color: #f59300; }

/**
			 * `background-color` #f59300-100 color utility.
			 */
.background-color-orange-100 {
  background-color: #f59300; }

/**
			 * `color` #fce2c0-100 color utility.
			 */
.color-pale-orange-100 {
  color: #fce2c0; }

/**
			 * `background-color` #fce2c0-100 color utility.
			 */
.background-color-pale-orange-100 {
  background-color: #fce2c0; }

/**
			 * `color` #213c8c-100 color utility.
			 */
.color-blue-100 {
  color: #213c8c; }

/**
			 * `background-color` #213c8c-100 color utility.
			 */
.background-color-blue-100 {
  background-color: #213c8c; }

/**
			 * `color` rgba(33, 60, 140, 0.7)-70 color utility.
			 */
.color-blue-70 {
  color: rgba(33, 60, 140, 0.7); }

/**
			 * `background-color` rgba(33, 60, 140, 0.7)-70 color utility.
			 */
.background-color-blue-70 {
  background-color: rgba(33, 60, 140, 0.7); }

/**
			 * `color` #5e70a6-100 color utility.
			 */
.color-yonder-blue-100 {
  color: #5e70a6; }

/**
			 * `background-color` #5e70a6-100 color utility.
			 */
.background-color-yonder-blue-100 {
  background-color: #5e70a6; }

/**
			 * `color` #b6bad2-100 color utility.
			 */
.color-wisteria-blue-100 {
  color: #b6bad2; }

/**
			 * `background-color` #b6bad2-100 color utility.
			 */
.background-color-wisteria-blue-100 {
  background-color: #b6bad2; }

/**
			 * `color` rgba(182, 186, 210, 0.1)-10 color utility.
			 */
.color-wisteria-blue-10 {
  color: rgba(182, 186, 210, 0.1); }

/**
			 * `background-color` rgba(182, 186, 210, 0.1)-10 color utility.
			 */
.background-color-wisteria-blue-10 {
  background-color: rgba(182, 186, 210, 0.1); }

/**
			 * `color` #e6e6e6-200 color utility.
			 */
.color-grey-200 {
  color: #e6e6e6; }

/**
			 * `background-color` #e6e6e6-200 color utility.
			 */
.background-color-grey-200 {
  background-color: #e6e6e6; }

/**
			 * `color` #545454-100 color utility.
			 */
.color-grey-100 {
  color: #545454; }

/**
			 * `background-color` #545454-100 color utility.
			 */
.background-color-grey-100 {
  background-color: #545454; }

/**
			 * `color` rgba(84, 84, 84, 0.2)-20 color utility.
			 */
.color-grey-20 {
  color: rgba(84, 84, 84, 0.2); }

/**
			 * `background-color` rgba(84, 84, 84, 0.2)-20 color utility.
			 */
.background-color-grey-20 {
  background-color: rgba(84, 84, 84, 0.2); }

/**
			 * `color` rgba(84, 84, 84, 0.1)-10 color utility.
			 */
.color-grey-10 {
  color: rgba(84, 84, 84, 0.1); }

/**
			 * `background-color` rgba(84, 84, 84, 0.1)-10 color utility.
			 */
.background-color-grey-10 {
  background-color: rgba(84, 84, 84, 0.1); }

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

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

/**
			 * `color` rgba(208, 42, 37, 0.1)-10 color utility.
			 */
.color-red-10 {
  color: rgba(208, 42, 37, 0.1); }

/**
			 * `background-color` rgba(208, 42, 37, 0.1)-10 color utility.
			 */
.background-color-red-10 {
  background-color: rgba(208, 42, 37, 0.1); }

/**
 * 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: "Roboto"; }

.text-xs-secundair {
  font-family: "Klavika"; }

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

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

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

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

/**
 * Text size utility classes.
 */
.text-xs-h1 {
  font-size: 96px;
  font-size: 9.6rem;
  line-height: 0.41667em; }

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

.text-xs-h3 {
  font-size: 36px;
  font-size: 3.6rem;
  line-height: 1.11111em; }

.text-xs-h4 {
  font-size: 22px;
  font-size: 2.2rem;
  line-height: 1em; }

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

@media only screen and (max-width: 599px) {
  .text-sm-h1 {
    font-size: 96px;
    font-size: 9.6rem;
    line-height: 0.41667em; }
  .text-sm-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1em; }
  .text-sm-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.11111em; }
  .text-sm-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1em; }
  .text-sm-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em; } }

@media only screen and (min-width: 600px) {
  .text-md-h1 {
    font-size: 96px;
    font-size: 9.6rem;
    line-height: 0.41667em; }
  .text-md-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1em; }
  .text-md-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.11111em; }
  .text-md-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1em; }
  .text-md-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em; } }

@media only screen and (min-width: 900px) {
  .text-lg-h1 {
    font-size: 96px;
    font-size: 9.6rem;
    line-height: 0.41667em; }
  .text-lg-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1em; }
  .text-lg-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.11111em; }
  .text-lg-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1em; }
  .text-lg-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em; } }

@media only screen and (min-width: 1200px) {
  .text-xl-h1 {
    font-size: 96px;
    font-size: 9.6rem;
    line-height: 0.41667em; }
  .text-xl-h2 {
    font-size: 64px;
    font-size: 6.4rem;
    line-height: 1em; }
  .text-xl-h3 {
    font-size: 36px;
    font-size: 3.6rem;
    line-height: 1.11111em; }
  .text-xl-h4 {
    font-size: 22px;
    font-size: 2.2rem;
    line-height: 1em; }
  .text-xl-p {
    font-size: 16px;
    font-size: 1.6rem;
    line-height: 1.625em; } }

/**
 * 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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFpbi5jc3MiLCJzb3VyY2VzIjpbIm1haW4uc2NzcyIsInNldHRpbmdzL19hbGwuc2NzcyIsInNldHRpbmdzL190eXBvZ3JhcGh5LnNjc3MiLCJzZXR0aW5ncy9fY29sb3Iuc2NzcyIsInNldHRpbmdzL196LWluZGV4LnNjc3MiLCJzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9ub3JtYWxpemUuY3NzL25vcm1hbGl6ZS5jc3MiLCIuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fY29yZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYW5pbWF0ZS5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fYXV0b2hlaWdodC5zY3NzIiwiLi4vLi4vYnVpbGQvbm9kZV9tb2R1bGVzL293bC5jYXJvdXNlbC9zcmMvc2Nzcy9fbGF6eWxvYWQuc2NzcyIsIi4uLy4uL2J1aWxkL25vZGVfbW9kdWxlcy9vd2wuY2Fyb3VzZWwvc3JjL3Njc3MvX3ZpZGVvLnNjc3MiLCJ0b29scy9fYWxsLnNjc3MiLCJ0b29scy9fZnVuY3Rpb25zLnNjc3MiLCJ0b29scy9fbWFnbmlmaWMtcG9wdXAuc2NzcyIsInRvb2xzL19taXhpbnMuc2NzcyIsImdlbmVyaWMvX2Jhc2Uuc2NzcyIsImdlbmVyaWMvX3Jlc2V0LnNjc3MiLCJvYmplY3RzL19idXR0b25zLnNjc3MiLCJvYmplY3RzL19jb250YWluZXIuc2NzcyIsIm9iamVjdHMvX2NvbnRlbnQtY29uc3RyYWludC5zY3NzIiwib2JqZWN0cy9fZmxleC5zY3NzIiwib2JqZWN0cy9fZm9ybS5zY3NzIiwib2JqZWN0cy9faGVhZGluZ3Muc2NzcyIsIm9iamVjdHMvX2xhenktbG9hZC5zY3NzIiwib2JqZWN0cy9fbGlua3Muc2NzcyIsIm9iamVjdHMvX293bC1jYXJvdXNlbC5zY3NzIiwib2JqZWN0cy9fcGFnaW5hdGlvbi5zY3NzIiwib2JqZWN0cy9fd3JhcHBlci5zY3NzIiwiY29tcG9uZW50cy9fY21zLW91dHB1dC5zY3NzIiwiY29tcG9uZW50cy9fY29udGFjdC1mb3JtLnNjc3MiLCJjb21wb25lbnRzL19jb250ZW50LWhlYWRlci5zY3NzIiwiY29tcG9uZW50cy9fY29udGVudC1kZWZhdWx0LnNjc3MiLCJjb21wb25lbnRzL19mYXEuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci1jdGEuc2NzcyIsImNvbXBvbmVudHMvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9faGVhZGVyLnNjc3MiLCJjb21wb25lbnRzL19pbnRyb2R1Y3Rpb24uc2NzcyIsImNvbXBvbmVudHMvX2xvZ29zLnNjc3MiLCJjb21wb25lbnRzL19wb3B1cC5zY3NzIiwiY29tcG9uZW50cy9fbmF2aWdhdGlvbi1tb2JpbGUuc2NzcyIsImNvbXBvbmVudHMvX25ld3MtbGF0ZXN0LWl0ZW0uc2NzcyIsImNvbXBvbmVudHMvX25ld3MtbGF0ZXN0LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLWxpc3QtaXRlbS5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1saXN0LnNjc3MiLCJjb21wb25lbnRzL19uZXdzLXNlbGVjdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fbmV3cy1zaW5nbGUuc2NzcyIsImNvbXBvbmVudHMvX3RlYW0uc2NzcyIsImNvbXBvbmVudHMvX3RlYXNlcnMuc2NzcyIsImNvbXBvbmVudHMvX3BhcnRuZXItc2luZ2xlLnNjc3MiLCJjb21wb25lbnRzL19wYXJ0bmVyLWxpc3Quc2NzcyIsInV0aWxpdGllcy9fY29sb3Iuc2NzcyIsInV0aWxpdGllcy9faGVscGVycy5zY3NzIiwidXRpbGl0aWVzL19vYmplY3QtZml0LnNjc3MiLCJ1dGlsaXRpZXMvX3Bvc2l0aW9uLnNjc3MiLCJ1dGlsaXRpZXMvX3RleHQuc2NzcyIsInV0aWxpdGllcy9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCJ1dGlsaXRpZXMvX3otaW5kZXguc2NzcyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU2V0dGluZ3MuXHJcbiAqL1xyXG5AaW1wb3J0ICdzZXR0aW5ncy9hbGwnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBWZW5kb3IuXHJcbiAqL1xyXG5AaW1wb3J0ICcuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvbm9ybWFsaXplLmNzcy9ub3JtYWxpemUnO1xyXG5AaW1wb3J0ICcuLi8uLi9idWlsZC9ub2RlX21vZHVsZXMvb3dsLmNhcm91c2VsL3NyYy9zY3NzL293bC5jYXJvdXNlbCc7XHJcblxyXG4vKipcclxuICogVG9vbHMuXHJcbiAqL1xyXG5AaW1wb3J0ICd0b29scy9hbGwnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBFbGVtZW50cy5cclxuICovXHJcblxyXG5cclxuLyoqXHJcbiAqIEdlbmVyYWwuXHJcbiAqL1xyXG5AaW1wb3J0ICdnZW5lcmljL2Jhc2UnO1xyXG5AaW1wb3J0ICdnZW5lcmljL3Jlc2V0JztcclxuXHJcblxyXG4vKipcclxuICogT2JqZWN0cy5cclxuICovXHJcbkBpbXBvcnQgJ29iamVjdHMvYnV0dG9ucyc7XHJcbkBpbXBvcnQgJ29iamVjdHMvY29udGFpbmVyJztcclxuQGltcG9ydCAnb2JqZWN0cy9jb250ZW50LWNvbnN0cmFpbnQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2ZsZXgnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2Zvcm0nO1xyXG5AaW1wb3J0ICdvYmplY3RzL2hlYWRpbmdzJztcclxuQGltcG9ydCAnb2JqZWN0cy9sYXp5LWxvYWQnO1xyXG5AaW1wb3J0ICdvYmplY3RzL2xpbmtzJztcclxuQGltcG9ydCAnb2JqZWN0cy9vd2wtY2Fyb3VzZWwnO1xyXG5AaW1wb3J0ICdvYmplY3RzL3BhZ2luYXRpb24nO1xyXG5AaW1wb3J0ICdvYmplY3RzL3dyYXBwZXInO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBDb21wb25lbnRzLlxyXG4gKi9cclxuQGltcG9ydCAnY29tcG9uZW50cy9jbXMtb3V0cHV0JztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250YWN0LWZvcm0nO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2NvbnRlbnQtaGVhZGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9jb250ZW50LWRlZmF1bHQnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ZhcSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyLWN0YSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZm9vdGVyJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9oZWFkZXInO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL2ludHJvZHVjdGlvbic7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbG9nb3MnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3BvcHVwJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uYXZpZ2F0aW9uLW1vYmlsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1sYXRlc3QtaXRlbSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbmV3cy1sYXRlc3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL25ld3MtbGlzdC1pdGVtJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLWxpc3QnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL25ld3Mtc2VsZWN0aW9uJztcclxuQGltcG9ydCAnY29tcG9uZW50cy9uZXdzLXNpbmdsZSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhbSc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGVhc2Vycyc7XHJcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFydG5lci1zaW5nbGUnO1xyXG5AaW1wb3J0ICdjb21wb25lbnRzL3BhcnRuZXItbGlzdCc7XHJcblxyXG5cclxuLyoqXHJcbiAqIFV0aWxpdGllcy5cclxuICovXHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9jb2xvcic7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy9oZWxwZXJzJztcclxuQGltcG9ydCAndXRpbGl0aWVzL29iamVjdC1maXQnO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvcG9zaXRpb24nO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvdGV4dCc7XHJcbkBpbXBvcnQgJ3V0aWxpdGllcy92ZXJ0aWNhbC1yaHl0aG0nO1xyXG5AaW1wb3J0ICd1dGlsaXRpZXMvei1pbmRleCc7IiwiLyoqXHJcbiAqIFNldHRpbmdzLlxyXG4gKi9cclxuIFxyXG5AaW1wb3J0ICd0eXBvZ3JhcGh5JztcclxuQGltcG9ydCAnY29sb3InO1xyXG5AaW1wb3J0ICd6LWluZGV4JztcclxuQGltcG9ydCAnZGVmaW5pdGlvbnMnO1xyXG4iLCIvKipcclxuICogRm9udCBmYW1pbHkgbWFwLlxyXG4gKi9cclxuXHJcbiRmb250LWZhbWlseTogKFxyXG5cdCdkZWZhdWx0JzogJ1JvYm90bycsXHJcblx0J3NlY3VuZGFpcic6ICdLbGF2aWthJ1xyXG4pO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBGb250IGZhY2UuXHJcbiAqL1xyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xyXG4gIHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvaTJvL2Fzc2V0cy9mb250cy9LbGF2aWthLUxpZ2h0Lm90ZicpIGZvcm1hdCgnT3BlblR5cGUnKTtcclxuICBmb250LXdlaWdodDogMzAwO1xyXG59XHJcbkBmb250LWZhY2Uge1xyXG4gIGZvbnQtZmFtaWx5OiAnS2xhdmlrYSc7XHJcbiAgc3JjOiB1cmwoJy93cC1jb250ZW50L3RoZW1lcy9pMm8vYXNzZXRzL2ZvbnRzL0tsYXZpa2EtUmVndWxhci5vdGYnKSBmb3JtYXQoJ09wZW5UeXBlJyk7XHJcbiAgZm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xyXG4gIHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvaTJvL2Fzc2V0cy9mb250cy9LbGF2aWthLU1lZGl1bS5vdGYnKSBmb3JtYXQoJ09wZW5UeXBlJyk7XHJcbiAgZm9udC13ZWlnaHQ6IDUwMDtcclxufVxyXG5AZm9udC1mYWNlIHtcclxuICBmb250LWZhbWlseTogJ0tsYXZpa2EnO1xyXG4gIHNyYzogdXJsKCcvd3AtY29udGVudC90aGVtZXMvaTJvL2Fzc2V0cy9mb250cy9LbGF2aWthLUJvbGQub3RmJykgZm9ybWF0KCdPcGVuVHlwZScpO1xyXG4gIGZvbnQtd2VpZ2h0OiA3MDA7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogRm9udCBzaXplIG1hcC5cclxuICovXHJcblxyXG4kZm9udC1zaXplOiAoXHJcblx0J2gxJzogOTZweCxcclxuXHQnaDInOiA2NHB4LFxyXG5cdCdoMyc6IDM2cHgsXHJcblx0J2g0JzogMjJweCxcclxuXHQncCc6IDE2cHhcclxuKTtcclxuXHJcblxyXG4vKipcclxuICogTGluZSBoZWlnaHQgbWFwLlxyXG4gKi9cclxuXHJcbiRsaW5lLWhlaWdodDogKFxyXG5cdCdoMSc6IDQwcHgsXHJcblx0J2gyJzogNjRweCxcclxuXHQnaDMnOiA0MHB4LFxyXG5cdCdoNCc6IDIycHgsXHJcblx0J3AnOiAyNnB4XHJcbik7XHJcbiIsIi8vIENvbG9yIG1hcC5cclxuJGNvbG9yczogKFxyXG5cdCdibGFjayc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDAsIDAlLCAwJSwgMSlcclxuXHQpLFxyXG5cdCd3aGl0ZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDAsIDAlLCAxMDAlLCAxKVxyXG5cdCksXHJcblx0J29yYW5nZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDM2LCAxMDAlLCA0OCUsIDEpLCAvLyBGMzkyMDBcclxuXHQpLFxyXG5cdCdwYWxlLW9yYW5nZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDM0LCA5MSUsIDg3JSwgMSksIC8vIEZDRTJCRlxyXG5cdCksXHJcblx0J2JsdWUnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgyMjUsIDYyJSwgMzQlLCAxKSwgLy8gMjEzQjhCXHJcblx0XHQnNzAnOiBoc2xhKDIyNSwgNjIlLCAzNCUsIDAuNykgLy8gMjEzQjhCXHJcblx0KSxcclxuXHQneW9uZGVyLWJsdWUnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgyMjUsIDI5JSwgNTElLCAxKSwgLy8gNUM2RUE2XHJcblx0KSxcclxuXHQnd2lzdGVyaWEtYmx1ZSc6IChcclxuXHRcdCcxMDAnOiBoc2xhKDIzMSwgMjQlLCA3NyUsIDEpLCAvLyBCNkJBRDJcclxuXHRcdCcxMCc6IGhzbGEoMjMxLCAyNCUsIDc3JSwgMC4xKSAvLyBCNkJBRDJcclxuXHQpLFxyXG5cdCdncmV5JzogKFxyXG5cdFx0JzIwMCc6IGhzbGEoMCwgMCUsIDkwJSwgMSksIC8vIEU1RTVFNVxyXG5cdFx0JzEwMCc6IGhzbGEoMCwgMCUsIDMyLjklLCAxKSwgLy8gNTQ1NDU0XHJcblx0XHQnMjAnOiBoc2xhKDAsIDAlLCAzMi45JSwgMC4yKSwgLy8gNTQ1NDU0XHJcblx0XHQnMTAnOiBoc2xhKDAsIDAlLCAzMi45JSwgMC4xKSAvLyA1NDU0NTRcclxuXHQpLFxyXG5cdCdyZWQnOiAoXHJcblx0XHQnMTAwJzogaHNsYSgyLCA3MCwgNDglLCAxKSwgLy8gRDAyQzI1XHJcblx0XHQnMTAnOiBoc2xhKDIsIDcwLCA0OCUsIDAuMSkgLy8gRDAyQzI1XHJcblx0KVxyXG4pO1xyXG5cclxuLy8gQ29sb3Igc2hvcnRoYW5kIHZhcmlhYmxlcy5cclxuJGJsYWNrLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibGFjaycpLCAnMTAwJyk7XHJcbiR3aGl0ZS0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnd2hpdGUnKSwgJzEwMCcpO1xyXG4kb3JhbmdlLTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdvcmFuZ2UnKSwgJzEwMCcpO1xyXG4kcGFsZS1vcmFuZ2UtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3BhbGUtb3JhbmdlJyksICcxMDAnKTtcclxuJGJsdWUtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ2JsdWUnKSwgJzEwMCcpO1xyXG4kYmx1ZS03MDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdibHVlJyksICc3MCcpO1xyXG4keW9uZGVyLWJsdWUtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3lvbmRlci1ibHVlJyksICcxMDAnKTtcclxuJHdpc3RlcmlhLWJsdWUtMTAwOiBtYXAtZ2V0KG1hcC1nZXQoJGNvbG9ycywgJ3dpc3RlcmlhLWJsdWUnKSwgJzEwMCcpO1xyXG4kd2lzdGVyaWEtYmx1ZS0xMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICd3aXN0ZXJpYS1ibHVlJyksICcxMCcpO1xyXG4kZ3JleS0yMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMjAwJyk7XHJcbiRncmV5LTEwMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdncmV5JyksICcxMDAnKTtcclxuJGdyZXktMjA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMjAnKTtcclxuJGdyZXktMTA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAnZ3JleScpLCAnMTAnKTtcclxuJHJlZC0xMDA6IG1hcC1nZXQobWFwLWdldCgkY29sb3JzLCAncmVkJyksICcxMDAnKTtcclxuJHJlZC0xMDogbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICdyZWQnKSwgJzEwJyk7XHJcblxyXG4vLyBQcmltYXJ5IGNvbG9yLlxyXG4kY29sb3ItcHJpbWFyeTogJGJsdWUtMTAwOyIsIi8vIEEgbGltaXRlZCBhcnJheSBvZiB2YWx1ZXMgZm9yIHRoZSBgei1pbmRleGAgcHJvcGVydHkgdG8gcHJldmVudFxyXG4vLyBFeGFnZ2VyYXRlZCBhbW91bnRzIGFuZCB1Z2x5IGhhY2tzLlxyXG5cclxuJHotaW5kZXg6IChcclxuXHQnMCc6ICAwLFxyXG5cdCcxJzogIDEwLFxyXG5cdCcyJzogIDIwLFxyXG5cdCczJzogIDMwLFxyXG5cdCc0JzogIDQwLFxyXG5cdCc1JzogIDUwLFxyXG5cdCc2JzogIDYwLFxyXG5cdCc3JzogIDcwLFxyXG5cdCc4JzogIDgwLFxyXG5cdCc5JzogIDkwLFxyXG5cdCcxMCc6IDEwMFxyXG4pO1xyXG4iLCIvKipcclxuICogR3JpZC5cclxuICovXHJcblxyXG4vLyBHcmlkIHdpZHRoLlxyXG4vLyBNYXhpbXVtIGNvbnRhaW5lciB3aWR0aC5cclxuJGdyaWQtd2lkdGg6IDEwMjRweDtcclxuXHJcbi8vIEdyaWQgY29sdW1ucy5cclxuLy8gQW1vdW50IG9mIGdyaWQgY29sdW1ucyB0byBjYWxjdWxhdGUgYSBjb2x1bW4gd2lkdGggd2l0aC5cclxuJGdyaWQtY29sdW1uczogMTI7XHJcblxyXG4vLyBHcmlkIGdhcC5cclxuLy8gU3BhY2UgYmV0d2VlbiBncmlkIGNvbHVtbnMsIGF1dG9tYXRlZC5cclxuJGdyaWQtZ2FwOiAyMHB4O1xyXG5cclxuXHJcbi8qKlxyXG4gKiBBc3NldHMuXHJcbiAqL1xyXG5cclxuLy8gSW1hZ2UgcGF0aC5cclxuJGltYWdlLXBhdGg6ICcuLi9pbWFnZXMvJztcclxuXHJcblxyXG4vKipcclxuICogQm9keS5cclxuICovXHJcblxyXG4vLyBCb2R5IGJhY2tncm91bmQgY29sb3IuXHJcbiRib2R5LWJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG4vLyBCb2R5IGNvbG9yLlxyXG4kYm9keS1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcbi8vIEJvZHkgZm9udCBmYW1pbHkuXHJcbiRib2R5LWZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ2RlZmF1bHQnKTtcclxuXHJcbi8vIEJvZHkgdGV4dC5cclxuJGJvZHktdGV4dDogJ3AnO1xyXG5cclxuXHJcbi8qKlxyXG4gKiBPdGhlci5cclxuICovXHJcblxyXG4vLyBMaW5rIGNvbG9yLlxyXG4kbGluay1jb2xvcjogJGJsYWNrLTEwMDtcclxuXHJcbi8vIFNlbGVjdCBjb2xvci5cclxuKjo6c2VsZWN0aW9uIHtcclxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcbiAgY29sb3I6ICR3aGl0ZS0xMDA7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBSZXNwb25zaXZlLlxyXG4gKi9cclxuXHJcbi8vIEdyaWQgYnJlYWtwb2ludCBhbGlhcy5cclxuJGJyZWFrcG9pbnRzOiAoXHJcblx0eHM6IG51bGwsXHJcblx0c206ICdwaG9uZScsXHJcblx0bWQ6ICd0YWJsZXQtcG9ydHJhaXQtdXAnLFxyXG5cdGxnOiAndGFibGV0LWxhbmRzY2FwZS11cCcsXHJcblx0eGw6ICdkZXNrdG9wJ1xyXG4pO1xyXG4iLCIvKiEgbm9ybWFsaXplLmNzcyB2OC4wLjEgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbi8qIERvY3VtZW50XG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAqIDIuIFByZXZlbnQgYWRqdXN0bWVudHMgb2YgZm9udCBzaXplIGFmdGVyIG9yaWVudGF0aW9uIGNoYW5nZXMgaW4gaU9TLlxuICovXG5cbmh0bWwge1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbn1cblxuLyogU2VjdGlvbnNcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBtYXJnaW4gaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbmJvZHkge1xuICBtYXJnaW46IDA7XG59XG5cbi8qKlxuICogUmVuZGVyIHRoZSBgbWFpbmAgZWxlbWVudCBjb25zaXN0ZW50bHkgaW4gSUUuXG4gKi9cblxubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gKi9cblxuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDtcbn1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gKi9cblxuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICovXG5cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xufVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gKi9cblxuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKipcbiAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBDaHJvbWUgNTctXG4gKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICovXG5cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICovXG5cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZGVyO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxuY29kZSxcbmtiZCxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xufVxuXG4vKipcbiAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICogYWxsIGJyb3dzZXJzLlxuICovXG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG59XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTtcbn1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07XG59XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qKlxuICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC5cbiAqL1xuXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG59XG5cbi8qIEZvcm1zXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzLlxuICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICovXG5cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0OyAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTsgLyogMSAqL1xuICBtYXJnaW46IDA7IC8qIDIgKi9cbn1cblxuLyoqXG4gKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAqIDEuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gKi9cblxuYnV0dG9uLFxuaW5wdXQgeyAvKiAxICovXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICogMS4gUmVtb3ZlIHRoZSBpbmhlcml0YW5jZSBvZiB0ZXh0IHRyYW5zZm9ybSBpbiBGaXJlZm94LlxuICovXG5cbmJ1dHRvbixcbnNlbGVjdCB7IC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAqL1xuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xufVxuXG4vKipcbiAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gKi9cblxuYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG5bdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuW3R5cGU9XCJzdWJtaXRcIl06Oi1tb3otZm9jdXMtaW5uZXIge1xuICBib3JkZXItc3R5bGU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG59XG5cbi8qKlxuICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICovXG5cbmJ1dHRvbjotbW96LWZvY3VzcmluZyxcblt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcblt0eXBlPVwic3VibWl0XCJdOi1tb3otZm9jdXNyaW5nIHtcbiAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xufVxuXG4vKipcbiAqIENvcnJlY3QgdGhlIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAqL1xuXG5maWVsZHNldCB7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjc1ZW0gMC42MjVlbTtcbn1cblxuLyoqXG4gKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gKi9cblxubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgcGFkZGluZzogMDsgLyogMyAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAqL1xuXG5wcm9ncmVzcyB7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLyoqXG4gKiBSZW1vdmUgdGhlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDEwKy5cbiAqL1xuXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvO1xufVxuXG4vKipcbiAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLlxuICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLlxuICovXG5cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICBwYWRkaW5nOiAwOyAvKiAyICovXG59XG5cbi8qKlxuICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICovXG5cblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87XG59XG5cbi8qKlxuICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAqL1xuXG5bdHlwZT1cInNlYXJjaFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvKiAxICovXG4gIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG59XG5cbi8qKlxuICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICovXG5cblt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xufVxuXG4vKipcbiAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gKi9cblxuOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAxICovXG4gIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbn1cblxuLyogSW50ZXJhY3RpdmVcbiAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbi8qXG4gKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSAxMCssIGFuZCBGaXJlZm94LlxuICovXG5cbmRldGFpbHMge1xuICBkaXNwbGF5OiBibG9jaztcbn1cblxuLypcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGFsbCBicm93c2Vycy5cbiAqL1xuXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtO1xufVxuXG4vKiBNaXNjXG4gICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4vKipcbiAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDEwKy5cbiAqL1xuXG50ZW1wbGF0ZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG59XG5cbi8qKlxuICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAuXG4gKi9cblxuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lO1xufVxuIiwiQGltcG9ydCAnY29yZSc7XG5AaW1wb3J0ICdhbmltYXRlJztcbkBpbXBvcnQgJ2F1dG9oZWlnaHQnO1xuQGltcG9ydCAnbGF6eWxvYWQnO1xuQGltcG9ydCAndmlkZW8nO1xuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBDb3JlXG4gKi9cbi5vd2wtY2Fyb3VzZWwge1xuXHRkaXNwbGF5OiBub25lO1xuXHR3aWR0aDogMTAwJTtcblx0LXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcblx0LyogcG9zaXRpb24gcmVsYXRpdmUgYW5kIHotaW5kZXggZml4IHdlYmtpdCByZW5kZXJpbmcgZm9udHMgaXNzdWUgKi9cblx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHR6LWluZGV4OiAxO1xuXG5cdC5vd2wtc3RhZ2Uge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHQtbXMtdG91Y2gtYWN0aW9uOiBwYW4tWTtcblx0XHR0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblx0XHQtbW96LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgLyogZml4IGZpcmVmb3ggYW5pbWF0aW9uIGdsaXRjaCAqL1xuXHR9XG5cblx0Lm93bC1zdGFnZTphZnRlciB7XG5cdFx0Y29udGVudDogXCIuXCI7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdFx0Y2xlYXI6IGJvdGg7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdGxpbmUtaGVpZ2h0OiAwO1xuXHRcdGhlaWdodDogMDtcblx0fVxuXG5cdC5vd2wtc3RhZ2Utb3V0ZXIge1xuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xuXHRcdC8qIGZpeCBmb3IgZmxhc2hpbmcgYmFja2dyb3VuZCAqL1xuXHRcdC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwcHgsIDBweCwgMHB4KTtcblx0fVxuXG5cdC5vd2wtd3JhcHBlcixcblx0Lm93bC1pdGVte1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tb3otYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdC1tcy1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cdFx0LXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0XHQtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwwLDApO1xuXHRcdC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsMCwwKTtcblx0fVxuXG5cdC5vd2wtaXRlbSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdG1pbi1oZWlnaHQ6IDFweDtcblx0XHRmbG9hdDogbGVmdDtcblx0XHQtd2Via2l0LWJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcblx0XHQtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuXHRcdC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcblx0fVxuXHQub3dsLWl0ZW0gaW1nIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0XHR3aWR0aDogMTAwJTtcblx0fVxuXG5cdC5vd2wtbmF2LmRpc2FibGVkLFxuXHQub3dsLWRvdHMuZGlzYWJsZWQge1xuXHRcdGRpc3BsYXk6IG5vbmU7XG5cdH1cblxuXHQub3dsLW5hdiAub3dsLXByZXYsXG5cdC5vd2wtbmF2IC5vd2wtbmV4dCxcblx0Lm93bC1kb3Qge1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHQtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1raHRtbC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdC5vd2wtbmF2IGJ1dHRvbi5vd2wtcHJldixcblx0Lm93bC1uYXYgYnV0dG9uLm93bC1uZXh0LFxuXHRidXR0b24ub3dsLWRvdCB7XG5cdFx0YmFja2dyb3VuZDogbm9uZTtcblx0XHRjb2xvcjogaW5oZXJpdDtcblx0XHRib3JkZXI6IG5vbmU7XG5cdFx0cGFkZGluZzowIWltcG9ydGFudDtcblx0XHRmb250OiBpbmhlcml0O1xuXHR9XG5cblx0Ji5vd2wtbG9hZGVkIHtcblx0XHRkaXNwbGF5OiBibG9jaztcblx0fVxuXG5cdCYub3dsLWxvYWRpbmcge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0ZGlzcGxheTogYmxvY2s7XG5cdH1cblxuXHQmLm93bC1oaWRkZW4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdH1cblxuXHQmLm93bC1yZWZyZXNoIC5vd2wtaXRlbSB7XG5cdFx0dmlzaWJpbGl0eTogaGlkZGVuO1xuXHR9XG5cblx0Ji5vd2wtZHJhZyAub3dsLWl0ZW0ge1xuXHRcdHRvdWNoLWFjdGlvbjogcGFuLXk7XG5cdFx0LXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcblx0XHQtbW96LXVzZXItc2VsZWN0OiBub25lO1xuXHRcdC1tcy11c2VyLXNlbGVjdDogbm9uZTtcblx0XHR1c2VyLXNlbGVjdDogbm9uZTtcblx0fVxuXG5cdCYub3dsLWdyYWIge1xuXHRcdGN1cnNvcjogbW92ZTtcblx0XHRjdXJzb3I6IGdyYWI7XG5cdH1cblxuXHQmLm93bC1ydGwge1xuXHRcdGRpcmVjdGlvbjogcnRsO1xuXHR9XG5cblx0Ji5vd2wtcnRsIC5vd2wtaXRlbSB7XG5cdFx0ZmxvYXQ6IHJpZ2h0O1xuXHR9XG59XG5cbi8qIE5vIEpzICovXG4ubm8tanMgLm93bC1jYXJvdXNlbCB7XG5cdGRpc3BsYXk6IGJsb2NrO1xufVxuIiwiLypcbiAqICBPd2wgQ2Fyb3VzZWwgLSBBbmltYXRlIFBsdWdpblxuICovXG4ub3dsLWNhcm91c2Vse1xuXHQuYW5pbWF0ZWQge1xuXHRcdGFuaW1hdGlvbi1kdXJhdGlvbjogMTAwMG1zO1xuXHRcdGFuaW1hdGlvbi1maWxsLW1vZGU6IGJvdGg7XG5cdH1cblx0Lm93bC1hbmltYXRlZC1pbiB7XG5cdFx0ei1pbmRleDogMDtcblx0fVxuXHQub3dsLWFuaW1hdGVkLW91dCB7XG5cdFx0ei1pbmRleDogMTtcblx0fVxuXHQuZmFkZU91dCB7XG5cdFx0YW5pbWF0aW9uLW5hbWU6IGZhZGVPdXQ7XG5cdH1cbn1cblxuQGtleWZyYW1lcyBmYWRlT3V0IHtcblx0MCUge1xuXHRcdG9wYWNpdHk6IDE7XG5cdH1cblxuXHQxMDAlIHtcblx0XHRvcGFjaXR5OiAwO1xuXHR9XG59XG4iLCIvKlxuICogXHRPd2wgQ2Fyb3VzZWwgLSBBdXRvIEhlaWdodCBQbHVnaW5cbiAqL1xuXG4ub3dsLWhlaWdodCB7XG5cdHRyYW5zaXRpb246IGhlaWdodCA1MDBtcyBlYXNlLWluLW91dDtcbn1cbiIsIi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIExhenkgTG9hZCBQbHVnaW5cbiAqL1xuXG4ub3dsLWNhcm91c2VsIHtcblx0Lm93bC1pdGVtIHtcblx0XHQub3dsLWxhenkge1xuXHRcdFx0XHRvcGFjaXR5OiAwO1xuXHRcdFx0XHR0cmFuc2l0aW9uOiBvcGFjaXR5IDQwMG1zIGVhc2U7XG5cdFx0fVxuXG5cdFx0LyoqXG5cdFx0XHRUaGlzIGlzIGludHJvZHVjZWQgZHVlIHRvIGEgYnVnIGluIElFMTEgd2hlcmUgbGF6eSBsb2FkaW5nIGNvbWJpbmVkIHdpdGggYXV0b2hlaWdodCBwbHVnaW4gY2F1c2VzIGEgd3Jvbmdcblx0XHRcdGNhbGN1bGF0aW9uIG9mIHRoZSBoZWlnaHQgb2YgdGhlIG93bC1pdGVtIHRoYXQgYnJlYWtzIHBhZ2UgbGF5b3V0c1xuXHRcdCAqL1xuXHRcdC5vd2wtbGF6eVtzcmNePVwiXCJdLCAub3dsLWxhenk6bm90KFtzcmNdKSB7XG5cdFx0XHRtYXgtaGVpZ2h0OiAwO1xuXHRcdH1cblxuXHRcdGltZy5vd2wtbGF6eSB7XG5cdFx0XHR0cmFuc2Zvcm0tc3R5bGU6IHByZXNlcnZlLTNkO1xuXHRcdH1cblx0fVxufVxuXG4iLCIkb3dsLWltYWdlLXBhdGg6IFwiXCIgIWRlZmF1bHQ7XG5cbi8qXG4gKiBcdE93bCBDYXJvdXNlbCAtIFZpZGVvIFBsdWdpblxuICovXG5cbi5vd2wtY2Fyb3VzZWx7XG5cdC5vd2wtdmlkZW8td3JhcHBlciB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdGhlaWdodDogMTAwJTtcblx0XHRiYWNrZ3JvdW5kOiAjMDAwO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb24ge1xuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcblx0XHRoZWlnaHQ6IDgwcHg7XG5cdFx0d2lkdGg6IDgwcHg7XG5cdFx0bGVmdDogNTAlO1xuXHRcdHRvcDogNTAlO1xuXHRcdG1hcmdpbi1sZWZ0OiAtNDBweDtcblx0XHRtYXJnaW4tdG9wOiAtNDBweDtcblx0XHRiYWNrZ3JvdW5kOiB1cmwoXCIjeyRvd2wtaW1hZ2UtcGF0aH1vd2wudmlkZW8ucGxheS5wbmdcIikgbm8tcmVwZWF0O1xuXHRcdGN1cnNvcjogcG9pbnRlcjtcblx0XHR6LWluZGV4OiAxO1xuXHRcdC13ZWJraXQtYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXHRcdHRyYW5zaXRpb246IHRyYW5zZm9ybSAxMDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5LWljb246aG92ZXIge1xuXHRcdHRyYW5zZm9ybTogc2NhbGUoMS4zLCAxLjMpO1xuXHR9XG5cblx0Lm93bC12aWRlby1wbGF5aW5nIC5vd2wtdmlkZW8tdG4sXG5cdC5vd2wtdmlkZW8tcGxheWluZyAub3dsLXZpZGVvLXBsYXktaWNvbiB7XG5cdFx0ZGlzcGxheTogbm9uZTtcblx0fVxuXG5cdC5vd2wtdmlkZW8tdG4ge1xuXHRcdG9wYWNpdHk6IDA7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG5cdFx0YmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcblx0XHRiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG5cdFx0dHJhbnNpdGlvbjogb3BhY2l0eSA0MDBtcyBlYXNlO1xuXHR9XG5cblx0Lm93bC12aWRlby1mcmFtZSB7XG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xuXHRcdHotaW5kZXg6IDE7XG5cdFx0aGVpZ2h0OiAxMDAlO1xuXHRcdHdpZHRoOiAxMDAlO1xuXHR9XG59XG4iLCIvKipcclxuICogVG9vbHMuXHJcbiAqL1xyXG5cclxuQGltcG9ydCAnZnVuY3Rpb25zJztcclxuQGltcG9ydCAnbWFnbmlmaWMtcG9wdXAnO1xyXG5AaW1wb3J0ICdtaXhpbnMnO1xyXG4iLCIvKipcclxuICogVW5pY29kZS5cclxuICpcclxuICogUHJlc2VydmUgZXNjYXBlZCB1bmljb2RlIHN0cmluZy5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRzdHJpbmcgLSBBbiB1bmljb2RlIHN0cmluZy5cclxuICogQHJldHVybiB7U3RyaW5nfSBBIHByZXNlcnZlZCBlc2NhcGVkIHVuaWNvZGUgc3RyaW5nXHJcbiAqL1xyXG4gXHJcbi8vIHNhc3MtbGludDpkaXNhYmxlIHF1b3Rlc1xyXG5AZnVuY3Rpb24gdW5pY29kZSgkc3RyaW5nKSB7XHJcblx0QHJldHVybiB1bnF1b3RlKFwiXFwnXCIpICsgdW5xdW90ZShzdHItaW5zZXJ0KCRzdHJpbmcsICdcXFxcJywgMSkpICsgdW5xdW90ZShcIlxcJ1wiKTtcclxufVxyXG4vLyBzYXNzLWxpbnQ6ZW5hYmxlIHF1b3Rlc1xyXG5cclxuXHJcbi8qKlxyXG4gKiBSRU0uXHJcbiAqXHJcbiAqIENvbnZlcnQgcGl4ZWwgdW5pdHMgdG8gUkVNIHVuaXRzLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHBpeGVscyAtIFBpeGVsIHZhbHVlLlxyXG4gKiBAcmV0dXJuIHsqfSAtIEEgY29udmVydGVkIGByZW1gIHVuaXQuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIHJlbSgkcGl4ZWxzKSB7XHJcblx0QGlmICh1bml0bGVzcygkcGl4ZWxzKSkge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JHBpeGVsc31gIHNob3VsZCBiZSBhIGBweGAgdW5pdC4nO1xyXG5cdH1cclxuXHRAcmV0dXJuICgoJHBpeGVscyAvIDEwcHgpICogMXJlbSk7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQ29sdW1uLlxyXG4gKlxyXG4gKiBDYWxjdWxhdGUgZ2l2ZW4gY29sdW1uIHdpZHRoLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbiAtIFRoZSBhbW91bnQgb2YgY29sdW1ucyB0byBzcGFuLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBUaGUgYW1vdW50IG9mIGNvbHVtbnMgdGhhdCBjYW4gYmUgc3Bhbm5lZC5cclxuICogQHJldHVybiB7U3RyaW5nfSAtIFBlcmNlbnRhZ2UgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbHVtbigkY29sdW1uLCAkY29sdW1uczogJGdyaWQtY29sdW1ucykge1xyXG5cdEByZXR1cm4gKCRjb2x1bW4gICogMTAwJSAvICRjb2x1bW5zKTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb2xvci5cclxuICpcclxuICogR2V0IGEgY29sb3IgdmFsdWUgZnJvbSB0d28gbGV2ZWxzIGRlZXAgaW4gdGhlIGAkY29sb3JgIG1hcC5cclxuICogQHBhcmFtIHskc3RyaW5nfSAka2V5IC0gS2V5IG9mIHRoZSBjb2xvciB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgb2YgdGhlIGtleSB0byBnZXQgZnJvbSB0aGUgbWFwLlxyXG4gKiBAcmV0dXJuIHsqfSBBIEhTTEEgY29sb3IgdmFsdWUuXHJcbiAqL1xyXG5cclxuQGZ1bmN0aW9uIGNvbG9yKCRrZXksICR2YWx1ZSkge1xyXG5cdEByZXR1cm4gbWFwLWdldChtYXAtZ2V0KCRjb2xvcnMsICRrZXkpLCAkdmFsdWUpO1xyXG59XHJcbiIsIi8vIHNhc3MtbGludDpkaXNhYmxlIGluZGVudGF0aW9uIG5vLXF1YWxpZnlpbmctZWxlbWVudHMgc2hvcnRoYW5kLXZhbHVlcyBzaW5nbGUtbGluZS1wZXItc2VsZWN0b3IgY2xhc3MtbmFtZS1mb3JtYXQgbm8taWRzIGlkLW5hbWUtZm9ybWF0IHByb3BlcnR5LXNvcnQtb3JkZXIgbm8tY29sb3ItbGl0ZXJhbHMgaGV4LW5vdGF0aW9uIGJyYWNlLXN0eWxlIHplcm8tdW5pdCBzcGFjZS1hZnRlci1jb2xvbiBlbXB0eS1saW5lLWJldHdlZW4tYmxvY2tzXHJcblxyXG5cclxuLyogTWFnbmlmaWMgUG9wdXAgQ1NTICovXHJcbi5tZnAtYmcge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQyO1xyXG4gIG92ZXJmbG93OiBoaWRkZW47XHJcbiAgcG9zaXRpb246IGZpeGVkO1xyXG4gIGJhY2tncm91bmQ6ICMwYjBiMGI7XHJcbiAgb3BhY2l0eTogMC44OyB9XHJcblxyXG4ubWZwLXdyYXAge1xyXG4gIHRvcDogMDtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICB6LWluZGV4OiAxMDQzO1xyXG4gIHBvc2l0aW9uOiBmaXhlZDtcclxuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XHJcbiAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cclxuXHJcbi5tZnAtY29udGFpbmVyIHtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHRvcDogMDtcclxuICBwYWRkaW5nOiAwIDhweDtcclxuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XHJcblxyXG4ubWZwLWNvbnRhaW5lcjpiZWZvcmUge1xyXG4gIGNvbnRlbnQ6ICcnO1xyXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuICBoZWlnaHQ6IDEwMCU7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxyXG5cclxuLm1mcC1hbGlnbi10b3AgLm1mcC1jb250YWluZXI6YmVmb3JlIHtcclxuICBkaXNwbGF5OiBub25lOyB9XHJcblxyXG4ubWZwLWNvbnRlbnQge1xyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XHJcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcclxuICBtYXJnaW46IDAgYXV0bztcclxuICB0ZXh0LWFsaWduOiBsZWZ0O1xyXG4gIHotaW5kZXg6IDEwNDU7IH1cclxuXHJcbi5tZnAtaW5saW5lLWhvbGRlciAubWZwLWNvbnRlbnQsXHJcbi5tZnAtYWpheC1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICB3aWR0aDogMTAwJTtcclxuICBjdXJzb3I6IGF1dG87IH1cclxuXHJcbi5tZnAtYWpheC1jdXIge1xyXG4gIGN1cnNvcjogcHJvZ3Jlc3M7IH1cclxuXHJcbi5tZnAtem9vbS1vdXQtY3VyLCAubWZwLXpvb20tb3V0LWN1ciAubWZwLWltYWdlLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjdXJzb3I6IC1tb3otem9vbS1vdXQ7XHJcbiAgY3Vyc29yOiAtd2Via2l0LXpvb20tb3V0O1xyXG4gIGN1cnNvcjogem9vbS1vdXQ7IH1cclxuXHJcbi5tZnAtem9vbSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyO1xyXG4gIGN1cnNvcjogLXdlYmtpdC16b29tLWluO1xyXG4gIGN1cnNvcjogLW1vei16b29tLWluO1xyXG4gIGN1cnNvcjogem9vbS1pbjsgfVxyXG5cclxuLm1mcC1hdXRvLWN1cnNvciAubWZwLWNvbnRlbnQge1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC1jbG9zZSxcclxuLm1mcC1hcnJvdyxcclxuLm1mcC1wcmVsb2FkZXIsXHJcbi5tZnAtY291bnRlciB7XHJcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcclxuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xyXG4gIHVzZXItc2VsZWN0OiBub25lOyB9XHJcblxyXG4ubWZwLWxvYWRpbmcubWZwLWZpZ3VyZSB7XHJcbiAgZGlzcGxheTogbm9uZTsgfVxyXG5cclxuLm1mcC1oaWRlIHtcclxuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cclxuXHJcbi5tZnAtcHJlbG9hZGVyIHtcclxuICBjb2xvcjogI0NDQztcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgdG9wOiA1MCU7XHJcbiAgd2lkdGg6IGF1dG87XHJcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xyXG4gIG1hcmdpbi10b3A6IC0wLjhlbTtcclxuICBsZWZ0OiA4cHg7XHJcbiAgcmlnaHQ6IDhweDtcclxuICB6LWluZGV4OiAxMDQ0OyB9XHJcbiAgLm1mcC1wcmVsb2FkZXIgYSB7XHJcbiAgICBjb2xvcjogI0NDQzsgfVxyXG4gICAgLm1mcC1wcmVsb2FkZXIgYTpob3ZlciB7XHJcbiAgICAgIGNvbG9yOiAjRkZGOyB9XHJcblxyXG4ubWZwLXMtcmVhZHkgLm1mcC1wcmVsb2FkZXIge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbi5tZnAtcy1lcnJvciAubWZwLWNvbnRlbnQge1xyXG4gIGRpc3BsYXk6IG5vbmU7IH1cclxuXHJcbmJ1dHRvbi5tZnAtY2xvc2UsXHJcbmJ1dHRvbi5tZnAtYXJyb3cge1xyXG4gIG92ZXJmbG93OiB2aXNpYmxlO1xyXG4gIGN1cnNvcjogcG9pbnRlcjtcclxuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcclxuICBib3JkZXI6IDA7XHJcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIG91dGxpbmU6IG5vbmU7XHJcbiAgcGFkZGluZzogMDtcclxuICB6LWluZGV4OiAxMDQ2O1xyXG4gIGJveC1zaGFkb3c6IG5vbmU7XHJcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247IH1cclxuXHJcbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lciB7XHJcbiAgcGFkZGluZzogMDtcclxuICBib3JkZXI6IDA7IH1cclxuXHJcbi5tZnAtY2xvc2Uge1xyXG4gIHdpZHRoOiA0NHB4O1xyXG4gIGhlaWdodDogNDRweDtcclxuICBsaW5lLWhlaWdodDogNDRweDtcclxuICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgcmlnaHQ6IDA7XHJcbiAgdG9wOiAwO1xyXG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxuICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgb3BhY2l0eTogMC42NTtcclxuICBwYWRkaW5nOiAwIDAgMThweCAxMHB4O1xyXG4gIGNvbG9yOiAjRkZGO1xyXG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcclxuICBmb250LXNpemU6IDI4cHg7XHJcbiAgZm9udC1mYW1pbHk6IEFyaWFsLCBCYXNrZXJ2aWxsZSwgbW9ub3NwYWNlOyB9XHJcbiAgLm1mcC1jbG9zZTpob3ZlcixcclxuICAubWZwLWNsb3NlOmZvY3VzIHtcclxuICAgIG9wYWNpdHk6IDE7IH1cclxuICAubWZwLWNsb3NlOmFjdGl2ZSB7XHJcbiAgICB0b3A6IDFweDsgfVxyXG5cclxuLm1mcC1jbG9zZS1idG4taW4gLm1mcC1jbG9zZSB7XHJcbiAgY29sb3I6ICMzMzM7IH1cclxuXHJcbi5tZnAtaW1hZ2UtaG9sZGVyIC5tZnAtY2xvc2UsXHJcbi5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNsb3NlIHtcclxuICBjb2xvcjogI0ZGRjtcclxuICByaWdodDogLTZweDtcclxuICB0ZXh0LWFsaWduOiByaWdodDtcclxuICBwYWRkaW5nLXJpZ2h0OiA2cHg7XHJcbiAgd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtY291bnRlciB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMDtcclxuICByaWdodDogMDtcclxuICBjb2xvcjogI0NDQztcclxuICBmb250LXNpemU6IDEycHg7XHJcbiAgbGluZS1oZWlnaHQ6IDE4cHg7XHJcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxyXG5cclxuLm1mcC1hcnJvdyB7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIG9wYWNpdHk6IDAuNjU7XHJcbiAgbWFyZ2luOiAwO1xyXG4gIHRvcDogNTAlO1xyXG4gIG1hcmdpbi10b3A6IC01NXB4O1xyXG4gIHBhZGRpbmc6IDA7XHJcbiAgd2lkdGg6IDkwcHg7XHJcbiAgaGVpZ2h0OiAxMTBweDtcclxuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphY3RpdmUge1xyXG4gICAgbWFyZ2luLXRvcDogLTU0cHg7IH1cclxuICAubWZwLWFycm93OmhvdmVyLFxyXG4gIC5tZnAtYXJyb3c6Zm9jdXMge1xyXG4gICAgb3BhY2l0eTogMTsgfVxyXG4gIC5tZnAtYXJyb3c6YmVmb3JlLFxyXG4gIC5tZnAtYXJyb3c6YWZ0ZXIge1xyXG4gICAgY29udGVudDogJyc7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHdpZHRoOiAwO1xyXG4gICAgaGVpZ2h0OiAwO1xyXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHRvcDogMDtcclxuICAgIG1hcmdpbi10b3A6IDM1cHg7XHJcbiAgICBtYXJnaW4tbGVmdDogMzVweDtcclxuICAgIGJvcmRlcjogbWVkaXVtIGluc2V0IHRyYW5zcGFyZW50OyB9XHJcbiAgLm1mcC1hcnJvdzphZnRlciB7XHJcbiAgICBib3JkZXItdG9wLXdpZHRoOiAxM3B4O1xyXG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMTNweDtcclxuICAgIHRvcDogOHB4OyB9XHJcbiAgLm1mcC1hcnJvdzpiZWZvcmUge1xyXG4gICAgYm9yZGVyLXRvcC13aWR0aDogMjFweDtcclxuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDIxcHg7XHJcbiAgICBvcGFjaXR5OiAwLjc7IH1cclxuXHJcbi5tZnAtYXJyb3ctbGVmdCB7XHJcbiAgbGVmdDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctbGVmdDphZnRlciB7XHJcbiAgICBib3JkZXItcmlnaHQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzMXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1sZWZ0OmJlZm9yZSB7XHJcbiAgICBtYXJnaW4tbGVmdDogMjVweDtcclxuICAgIGJvcmRlci1yaWdodDogMjdweCBzb2xpZCAjM0YzRjNGOyB9XHJcblxyXG4ubWZwLWFycm93LXJpZ2h0IHtcclxuICByaWdodDogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQ6YWZ0ZXIge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDE3cHggc29saWQgI0ZGRjtcclxuICAgIG1hcmdpbi1sZWZ0OiAzOXB4OyB9XHJcbiAgLm1mcC1hcnJvdy1yaWdodDpiZWZvcmUge1xyXG4gICAgYm9yZGVyLWxlZnQ6IDI3cHggc29saWQgIzNGM0YzRjsgfVxyXG5cclxuLm1mcC1pZnJhbWUtaG9sZGVyIHtcclxuICBwYWRkaW5nLXRvcDogNDBweDtcclxuICBwYWRkaW5nLWJvdHRvbTogNDBweDsgfVxyXG4gIC5tZnAtaWZyYW1lLWhvbGRlciAubWZwLWNvbnRlbnQge1xyXG4gICAgbGluZS1oZWlnaHQ6IDA7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIG1heC13aWR0aDogOTAwcHg7IH1cclxuICAubWZwLWlmcmFtZS1ob2xkZXIgLm1mcC1jbG9zZSB7XHJcbiAgICB0b3A6IC00MHB4OyB9XHJcblxyXG4ubWZwLWlmcmFtZS1zY2FsZXIge1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGhlaWdodDogMDtcclxuICBvdmVyZmxvdzogaGlkZGVuO1xyXG4gIHBhZGRpbmctdG9wOiA1Ni4yNSU7IH1cclxuICAubWZwLWlmcmFtZS1zY2FsZXIgaWZyYW1lIHtcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGRpc3BsYXk6IGJsb2NrO1xyXG4gICAgdG9wOiAwO1xyXG4gICAgbGVmdDogMDtcclxuICAgIHdpZHRoOiAxMDAlO1xyXG4gICAgaGVpZ2h0OiAxMDAlO1xyXG4gICAgYm94LXNoYWRvdzogMCAwIDhweCByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XHJcblxyXG4vKiBNYWluIGltYWdlIGluIHBvcHVwICovXHJcbmltZy5tZnAtaW1nIHtcclxuICB3aWR0aDogYXV0bztcclxuICBtYXgtd2lkdGg6IDEwMCU7XHJcbiAgaGVpZ2h0OiBhdXRvO1xyXG4gIGRpc3BsYXk6IGJsb2NrO1xyXG4gIGxpbmUtaGVpZ2h0OiAwO1xyXG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbiAgcGFkZGluZzogNDBweCAwIDQwcHg7XHJcbiAgbWFyZ2luOiAwIGF1dG87IH1cclxuXHJcbi8qIFRoZSBzaGFkb3cgYmVoaW5kIHRoZSBpbWFnZSAqL1xyXG4ubWZwLWZpZ3VyZSB7XHJcbiAgbGluZS1oZWlnaHQ6IDA7IH1cclxuICAubWZwLWZpZ3VyZTphZnRlciB7XHJcbiAgICBjb250ZW50OiAnJztcclxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuICAgIGxlZnQ6IDA7XHJcbiAgICB0b3A6IDQwcHg7XHJcbiAgICBib3R0b206IDQwcHg7XHJcbiAgICBkaXNwbGF5OiBibG9jaztcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IGF1dG87XHJcbiAgICBoZWlnaHQ6IGF1dG87XHJcbiAgICB6LWluZGV4OiAtMTtcclxuICAgIGJveC1zaGFkb3c6IDAgMCA4cHggcmdiYSgwLCAwLCAwLCAwLjYpO1xyXG4gICAgYmFja2dyb3VuZDogIzQ0NDsgfVxyXG4gIC5tZnAtZmlndXJlIHNtYWxsIHtcclxuICAgIGNvbG9yOiAjQkRCREJEO1xyXG4gICAgZGlzcGxheTogYmxvY2s7XHJcbiAgICBmb250LXNpemU6IDEycHg7XHJcbiAgICBsaW5lLWhlaWdodDogMTRweDsgfVxyXG4gIC5tZnAtZmlndXJlIGZpZ3VyZSB7XHJcbiAgICBtYXJnaW46IDA7IH1cclxuXHJcbi5tZnAtYm90dG9tLWJhciB7XHJcbiAgbWFyZ2luLXRvcDogLTM2cHg7XHJcbiAgcG9zaXRpb246IGFic29sdXRlO1xyXG4gIHRvcDogMTAwJTtcclxuICBsZWZ0OiAwO1xyXG4gIHdpZHRoOiAxMDAlO1xyXG4gIGN1cnNvcjogYXV0bzsgfVxyXG5cclxuLm1mcC10aXRsZSB7XHJcbiAgdGV4dC1hbGlnbjogbGVmdDtcclxuICBsaW5lLWhlaWdodDogMThweDtcclxuICBjb2xvcjogI0YzRjNGMztcclxuICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XHJcbiAgcGFkZGluZy1yaWdodDogMzZweDsgfVxyXG5cclxuLm1mcC1pbWFnZS1ob2xkZXIgLm1mcC1jb250ZW50IHtcclxuICBtYXgtd2lkdGg6IDEwMCU7IH1cclxuXHJcbi5tZnAtZ2FsbGVyeSAubWZwLWltYWdlLWhvbGRlciAubWZwLWZpZ3VyZSB7XHJcbiAgY3Vyc29yOiBwb2ludGVyOyB9XHJcblxyXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4MDBweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSwgc2NyZWVuIGFuZCAobWF4LWhlaWdodDogMzAwcHgpIHtcclxuICAvKipcclxuICAgICAgICogUmVtb3ZlIGFsbCBwYWRkaW5ncyBhcm91bmQgdGhlIGltYWdlIG9uIHNtYWxsIHNjcmVlblxyXG4gICAgICAgKi9cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1pbWFnZS1ob2xkZXIge1xyXG4gICAgcGFkZGluZy1sZWZ0OiAwO1xyXG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSBpbWcubWZwLWltZyB7XHJcbiAgICBwYWRkaW5nOiAwOyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtZmlndXJlOmFmdGVyIHtcclxuICAgIHRvcDogMDtcclxuICAgIGJvdHRvbTogMDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWZpZ3VyZSBzbWFsbCB7XHJcbiAgICBkaXNwbGF5OiBpbmxpbmU7XHJcbiAgICBtYXJnaW4tbGVmdDogNXB4OyB9XHJcbiAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhciB7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XHJcbiAgICBib3R0b206IDA7XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgICB0b3A6IGF1dG87XHJcbiAgICBwYWRkaW5nOiAzcHggNXB4O1xyXG4gICAgcG9zaXRpb246IGZpeGVkO1xyXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxyXG4gICAgLm1mcC1pbWctbW9iaWxlIC5tZnAtYm90dG9tLWJhcjplbXB0eSB7XHJcbiAgICAgIHBhZGRpbmc6IDA7IH1cclxuICAubWZwLWltZy1tb2JpbGUgLm1mcC1jb3VudGVyIHtcclxuICAgIHJpZ2h0OiA1cHg7XHJcbiAgICB0b3A6IDNweDsgfVxyXG4gIC5tZnAtaW1nLW1vYmlsZSAubWZwLWNsb3NlIHtcclxuICAgIHRvcDogMDtcclxuICAgIHJpZ2h0OiAwO1xyXG4gICAgd2lkdGg6IDM1cHg7XHJcbiAgICBoZWlnaHQ6IDM1cHg7XHJcbiAgICBsaW5lLWhlaWdodDogMzVweDtcclxuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcclxuICAgIHBhZGRpbmc6IDA7IH0gfVxyXG5cclxuQG1lZGlhIGFsbCBhbmQgKG1heC13aWR0aDogOTAwcHgpIHtcclxuICAubWZwLWFycm93IHtcclxuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjc1KTtcclxuICAgIHRyYW5zZm9ybTogc2NhbGUoMC43NSk7IH1cclxuICAubWZwLWFycm93LWxlZnQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAwO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMDsgfVxyXG4gIC5tZnAtYXJyb3ctcmlnaHQge1xyXG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlO1xyXG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJTsgfVxyXG4gIC5tZnAtY29udGFpbmVyIHtcclxuICAgIHBhZGRpbmctbGVmdDogNnB4O1xyXG4gICAgcGFkZGluZy1yaWdodDogNnB4OyB9IH1cclxuXHJcbi8vIHNhc3MtbGludDplbmFibGUgaW5kZW50YXRpb24gbm8tcXVhbGlmeWluZy1lbGVtZW50cyBzaG9ydGhhbmQtdmFsdWVzIHNpbmdsZS1saW5lLXBlci1zZWxlY3RvciBjbGFzcy1uYW1lLWZvcm1hdCBuby1pZHMgaWQtbmFtZS1mb3JtYXQgcHJvcGVydHktc29ydC1vcmRlciBuby1jb2xvci1saXRlcmFscyBoZXgtbm90YXRpb24gYnJhY2Utc3R5bGUgemVyby11bml0IHNwYWNlLWFmdGVyLWNvbG9uIGVtcHR5LWxpbmUtYmV0d2Vlbi1ibG9ja3NcclxuIiwiLyoqXHJcbiAqIENvbnRhaW5lclxyXG4gKiBcclxuICogQ2VudGVyIGFsaWducyBlbGVtZW50IHdpdGggZ2l2ZW4gbWF4aW11bSB3aWR0aCwgcGFkZGluZywgYW5kIG1hcmdpbnMgdG9wIGFuZCBib3R0b20uXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkd2lkdGggLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGdhcCAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBleGFtcGxlIEBpbmNsdWRlIGNvbnRhaW5lcigxMDI0cHgsIDIwcHgpO1xyXG4gKi9cclxuXHJcbkBtaXhpbiBjb250YWluZXIoJHdpZHRoOiAkZ3JpZC13aWR0aCwgJGdhcDogJGdyaWQtZ2FwKSB7XHJcblx0QGlmICh0eXBlLW9mKCR3aWR0aCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRnYXApID09IG51bWJlcikge1xyXG5cdFx0QGlmICgkZ2FwICE9IDApIHtcclxuXHRcdFx0bWF4LXdpZHRoOiBjYWxjKCN7JHdpZHRofSArICN7KCRnYXAgKiAyKX0pO1xyXG5cdFx0XHRwYWRkaW5nOiAwICRnYXA7XHJcblx0XHR9IEBlbHNlIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAkd2lkdGg7XHJcblx0XHR9XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdG1hcmdpbjogMCBhdXRvO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudHMgYCR3aWR0aGAgYW5kIGAkZ2FwYCBzaG91bGQgYmUgYSBudW1iZXInO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBTZWN0aW9uXHJcbiAqXHJcbiAqIEFkZCB0b3AgYW5kIGJvdHRvbSBzcGFjaW5nIHRvIGVsZW1lbnQgdXNpbmcgcGFkZGluZ3MuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkdG9wIC0gUGl4ZWwgdW5pdCB2YWx1ZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRib3R0b20gLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBzZWN0aW9uKDEwMHB4LCAxMDBweCk7XHJcbiAqLyBcclxuXHJcbkBtaXhpbiBzZWN0aW9uKCR0b3A6IDAsICRib3R0b206IDApIHtcclxuXHRAaWYgKHR5cGUtb2YoJHRvcCkgPT0gbnVtYmVyIGFuZCB0eXBlLW9mKCRib3R0b20pID09IG51bWJlcikge1xyXG5cdFx0cGFkZGluZzogJHRvcCAwICRib3R0b207XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ0FyZ3VtZW50cyBgJHRvcGAgYW5kIGBib3R0b21gIHNob3VsZCBiZSBhIG51bWJlcic7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQuXHJcbiAqXHJcbiAqIEFkZHMgYHJlbWAgdW5pdCBiYXNlZCBmb250IHNpemUgcHJvcGVydHksIGEgZmFsbGJhY2sgYHB4YCB1bml0IGJhc2VkIGZvbnQgc2l6ZSBwcm9wZXJ0eSwgYW5kIGEgYGVtYCB1bml0IGJhc2VkIGxpbmUgaGVpZ2h0IHByb3BlcnR5IHRvIGFueSBydWxlLlxyXG4gKiBAcGFyYW0ge1N0cmluZ30gJGZvbnQtc2l6ZSAtIFBpeGVsIHVuaXQgdmFsdWUuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkbGluZS1oZWlnaHQgLSBQaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBmb250LXNpemUoMTZweCwgMjRweCk7XHJcbiAqL1xyXG5cclxuQG1peGluIGZvbnQoJGZvbnQtc2l6ZSwgJGxpbmUtaGVpZ2h0KSB7XHJcblx0QGlmICh0eXBlLW9mKCRmb250LXNpemUpID09IG51bWJlciBhbmQgdW5pdCgkZm9udC1zaXplKSA9PSAncHgnKSB7XHJcblx0XHRmb250LXNpemU6ICRmb250LXNpemU7XHJcblx0XHRmb250LXNpemU6IHJlbSgkZm9udC1zaXplKTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdWYWx1ZSBmb3IgYCN7JGZvbnQtc2l6ZX1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG5cdEBpZiAodHlwZS1vZigkbGluZS1oZWlnaHQpID09IG51bWJlciBhbmQgdW5pdCgkbGluZS1oZWlnaHQpID09ICdweCcpIHtcclxuXHRcdGxpbmUtaGVpZ2h0OiAoKCRsaW5lLWhlaWdodCAvICRmb250LXNpemUpICogMWVtKTtcclxuXHR9IEBlbHNlIHtcclxuXHRcdEBlcnJvciAnVmFsdWUgZm9yIGAjeyRsaW5lLWhlaWdodH1gIHNob3VsZCBiZSBhIGBweGAgdW5pdCc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQuXHJcbiAqXHJcbiAqIFNob3J0aGFuZCBmb3IgdGhlIGZvbnQgbWl4aW4sIHJ1bnMgdGhlIGZvbnQgbWl4aW4gYmFzZWQgb24gYSBjb21tb24gZGVtZWFub3VyIGV4aXN0aW5nIGJvdGggaW4gdGhlIGAkZm9udC1zaXplYCBhbmQgdGhlIGAkbGluZS1oZWlnaHRgIG1hcHMuXHJcbiAqIEBwYXJhbSB7c3RyaW5nfSAkdmFsdWUgLSBTdHJpbmdcclxuICogQGV4YW1wbGUgQGluY2x1ZGUgdGV4dCgncCcpO1xyXG4gKi8gXHJcblxyXG5AbWl4aW4gdGV4dCgkdmFsdWUpIHtcclxuXHRAaWYgKHR5cGUtb2YoJHZhbHVlKSA9PSBzdHJpbmcpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQobWFwLWdldCgkZm9udC1zaXplLCAkdmFsdWUpLCBtYXAtZ2V0KCRsaW5lLWhlaWdodCwgJHZhbHVlKSk7XHJcblx0fSBAZWxzZSB7XHJcblx0XHRAZXJyb3IgJ1ZhbHVlIHNob3VsZCBiZSBhIHN0cmluZyc7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgQXdlc29tZS5cclxuICpcclxuICogQWRkIEZvbnQgQXdlc29tZSBpY29ucyBhcyBwc3VlZG8gZWxlbWVudHMgYnkgdXNpbmcgdGhlaXIgdW5pY29kZS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRjb250ZW50IC0gVW5pY29kZSBzdHJpbmcuXHJcbiAqIEBwYXJhbSB7U3RyaW5nfSAkZmFtaWx5IC0gRm9udCBBd2Vzb21lIGZvbnQgZmFtaWx5IHN0cmluZy5cclxuICogQGV4YW1wbGUgQGluY2x1ZGUgZm9udGF3ZXNvbWUoJ2YxMDAnLCAnTGlnaHQnKTtcclxuICovXHJcblxyXG5AbWl4aW4gZm9udGF3ZXNvbWUoJGNvbnRlbnQsICRmYW1pbHkpIHtcclxuXHRAaWYgKHR5cGUtb2YoJGZhbWlseSkgPT0gc3RyaW5nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0Zm9udC1mYW1pbHk6ICdGb250IEF3ZXNvbWUgNSAjeyRmYW1pbHl9JztcclxuXHRcdGNvbnRlbnQ6IHVuaWNvZGUoJGNvbnRlbnQpO1xyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGVycm9yICdBcmd1bWVudCBgJGZhbWlseWAgc2hvdWxkIGJlIGEgc3RyaW5nJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWVkaWEuXHJcbiAqXHJcbiAqIE1lZGlhIHF1ZXJpZXMgYWNjb3JkaW5nIHRvIFwiVGhlIDEwMCUgQ29ycmVjdCBXYXkgVG8gRG8gQ1NTIEJyZWFrcG9pbnRzXCIgKGh0dHBzOi8vbWVkaXVtLmZyZWVjb2RlY2FtcC5jb20vdGhlLTEwMC1jb3JyZWN0LXdheS10by1kby1jc3MtYnJlYWtwb2ludHMtODhkNmE1YmExODYyKS5cclxuICogQHBhcmFtIHtTdHJpbmd9ICRicmVha3BvaW50IC0gQnJlYWtwb2ludCBwaXhlbCB1bml0IHZhbHVlLlxyXG4gKiBAZXhhbXBsZSBAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7fVxyXG4gKi8gXHJcbiBcclxuQG1peGluIG1lZGlhKCRzaXplKSB7XHJcblx0QGlmICgkc2l6ZSA9PSAnZGVza3RvcCcpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWluLXdpZHRoOiAxMjAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUtdXAnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3RhYmxldC1sYW5kc2NhcGUnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogOTAwcHgpIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDExOTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0LXBvcnRyYWl0LXVwJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQnKSB7XHJcblx0XHRAbWVkaWEgb25seSBzY3JlZW4gYW5kKG1pbi13aWR0aDogNjAwcHgpIGFuZChtYXgtd2lkdGg6IDg5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2UgaWYgKCRzaXplID09ICd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQobWF4LXdpZHRoOiA4OTlweCkge1xyXG5cdFx0XHRAY29udGVudDtcclxuXHRcdH1cclxuXHR9IEBlbHNlIGlmICgkc2l6ZSA9PSAndGFibGV0Jykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtaW4td2lkdGg6IDYwMHB4KSBhbmQobWF4LXdpZHRoOiAxMTk5cHgpIHtcclxuXHRcdFx0QGNvbnRlbnQ7XHJcblx0XHR9XHJcblx0fSBAZWxzZSBpZiAoJHNpemUgPT0gJ3Bob25lJykge1xyXG5cdFx0QG1lZGlhIG9ubHkgc2NyZWVuIGFuZChtYXgtd2lkdGg6IDU5OXB4KSB7XHJcblx0XHRcdEBjb250ZW50O1xyXG5cdFx0fVxyXG5cdH0gQGVsc2Uge1xyXG5cdFx0QGNvbnRlbnQ7XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBSZW1vdmUgbWFyZ2luIGFuZCBwYWRkaW5nIGZyb20gZXZlcnkgc2VsZWN0b3IgaW5jbHVkaW5nIHRoZWlyXHJcbiAqIHBzdWVkbyBzZWxlY3RvcnMuXHJcbiAqXHJcbiAqIDEuIE1vcmUgc2Vuc2libGUgZGVmYXVsdCBib3ggc2l6aW5nLlxyXG4gKiAgICAoY3NzLXRyaWNrcy5jb20vaW5oZXJpdGluZy1ib3gtc2l6aW5nLXByb2JhYmx5LXNsaWdodGx5LWJldHRlci1iZXN0LXByYWN0aWNlKS5cclxuICovXHJcblxyXG4qLFxyXG4qOjpiZWZvcmUsXHJcbio6OmFmdGVyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3gtc2l6aW5nOiBpbmhlcml0OyAvKiAxICovXHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IGhlaWdodCBvZiB0aGUgZG9jdW1lbnQgdG8gbWF4aXVtIHZpZXdwb3J0IGhlaWdodC5cclxuICpcclxuICogMS4gU2V0IHJvb3QgZm9udCBzaXplIHRvIDEwLlxyXG4gKi9cclxuXHJcbmh0bWwge1xyXG5cdGhlaWdodDogMTAwdmg7XHJcblx0Zm9udC1zaXplOiA2Mi41JTsgLyogMSAqL1xyXG5cdGJveC1zaXppbmc6IGJvcmRlci1ib3g7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogU2V0IG1pbmltYWwgaGVpZ2h0IG9mIHRoZSBib2R5IHRvIG1heGltdW0gdmlld3BvcnQgaGVpZ2h0IHRvXHJcbiAqIG1hdGNoIHRoZSBkb2N1bWVudCdzIGhlaWdodC5cclxuICpcclxuICogMS4gRmlyZWZveCAyNSsuXHJcbiAqIDIuIENocm9tZSA1Ky5cclxuICovXHJcblxyXG5ib2R5IHtcclxuXHRAaW5jbHVkZSB0ZXh0KCRib2R5LXRleHQpO1xyXG5cdG1pbi1oZWlnaHQ6IDEwMHZoO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQtY29sb3I7XHJcblx0Y29sb3I6ICRib2R5LWNvbG9yO1xyXG5cdGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG5cdHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XHJcblx0LW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgLyogMSAqL1xyXG5cdC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkOyAvKiAyICovXHJcbn1cclxuIiwiLyoqXHJcbiAqIEN1c3RvbSB1c2VyIGFnZW50IHJlc2V0cyBhbmQgb3ZlcnJpZGVzIHRoYXQgYXJlIG5vdCBwcmVzZW50IGluXHJcbiAqIE5vcm1hbGl6ZSA4LjAuMC4gVGhpcyBtb3N0bHkgcmVtb3ZlcyBzb21lIGFubm95aW5nIG1hcmdpbiBhbmQgcGFkZGluZ1xyXG4gKiBkZWZhdWx0cywgYm9yZGVyIHJhZGl1cywgYW5kIG91dGxpbmVzLlxyXG4gKi9cclxuXHJcbmEge1xyXG5cdGNvbG9yOiBpbmhlcml0O1xyXG5cdHRleHQtZGVjb3JhdGlvbjogbm9uZTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgYm9yZGVyIHJhZGl1cyBvbiBDaHJvbWUgNjIuMCsgb24gbWFjT1MuXHJcbiAqL1xyXG5cclxuYnV0dG9uIHtcclxuXHRib3JkZXI6IDA7XHJcblx0Ym9yZGVyLXJhZGl1czogMDsgLyogMSAqL1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YmFja2dyb3VuZDogbm9uZTtcclxuXHRjdXJzb3I6IHBvaW50ZXI7XHJcbn1cclxuXHJcbmZpZWxkc2V0IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRib3JkZXI6IDA7XHJcbn1cclxuXHJcbmZpZ3VyZSB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5oMSxcclxuaDIsXHJcbmgzLFxyXG5oNCxcclxuaDUsXHJcbmg2IHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxuXHRmb250LXNpemU6IGluaGVyaXQ7XHJcblx0Zm9udC13ZWlnaHQ6IGluaGVyaXQ7XHJcbn1cclxuXHJcbmhyIHtcclxuXHRtYXJnaW46IDA7XHJcblx0cGFkZGluZzogMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgd2hpdGUgc3BhY2UuXHJcbiAqL1xyXG5cclxuaW1nIHtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IC8qIDEgKi9cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiAxLiBSZW1vdmUgaW5oZXJpdGVkIHVzZXIgYWdlbnQgYXBwZWFyYW5jZS5cclxuICovXHJcblxyXG5pbnB1dCxcclxuc2VsZWN0LFxyXG50ZXh0YXJlYSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlcjogMDtcclxuXHRib3JkZXItcmFkaXVzOiAwO1xyXG5cdG91dGxpbmU6IG5vbmU7XHJcblx0YXBwZWFyYW5jZTogbm9uZTsgLyogMSAqL1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIE9ubHkgYWxsb3cgdmVydGljYWwgcmVzaXppbmcgdG8gcHJldmVudCB0aGUgdGV4dGFyZWFcclxuICogICAgZnJvbSBvdmVyZmxvd2luZyB0aGUgY29udGFpbmVyLlxyXG4gKi9cclxuXHJcbnRleHRhcmVhIHtcclxuXHRyZXNpemU6IHZlcnRpY2FsO1xyXG59XHJcblxyXG51bCxcclxub2wge1xyXG5cdG1hcmdpbjogMDtcclxuXHRwYWRkaW5nOiAwO1xyXG5cdGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcclxufVxyXG5cclxucCB7XHJcblx0bWFyZ2luOiAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIDEuIENvbGxhcHNlIGJvcmRlcnMgdG8gcHJldmVudCBkb3VibGUgc2lkZWQgYm9yZGVycy5cclxuICovXHJcblxyXG50YWJsZSB7XHJcblx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7IC8qIDEgKi9cclxufVxyXG5cclxuc3Ryb25nIHtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBCdXR0b24uXHJcbiAqL1xyXG5cclxuJWJ1dHRvbixcclxuLmJ1dHRvbiB7XHJcblx0QGluY2x1ZGUgZm9udCgyMnB4LCAyMHB4KTtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdGhlaWdodDogNDhweDtcclxuXHRwYWRkaW5nOiAycHggMjBweCAwIDIwcHg7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdGN1cnNvcjogcG9pbnRlcjtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDIxcHg7XHJcblx0XHRoZWlnaHQ6IDIwcHg7XHJcblx0fVxyXG5cclxuXHQmLmhhcy1zdmctcmlnaHQge1xyXG5cdFx0c3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQmLmhhcy1zdmctbGVmdCB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiAoZGVmYXVsdCkuXHJcbiAqL1xyXG5cclxuJWJ1dHRvbi0tZGVmYXVsdCxcclxuLmJ1dHRvbi0tZGVmYXVsdCB7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdGJveC1zaGFkb3c6IDBweCAwcHggMjBweCAxMHB4ICRncmV5LTEwO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCdXR0b24gKGJvcmRlcikuXHJcbiAqL1xyXG5cclxuJWJ1dHRvbi0tYm9yZGVyLFxyXG4uYnV0dG9uLS1ib3JkZXIge1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG5cclxuLyoqXHJcbiAqIEJ1dHRvbiAoc21hbGwpLlxyXG4gKi9cclxuXHJcbiVidXR0b24tLXNtYWxsLFxyXG4uYnV0dG9uLS1zbWFsbCB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRoZWlnaHQ6IDM0cHg7XHJcblx0cGFkZGluZzogMnB4IDE3cHggMCAxN3B4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xyXG5cdGJvcmRlcjogMnB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFRoZSBjb250YWluZXIgb2JqZWN0IGNlbnRlcnMgYW4gZWxlbWVudCBpbiB0aGUgZG9jdW1lbnQuXHJcbiAqL1xyXG5cclxuLmNvbnRhaW5lciB7XHJcblx0QGluY2x1ZGUgY29udGFpbmVyO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBUaGUgY29udGVudCBjb25zdHJhaW50IGlzIGEgY29uc3RyYWludCBmb3IgYWxsIHRoZSBjb250ZW50IHdpdGhpblxyXG4gKiB0aGUgZG9jdW1lbnQuIEl0IGNhbiBiZSBtYW5pcHVsYXRlZCBieSBDU1Mgb3IgSmF2YVNjcmlwdCB3aXRob3V0XHJcbiAqIGluZmx1ZW5jaW5nIHRoZSBib2R5LlxyXG4gKi9cclxuXHJcbi5jb250ZW50LWNvbnN0cmFpbnQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiAxMDB2aDtcclxuXHRwYWRkaW5nLXRvcDogODBweDtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG59XHJcbiIsIi8qKlxyXG4gKiBFeGFtcGxlIG9mIGEgZmxleCBiYXNlZCBjb2x1bW4gZ3JpZCBsYXlvdXQgaW4gcHJhY3RpY2U6XHJcbiAqXHJcbiAqIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICogICA8ZGl2IGNsYXNzPVwiY29sIGNvbC14cy02IGNvbC1zbS0xMlwiPjwvZGl2PlxyXG4gKiAgIDxkaXYgY2xhc3M9XCJjb2wgY29sLXhzLTYgY29sLXNtLTEyXCI+PC9kaXY+XHJcbiAqIDwvZGl2PlxyXG4gKlxyXG4gKiBUaGlzIGV4YW1wbGUgd2lsbCBjcmVhdGUgYSByb3cgd2l0aCB0d28gY29sdW1ucyBlYWNoIGZpbGxpbmcgaGFsZiB0aGUgd2lkdGhcclxuICogb2YgdGhlIHJvdyBvbiBhbGwgbWVkaWEsIGJ1dCB3aWxsIGNvbnZlcnQgdG8gYSBmdWxsIHdpZHRoIGNvbHVtbiBvbiB0aGVcclxuICogc21hbGwgYC1zbWAgYnJlYWtwb2ludCBhbGlhcywgd2hpY2ggaXMgbW9iaWxlIG9ubHkuIFJlZmVyIHRvXHJcbiAqIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AgZm9yIGFsbCBicmVha3BvaW50IGFsaWFzLlxyXG4gKi9cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdC5cclxuICpcclxuICogVGlwOiBVc2UgZmxleCBvbiBhIGNvbHVtbiB0byBtYWtlIHRoZSBib3ggdGhlIHNhbWUgaGVpZ2h0IGFzIHRoZSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmZsZXgge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcbn1cclxuXHJcbi5mbGV4LXdyYXAge1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGbGV4IG9iamVjdCB3aXRoIGEgY29sdW1uIGJhc2VkIGxheW91dCBzeXN0ZW0uXHJcbiAqL1xyXG5cclxuLnJvdyB7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4OiAwIDEgYXV0bztcclxuXHRmbGV4LWZsb3c6IHJvdyB3cmFwO1xyXG5cdG1hcmdpbjogMCAtI3soJGdyaWQtZ2FwLzIpfTtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBCb3gsIHRoZSBpbnNpZGUgb2YgYSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmJveCB7XHJcblx0ZmxleDogMTtcclxufVxyXG5cclxuXHJcbi8vIExvb3AgdGhyb3VnaCBhbGwgdGhlIGtleXMgaW4gdGhlIGAkYnJlYWtwb2ludHNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluXHJcbi8vIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcbkBlYWNoICRrZXksICR2YWx1ZSBpbiAkYnJlYWtwb2ludHMge1xyXG5cclxuXHQvLyBDcmVhdGUgYSBtZWRpYSBxdWVyeSBmb3IgZXZlcnkga2V5IGluIGAkYnJlYWtwb2ludHNgLlxyXG5cdEBpbmNsdWRlIG1lZGlhKCR2YWx1ZSkge1xyXG5cclxuXHRcdC8vIEl0ZXJhdGUgZnJvbSAxIHRocm91Z2ggdGhlIGFtb3VudCBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieVxyXG5cdFx0Ly8gYCRncmlkLWNvbHVtbnNgIGluIGBzZXR0aW5ncy9fZGVmaW5pdGlvbnMuc2Nzc2AuXHJcblx0XHRAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbnMge1xyXG5cclxuXHRcdFx0LyoqXHJcblx0XHRcdCAqIENvbHVtbiAjeyRpfSBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5jb2wtI3ska2V5fS0jeyRpfSB7XHJcblx0XHRcdFx0ZmxleDogMCAxIGF1dG87XHJcblx0XHRcdFx0d2lkdGg6IGNvbHVtbigkaSk7XHJcblx0XHRcdFx0cGFkZGluZzogMCAoJGdyaWQtZ2FwLzIpO1xyXG5cdFx0XHR9XHJcblxyXG5cclxuXHRcdFx0Ly8gT3V0cHV0IGFuIG9mZnNldCB1dGlsaXR5IGNsYXNzIGlmIHRoZSBpdGVyYXRvciBpcyBsZXNzIHRoYW4gdGhlIGFtb3VudFxyXG5cdFx0XHQvLyBvZiBncmlkIGNvbHVtbnMgZGVmaW5lZCBieSBgJGdyaWQtY29sdW1uc2AgaW5cclxuXHRcdFx0Ly8gYHNldHRpbmdzL19kZWZpbml0aW9ucy5zY3NzYC5cclxuXHRcdFx0QGlmICgkaSA8ICRncmlkLWNvbHVtbnMpIHtcclxuXHJcblx0XHRcdFx0LyoqXHJcblx0XHRcdFx0ICogT2Zmc2V0ICN7JGl9IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHRcdFx0ICovXHJcblxyXG5cdFx0XHRcdC5vZmZzZXQtI3ska2V5fS0jeyRpfSB7XHJcblx0XHRcdFx0XHRtYXJnaW4tbGVmdDogY29sdW1uKCRpKTtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBgYWxpZ24taXRlbXNgIHByb3BlcnR5LlxyXG5cdFx0QGVhY2ggJHZhbHVlIGluIHN0cmV0Y2gsIGNlbnRlciwgZmxleC1zdGFydCwgZmxleC1lbmQsIGJhc2VsaW5lIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBBbGlnbiBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuYWxpZ24tI3ska2V5fS0jeyR2YWx1ZX0ge1xyXG5cdFx0XHRcdGFsaWduLWl0ZW1zOiAkdmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGFsbCB2YWx1ZXMgZm9yIHRoZSBganVzdGlmeS1jb250ZW50YCBwcm9wZXJ0eS5cclxuXHRcdEBlYWNoICR2YWx1ZSBpbiBzdGFydCwgY2VudGVyLCBzcGFjZS1iZXR3ZWVuLCBzcGFjZS1hcm91bmQsIHNwYWNlLWV2ZW5seSB7XHJcblxyXG5cdFx0XHQvKipcclxuXHRcdFx0ICogSnVzdGlmeSBgI3skdmFsdWV9YCBmb3IgdGhlICN7JGtleX0gYnJlYWtwb2ludC5cclxuXHRcdFx0ICovXHJcblxyXG5cdFx0XHQuanVzdGlmeS0jeyRrZXl9LSN7JHZhbHVlfSB7XHJcblx0XHRcdFx0anVzdGlmeS1jb250ZW50OiAkdmFsdWU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGRpcmVjdGlvbiBmcm9tIGxlZnQgdG8gcmlnaHQuXHJcblx0XHRAZWFjaCAkZGlyZWN0aW9uIGluIGxlZnQsIHJpZ2h0IHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBCbGVlZCAjeyRkaXJlY3Rpb259IGZvciB0aGUgI3ska2V5fSBicmVha3BvaW50LlxyXG5cdFx0XHQgKi9cclxuXHJcblx0XHRcdC5ibGVlZC0jeyRrZXl9LSN7JGRpcmVjdGlvbn0ge1xyXG5cdFx0XHRcdHBhZGRpbmctI3skZGlyZWN0aW9ufTogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHJcblx0XHQvKipcclxuXHRcdCAqIE9yZGVyIGZpcnN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHQgKi9cclxuXHJcblx0XHQuZmlyc3QtI3ska2V5fSB7XHJcblx0XHRcdG9yZGVyOiAtMTtcclxuXHRcdH1cclxuXHJcblxyXG5cdFx0LyoqXHJcblx0XHQgKiBPcmRlciBsYXN0IGZvciB0aGUgYCN7JGtleX1gIGJyZWFrcG9pbnQuXHJcblx0XHQgKi9cclxuXHJcblx0XHQubGFzdC0jeyRrZXl9IHtcclxuXHRcdFx0b3JkZXI6IDE7XHJcblx0XHR9XHJcblxyXG5cclxuXHRcdC8qKlxyXG5cdFx0ICogUmV2ZXJzZSBvcmRlciBmb3IgdGhlIGAjeyRrZXl9YCBicmVha3BvaW50LlxyXG5cdFx0ICovXHJcblxyXG5cdFx0LnJldmVyc2UtI3ska2V5fSB7XHJcblx0XHRcdGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIERlZmF1bHQgZmllbGRzLlxyXG4gKi9cclxuXHJcbmxhYmVsIHtcclxuXHRkaXNwbGF5OiBibG9jaztcclxuXHRtYXJnaW4tYm90dG9tOiA1cHg7XHJcblx0Zm9udC13ZWlnaHQ6IGJvbGQ7XHJcblx0Y29sb3I6ICRibHVlLTEwMDtcclxufVxyXG5cclxuJWlucHV0LFxyXG5zZWxlY3QsXHJcbmlucHV0LFxyXG50ZXh0YXJlYSB7XHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyMHB4KTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDQycHg7XHJcblx0Ym9yZGVyLXJhZGl1czogMnB4O1xyXG5cdHBhZGRpbmc6IDExcHggMTVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdGJvcmRlcjogMXB4IHNvbGlkICR3aXN0ZXJpYS1ibHVlLTEwMDtcclxufVxyXG5cclxudGV4dGFyZWEge1xyXG5cdGhlaWdodDogMjMwcHg7XHJcblx0cGFkZGluZy10b3A6IDE1cHg7XHJcbn1cclxuXHJcbi5naW5wdXRfY29udGFpbmVyX3NlbGVjdCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG92ZXJmbG93OiBoaWRkZW47XHJcblx0YmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XHJcblx0Ym9yZGVyOiAxcHggc29saWQgJHdpc3RlcmlhLWJsdWUtMTAwO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAxNHB4O1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0XHR3aWR0aDogOXB4O1xyXG5cdFx0aGVpZ2h0OiAxM3B4O1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcblxyXG5cdHNlbGVjdCB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgNTBweCk7XHJcblx0XHRtYXgtd2lkdGg6IG5vbmU7XHJcblx0XHRtYXJnaW46IC0ycHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcclxuXHRcdGJvcmRlcjogMDtcclxuXHRcdHotaW5kZXg6IDI7XHJcblx0fVxyXG59XHJcblxyXG5pbnB1dFt0eXBlPSdyYWRpbyddLFxyXG5pbnB1dFt0eXBlPSdjaGVja2JveCddIHtcclxuXHR3aWR0aDogMTVweDtcclxuXHRoZWlnaHQ6IDE1cHg7XHJcblx0Ym9yZGVyOiAycHggc29saWQgJGJsdWUtMTAwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDJweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHQmOmNoZWNrZWQge1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuaW5wdXRbdHlwZT0ncmFkaW8nXSB7XHJcblx0Ym9yZGVyLXJhZGl1czogMjBweDtcclxuXHRib3JkZXI6IDJweCBzb2xpZCAkb3JhbmdlLTEwMDtcclxuXHJcblx0JjpjaGVja2VkIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBHcmF2aXR5IEZvcm1zLlxyXG4gKi9cclxuXHJcbi5nZmllbGQge1xyXG5cdG1hcmdpbi1ib3R0b206IDI1cHg7XHJcbn1cclxuXHJcbi5nZm9ybV92YWxpZGF0aW9uX2NvbnRhaW5lciB7XHJcblx0ZGlzcGxheTogbm9uZTtcclxufVxyXG5cclxuLmdpbnB1dF9jb250YWluZXJfbmFtZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRmbGV4LXdyYXA6IHdyYXA7XHJcblx0bWFyZ2luOiAwIC03LjVweDtcclxuXHJcblx0c3BhbiB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRtYXJnaW46IDAgMCAyMHB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoNTAlIC0gMTVweCk7XHJcblx0XHRtYXJnaW46IDcuNXB4O1xyXG5cclxuXHRcdCY6bGFzdC1vZi10eXBlIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRcdG1hcmdpbjogMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmhpZGRlbl9sYWJlbCA+IGxhYmVsIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG59XHJcblxyXG4uZ2ZpZWxkX2Vycm9yIHtcclxuXHRpbnB1dCxcclxuXHR0ZXh0YXJlYSB7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkcmVkLTEwO1xyXG5cdH1cclxufVxyXG5cclxuLnZhbGlkYXRpb25fbWVzc2FnZSB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRtYXJnaW4tdG9wOiA1cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHRjb2xvcjogJHJlZC0xMDA7XHJcbn1cclxuXHJcbiV2YWxpZGF0aW9uX2Vycm9yLFxyXG4udmFsaWRhdGlvbl9lcnJvciB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbjogMCAwIDUwcHg7XHJcblx0cGFkZGluZzogMjVweCAyNXB4IDI1cHggNzVweDtcclxuXHRiYWNrZ3JvdW5kOiAkcmVkLTEwO1xyXG5cdGNvbG9yOiAkcmVkLTEwMDtcclxuXHJcblx0PiBzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiBjYWxjKDUwJSAtIDE1cHgpO1xyXG5cdFx0bGVmdDogMzBweDtcclxuXHRcdHdpZHRoOiAzMXB4O1xyXG5cdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0Y29sb3I6ICRyZWQtMTAwO1xyXG5cdH1cclxuXHJcblx0LmNsb3NlLWJ1dHRvbiB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDVweDtcclxuXHRcdHJpZ2h0OiA1cHg7XHJcblx0XHRjdXJzb3I6IHBvaW50ZXI7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDE2cHg7XHJcblx0XHRcdGhlaWdodDogMTZweDtcclxuXHRcdFx0Y29sb3I6ICRibGFjay0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZ2Zvcm1fY29uZmlybWF0aW9uX21lc3NhZ2Uge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdHBhZGRpbmc6IDUwcHg7XHJcblx0YmFja2dyb3VuZDogJHdpc3RlcmlhLWJsdWUtMTAwXHJcblxyXG5cdGJyIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHRoNCB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDI4cHg7XHJcblx0XHRcdGhlaWdodDogMjhweDtcclxuXHRcdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAyMHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRwYWRkaW5nOiA1cHg7XHJcblx0XHRcdGNvbG9yOiAkYmxhY2stMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufSIsIi8qKlxyXG4gKiBIZWFkaW5nLlxyXG4gKi9cclxuXHJcbmgxLFxyXG5oMixcclxuaDMsXHJcbmg0LFxyXG4laGVhZGluZyxcclxuLmhlYWRpbmcge1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ3NlY3VuZGFpcicpO1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblxyXG5cdCYuaXMtd2hpdGUge1xyXG5cdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0fVxyXG5cclxuXHQmLmlzLW9yYW5nZSB7XHJcblx0XHRjb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0fVxyXG5cclxuXHQmLmlzLWJsdWUge1xyXG5cdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVhZGluZyAxLlxyXG4gKi9cclxuXHJcbmgxLFxyXG4uaGVhZGluZy0xIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBmb250KDMycHgsIDMycHgpO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCg3OHB4LCA3OHB4KTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgMi5cclxuICovXHJcblxyXG5oMixcclxuJWhlYWRpbmctMixcclxuLmhlYWRpbmctMiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0QGluY2x1ZGUgZm9udCgzMnB4LCAzMnB4KTtcclxuXHR9XHJcblxyXG5cdEBpbmNsdWRlIGZvbnQoNjRweCwgNjRweCk7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBIZWFkaW5nIDMuXHJcbiAqL1xyXG5cclxuaDMsXHJcbiVoZWFkaW5nLTMsXHJcbi5oZWFkaW5nLTMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjRweCwgMjhweCk7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgzNnB4LCA0MHB4KTtcclxuXHRmb250LXdlaWdodDogNzAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEhlYWRpbmcgNC5cclxuICovXHJcblxyXG5oNCxcclxuJWhlYWRpbmctNCxcclxuLmhlYWRpbmctNCB7XHJcblx0QGluY2x1ZGUgZm9udCgyMnB4LCAyMnB4KTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFN1YmhlYWRpbmcuXHJcbiAqL1xyXG5cclxuJXN1YmhlYWRpbmcsXHJcbi5zdWJoZWFkaW5nIHtcclxuXHRAaW5jbHVkZSBmb250KDE4cHgsIDIwcHgpO1xyXG5cdGZvbnQtZmFtaWx5OiBtYXAtZ2V0KCRmb250LWZhbWlseSwgJ3NlY3VuZGFpcicpO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxuXHJcblx0Ji5pcy1ibHVlIHtcclxuXHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0fVxyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdH1cclxuXHJcblx0Ji5pcy1vcmFuZ2Uge1xyXG5cdFx0Y29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cdH1cclxufSIsIi5oYXMtbGF6eS1sb2FkIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0dG9wOiAtMTUwcHg7XHJcblx0dHJhbnNpdGlvbjogYWxsIDc1MG1zIGVhc2U7XHJcblx0dHJhbnNpdGlvbi1kZWxheTogNTAwbXM7XHJcblx0b3BhY2l0eTogMDtcclxuXHJcblx0Ji5oZWFkZXIge1xyXG5cdFx0dHJhbnNpdGlvbi1kZWxheTogNzUwbXM7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHR9XHJcbn1cclxuXHJcbi5oYXMtbGF6eS1sb2FkW2xvYWRlZD0ndHJ1ZSddIHtcclxuXHR0b3A6IDA7XHJcblx0b3BhY2l0eTogMTtcclxufVxyXG4iLCIubGluayB7XHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAyNnB4KTtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcclxuXHQmLmlzLWJsdWUge1xyXG5cdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHR9XHJcblxyXG5cdCYuaGFzLXN2Zy1yaWdodCB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IG5vbmU7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5oYXMtc3ZnLWxlZnQge1xyXG5cdFx0dGV4dC1kZWNvcmF0aW9uOiBub25lO1xyXG5cdFx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0dG9wOiA0cHg7XHJcblx0XHR3aWR0aDogMThweDtcclxuXHRcdGhlaWdodDogMjBweDtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHRjb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0XHRmb250LXdlaWdodDogNzAwO1xyXG5cclxuXHRcdHN2ZyB7XHJcblx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaGFzLWJsdWUtaG92ZXI6aG92ZXIge1xyXG5cdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHR9XHJcbn1cclxuIiwiIiwiLnBhZ2luYXRpb24ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi1ib3R0b206IDE1MHB4O1xyXG5cclxuXHQud3JhcHBlciB7XHJcblx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XHJcblx0fVxyXG5cclxuXHQucGFnZS1udW1iZXJzIHtcclxuXHRcdEBpbmNsdWRlIGZvbnQoMjJweCwgMjJweCk7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnc2VjdW5kYWlyJyk7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRmb250LXdlaWdodDogNTAwO1xyXG5cclxuXHRcdCYuY3VycmVudCB7XHJcblx0XHRcdGNvbG9yOiAkd2lzdGVyaWEtYmx1ZS0xMDA7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdFx0fVxyXG5cclxuXHRcdCYucHJldixcclxuXHRcdCYubmV4dCB7XHJcblx0XHRcdG1hcmdpbi1yaWdodDogMTVweDtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHR3aWR0aDogMjdweDtcclxuXHRcdFx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRcdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmLm5leHQge1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDA7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhIHtcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBXcmFwcGVyIChkZWZhdWx0KVxyXG4gKi9cclxuXHJcbi53cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTI4MHB4LCA2MHB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEyODBweCwgMjBweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBjb250YWluZXIoMTI4MHB4LCA1MHB4KTtcclxufVxyXG5cclxuLndyYXBwZXItLXNtYWxsIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRAaW5jbHVkZSBjb250YWluZXIoMTA2NXB4LCA2MHB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0QGluY2x1ZGUgY29udGFpbmVyKDEwNjVweCwgMjBweCk7XHJcblx0fVxyXG5cclxuXHRAaW5jbHVkZSBjb250YWluZXIoMTA2NXB4LCA1MHB4KTtcclxufVxyXG4iLCIvKipcclxuICogRXZlcnkgY29uY2VpdmFibGUgSFRNTCBlbGVtZW50IHdpdGhpbiBhIGAuY21zLW91dHB1dGAgd3JhcHBlci5cclxuICpcclxuICogMS4gRXhjbHVkZSBsYXN0IGNoaWxkcy5cclxuICovXHJcblxyXG4uY21zLW91dHB1dCB7XHJcblx0cCB7XHJcblx0XHQmOm5vdCg6bGFzdC1jaGlsZCkge1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxZW07XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRoMSxcclxuXHRoMixcclxuXHRoMyxcclxuXHRoNCxcclxuXHRoNSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAyMHB4O1xyXG5cdH1cclxuXHJcblx0b2wsXHJcblx0dWwgeyBcclxuXHRcdGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcclxuXHRcdG1hcmdpbi1sZWZ0OiAyNXB4O1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjVweDtcclxuXHJcblx0XHRsaSB7XHJcblx0XHRcdG1hcmdpbi1ib3RvbTogNXB4O1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0b2wge1xyXG5cdFx0bGlzdC1zdHlsZS10eXBlOiBkZWNpbWFsO1xyXG5cdH1cclxuXHJcblx0c3Ryb25nIHtcclxuXHRcdGZvbnQtd2VpZ2h0OiBib2xkO1xyXG5cdH1cclxuXHJcblx0YnV0dG9uIHtcclxuXHRcdG1hcmdpbi10b3A6IDIwcHg7XHJcblx0fVxyXG5cclxuXHQuaW1nLXdyYXAge1xyXG5cdFx0ZGlzcGxheTogaW5saW5lLWJsb2NrO1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHRcdGltZyB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdFx0ei1pbmRleDogMzA7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHQud3AtY2FwdGlvbiB7XHJcblx0XHR3aWR0aDogMTAwJSFpbXBvcnRhbnQ7XHJcblx0XHRtYXJnaW46IDUwcHggMDtcclxuXHJcblx0XHRwIHtcclxuXHRcdFx0bWFyZ2luLXRvcDogMzBweDtcclxuXHRcdFx0Zm9udC1zdHlsZTogaXRhbGljO1xyXG5cdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxuXHR9XHJcbn1cclxuIiwiLmNvbnRhY3QtZm9ybSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bWFyZ2luOiA3NXB4IDA7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAxMDBweCAwO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIENvbnRhY3QuXHJcbiAqL1xyXG5cclxuLmNvbnRhY3QtZm9ybV9fY29udGFjdC1jb2x1bW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWluLWhlaWdodDogYXV0bztcclxuXHRcdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcblx0fVxyXG5cclxuXHRtaW4taGVpZ2h0OiA1MTBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMDBweDtcclxuXHJcblx0LndyYXBwZXItLXNtYWxsIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2luZm9ybWF0aW9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX3N1YnRpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uY29udGFjdC1mb3JtX190aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi1ib3R0b206IDc1cHg7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2luZm9ybWF0aW9uLXdyYXAge1xyXG5cclxufVxyXG5cclxuLmNvbnRhY3QtZm9ybV9faW5mb3JtYXRpb24tdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5jb250YWN0LWZvcm1fX2luZm9ybWF0aW9uLWl0ZW0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiA1MHB4O1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEycHg7XHJcblx0XHR6LWluZGV4OiAyO1xyXG5cclxuXHRcdCYuZmEtbWFwLW1hcmtlci1hbHQge1xyXG5cdFx0XHR3aWR0aDogMjNweDtcclxuXHRcdFx0aGVpZ2h0OiAyMnB4O1xyXG5cdFx0XHRtYXJnaW4tcmlnaHQ6IDE4cHg7XHJcblx0XHR9XHJcblx0fVxyXG5cclxuXHRhLFxyXG5cdC5pcy12YWx1ZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdH1cclxuXHJcblx0LmlzLWxhYmVsIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMnB4O1xyXG5cdFx0XHRsZWZ0OiA0cHg7XHJcblx0XHRcdHdpZHRoOiAyMnB4O1xyXG5cdFx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRwYWxlLW9yYW5nZS0xMDA7XHJcblx0XHRcdGJvcmRlci1yYWRpdXM6IDk5cHg7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBJbWFnZS5cclxuICovXHJcblxyXG4uY29udGFjdC1mb3JtX19pbWFnZS1jb2x1bW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDU1MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHRoZWlnaHQ6IDM5NXB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRyaWdodDogMDtcclxuXHR3aWR0aDogNTAlO1xyXG5cdG1heC13aWR0aDogNzEwcHg7XHJcblx0aGVpZ2h0OiA2NTBweDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gMjAxcHgpO1xyXG5cdFx0bGVmdDogLTExMHB4O1xyXG5cdFx0d2lkdGg6IDI2MnB4O1xyXG5cdFx0aGVpZ2h0OiA0MDJweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZ3JvdXAyMC5zdmcnKSBuby1yZXBlYXQ7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggMjBweCAxMHB4ICRncmV5LTEwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMzlweCAwcHggMHB4IDIwN3B4O1xyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBGb3JtLlxyXG4gKi9cclxuXHJcbi5jb250YWN0LWZvcm1fX2Zvcm0tdGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5jb250ZW50LWZvcm1fX2Zvcm0td3JhcCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWF4LXdpZHRoOiA2MzBweDtcclxufVxyXG4iLCIuY29udGVudC1oZWFkZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nOiAxMDBweCAwIDc1cHggMDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDMwcHg7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDE1NHB4O1xyXG5cdFx0aGVpZ2h0OiA0OTZweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZ3JvdXAzNS5zdmcnKTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX3N1YnRpdGxlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcblxyXG4uY29udGVudC1oZWFkZXJfX3RpdGxlIHtcclxuXHRtYXgtd2lkdGg6IDYzMHB4O1xyXG59XHJcbiIsIi5jb250ZW50LWRlZmF1bHQge1xyXG5cdHBhZGRpbmc6IDUwcHggMDtcclxuXHJcblx0Ji5oYXMtaW1hZ2UtZnJhbWUge1xyXG5cdFx0LmltZy13cmFwIHtcclxuXHRcdFx0bWFyZ2luOiA1MHB4IDA7XHJcblxyXG5cdFx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRcdHRvcDogMjBweDtcclxuXHRcdFx0XHRsZWZ0OiAyMHB4O1xyXG5cdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdGhlaWdodDogMTAwJTtcclxuXHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2lzdGVyaWEtYmx1ZS0xMDA7XHJcblx0XHRcdFx0Ym9yZGVyLXJhZGl1czogNHB4O1xyXG5cdFx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRcdHotaW5kZXg6IDEwO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOmFmdGVyIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdFx0cmlnaHQ6IC01MHB4O1xyXG5cdFx0XHRcdGJvdHRvbTogLTUwcHg7XHJcblx0XHRcdFx0d2lkdGg6IDI2MnB4O1xyXG5cdFx0XHRcdGhlaWdodDogMjYycHg7XHJcblx0XHRcdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9wYXR0ZXJuLnN2ZycpO1xyXG5cdFx0XHRcdGJvcmRlci1yYWRpdXM6IDRweDtcclxuXHRcdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0XHR6LWluZGV4OiAyMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLmNvbnRlbnQtZGVmYXVsdC0tYmFja2dyb3VuZC1ibHVlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2lzdGVyaWEtYmx1ZS0xMDtcclxufVxyXG5cclxuLmNvbnRlbnQtZGVmYXVsdF9fdGl0bGUge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogNzQwcHg7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmNvbnRlbnQtZGVmYXVsdF9fZWRpdG9yIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDc0MHB4O1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcbn0iLCIuZmFxIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogNzVweDtcclxufVxyXG5cclxuLmZhcS0tYmFja2dyb3VuZC1ibHVlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2lzdGVyaWEtYmx1ZS0xMDtcclxufVxyXG5cclxuLmZhcV9fc3VidGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5mYXFfX3F1ZXN0aW9ucyB7XHJcblx0bWFyZ2luLXRvcDogMzBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBRdWVzdGlvbi5cclxuICovXHJcblxyXG4uZmFxX19xdWVzdGlvbiB7XHJcblx0Ym9yZGVyLXRvcDogMXB4IHNvbGlkICR3aXN0ZXJpYS1ibHVlLTEwMDtcclxuXHJcblx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aXN0ZXJpYS1ibHVlLTEwMDtcclxuXHR9XHJcbn1cclxuXHJcbi5mYXFfX3F1ZXN0aW9uLWhlYWQge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRwYWRkaW5nOiAzMHB4IDA7XHJcblx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAzMHB4O1xyXG5cdFx0cmlnaHQ6IDMwcHg7XHJcblx0XHR3aWR0aDogMjVweDtcclxuXHRcdGhlaWdodDogMjVweDtcclxuXHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0fVxyXG5cclxuXHQuZmEtbWludXMtY2lyY2xlIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHQuZmEtcGx1cy1jaXJjbGUge1xyXG5cdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5mYS1taW51cy1jaXJjbGUge1xyXG5cdFx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mYXFfX3F1ZXN0aW9uLXRpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDEwMHB4KTtcclxuXHR9XHJcblxyXG5cdG1heC13aWR0aDogY2FsYygxMDAlIC0gMjAwcHgpO1xyXG59XHJcblxyXG4uZmFxX19xdWVzdGlvbi1ib2R5IHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdG1hcmdpbjogLTEwcHggMCA3NXB4IDA7XHJcblx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMDBweCk7XHJcbn1cclxuXHJcbi5mYXFfX3F1ZXN0aW9uLWFuc3dlciB7XHJcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxuXHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA0MDA7XHJcbn1cclxuXHJcbi5mYXFfX3F1ZXN0aW9uLWxpbmsge1xyXG5cdG1hcmdpbi1ib3R0b206IC0yMHB4O1xyXG5cclxuXHQuYnV0dG9uIHtcclxuXHRcdG1hcmdpbjogMCAyMHB4IDIwcHggMDtcclxuXHR9XHJcbn1cclxuXHJcbi5mYXFfX3F1ZXN0aW9uLWxpbmstdGl0bGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IC0ycHg7XHJcblx0XHR3aWR0aDogMTBweDtcclxuXHRcdGhlaWdodDogMzVweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDAgNHB4IDRweCAwO1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAxMHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0fVxyXG59XHJcbiIsIi5mb290ZXItY3RhIHtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0bWFyZ2luOiAxMDBweCAwIDc1cHggMDtcclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDUwJTtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogY2FsYyg1MCUgKyA3NXB4KTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRwYWxlLW9yYW5nZS0xMDA7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG5cclxuLmZvb3Rlci1jdGFfX2JvZHkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHBhZGRpbmc6IDUwcHggMzBweDtcclxuXHR9XHJcblxyXG5cdHBhZGRpbmc6IDUwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0Ym94LXNoYWRvdzogMHB4IDBweCAyMHB4IDEwcHggJGdyZXktMTA7XHJcbn1cclxuXHJcbi5mb290ZXItY3RhX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmZvb3Rlci1jdGFfX2xpbmsge1xyXG5cclxufSIsIi5mb290ZXIge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRwYWRkaW5nOiA4MHB4IDAgMCAwO1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHQ+IC53cmFwcGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xyXG5cdFx0fVxyXG5cclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHJcblx0XHQmOmJlZm9yZSB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0fVxyXG5cdFx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAtMTMwcHg7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHR3aWR0aDogNTQycHg7XHJcblx0XHRcdGhlaWdodDogNTBweDtcclxuXHRcdFx0YmFja2dyb3VuZDogdXJsKCAnLi8uLi9pbWFnZXMvZ3JvdXAxNi5zdmcnICkgbm8tcmVwZWF0O1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0dG9wOiAtMzVweDtcclxuXHRcdHJpZ2h0OiAwO1xyXG5cdFx0d2lkdGg6IDE1NHB4O1xyXG5cdFx0aGVpZ2h0OiA0OTZweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCggJy4vLi4vaW1hZ2VzL2dyb3VwMzUuc3ZnJyApIG5vLXJlcGVhdDtcclxuXHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQWN0aW9ucy5cclxuICovXHJcblxyXG4uZm9vdGVyX19hY3Rpb25zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiAyNDBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fbG9nbyB7XHJcblx0ZGlzcGxheTogYmxvY2s7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0aW1nIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0bWF4LXdpZHRoOiAyMjBweDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogYXV0bztcclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2xpbmstd3JhcCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fbGluay10aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fc29jaWFsIHtcclxuXHJcbn1cclxuXHJcbi5mb290ZXJfX3NvY2lhbC10aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fc29jaWFsLWxpbmtlZGluIHtcclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDIwcHg7XHJcblx0XHRoZWlnaHQ6IDIwcHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDdweDtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblxyXG5cdFx0Ji5mYS1sb25nLWFycm93LXJpZ2h0IHtcclxuXHRcdFx0d2lkdGg6IDIxcHg7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogRWRpdG9ycy5cclxuICovXHJcblxyXG4uZm9vdGVyX19lZGl0b3JzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWF4LXdpZHRoOiA1MDBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDI3NXB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW4tdG9wOiA0MHB4O1xyXG5cdH1cclxuXHJcblx0QGluY2x1ZGUgZm9udCgxNnB4LCAzNnB4KTtcclxuXHR3aWR0aDogY2FsYygxMDAlIC0gMzMwcHgpO1xyXG5cdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxufVxyXG5cclxuLmZvb3Rlcl9fZWRpdG9ycy1jb2x1bW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gMjBweCk7XHJcbn1cclxuXHJcbi5mb290ZXJfX2VkaXRvcnMtaGVhZCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0Y3Vyc29yOiBwb2ludGVyO1xyXG5cdH1cclxuXHJcblx0c3ZnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdHdpZHRoOiA5cHg7XHJcblx0XHRcdGhlaWdodDogMTVweDtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2UsIHRyYW5zZm9ybSA1MDBtcyBlYXNlO1xyXG5cdFx0fVxyXG5cclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0fVxyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHRzdmcge1xyXG5cdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0Ji5pcy1hY3RpdmUsXHJcblx0Jjpob3ZlciB7XHJcblx0XHQuZm9vdGVyX19lZGl0b3JzLXRpdGxlLFxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19lZGl0b3JzLXRpdGxlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWFyZ2luOiAxMnB4IDAgMTBweCAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0fVxyXG5cclxuXHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG59XHJcblxyXG4uZm9vdGVyX19lZGl0b3JzLWVkaXRvciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdH1cclxuXHJcblx0YSB7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmOmhvdmVyIHtcclxuXHRcdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5mb290ZXJfX2NvbnRhY3Qge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRib3JkZXItdG9wOiAxcHggc29saWQgJHdoaXRlLTEwMDtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cdFx0bWFyZ2luOiAwO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcblx0bWFyZ2luLWJvdHRvbTogNTBweDtcclxufVxyXG5cclxuLmZvb3Rlcl9fYWRkcmVzcyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcbi5mb290ZXJfX3NpdGVtYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkd2hpdGUtMTAwO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoMzMuMzMzMyUgLSAyMHB4KTtcclxufVxyXG5cclxuLmZvb3Rlcl9fZGlzY2xhaW1lciB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0Ym9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICR3aGl0ZS0xMDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYygzMy4zMzMzJSAtIDIwcHgpO1xyXG59XHJcblxyXG4vKipcclxuICogQm90dG9tLlxyXG4gKi9cclxuXHJcbi5mb290ZXJfX2JvdHRvbSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bWFyZ2luLXRvcDogNTBweDtcclxuXHR9XHJcblxyXG5cdG1hcmdpbi10b3A6IDgwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTAwO1xyXG5cclxuXHQ+IC53cmFwcGVyIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdFx0XHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRcdFx0cGFkZGluZy10b3A6IDEwcHg7XHJcblx0XHRcdHBhZGRpbmctYm90dG9tOiAxMHB4O1xyXG5cdFx0fVxyXG5cclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IDQwcHg7XHJcblx0fVxyXG59XHJcblxyXG4uZm9vdGVyX19hdXRob3Ige1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0dGV4dC1hbGlnbjogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcbn1cclxuXHJcbi5mb290ZXJfX2RldmVsb3BlZC1ieSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0fVxyXG5cclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcclxufVxyXG4iLCIuaGVhZGVyIHtcclxuXHRwb3NpdGlvbjogZml4ZWQ7XHJcblx0dG9wOiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cdHotaW5kZXg6IDk5O1xyXG5cclxuXHQ+IC53cmFwcGVyIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcclxuXHRcdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0XHRoZWlnaHQ6IDgwcHg7XHJcblx0XHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRvdmVyZmxvdzogdmlzaWJsZTtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2xvZ28ge1xyXG5cdHdpZHRoOiAxNDBweDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBOYXZpZ2F0aW9uLlxyXG4gKi9cclxuXHJcbi5oZWFkZXJfX25hdmlnYXRpb24ge1xyXG5cdG1heC13aWR0aDogY2FsYygxMDAlIC0gMzAwcHgpO1xyXG59XHJcblxyXG4uaGVhZGVyX19tZW51LW1haW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0PiBsaSB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDQwcHg7XHJcblxyXG5cdFx0PiBhIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnc2VjdW5kYWlyJyk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRcdHRvcDogM3B4O1xyXG5cdFx0XHRcdHdpZHRoOiA5cHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNXB4O1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogdHJhbnNmb3JtIDUwMG1zIGVhc2U7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHJcblx0XHQmOmxhc3Qtb2YtdHlwZSB7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHJcblx0XHQmLmN1cnJlbnQtbWVudS1pdGVtLFxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdD4gYSB7XHJcblx0XHRcdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHQ+IGEgc3ZnIHtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xyXG5cdFx0XHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdH1cclxuXHJcblx0XHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0XHR0b3A6IDEwMCU7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IDUwcHg7XHJcblx0XHRsZWZ0OiA1MCU7XHJcblx0XHR0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XHJcblx0XHR3aWR0aDogbWF4LWNvbnRlbnQ7XHJcblx0XHRtaW4td2lkdGg6IDE3MHB4O1xyXG5cdFx0cGFkZGluZy10b3A6IDI3cHg7XHJcblx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblxyXG5cdFx0LnN1Ym1lbnUge1xyXG5cdFx0XHRib3gtc2hhZG93OiAwcHggOHB4IDIwcHggMTBweCAkZ3JleS0yMDtcclxuXHJcblx0XHRcdD4gbGkge1xyXG5cdFx0XHRcdD4gYSB7XHJcblx0XHRcdFx0XHRAaW5jbHVkZSBmb250KDE0cHgsIDIwcHgpO1xyXG5cdFx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRcdFx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnc2VjdW5kYWlyJyk7XHJcblx0XHRcdFx0XHRmb250LXdlaWdodDogMzAwO1xyXG5cdFx0XHRcdFx0cGFkZGluZzogMTBweCAxMHB4O1xyXG5cdFx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0XHRcdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHJcblx0XHRcdFx0XHRzdmcge1xyXG5cdFx0XHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0XHRcdHRvcDogMDtcclxuXHRcdFx0XHRcdFx0d2lkdGg6IDEzcHg7XHJcblx0XHRcdFx0XHRcdGhlaWdodDogMTdweDtcclxuXHRcdFx0XHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdFx0XHRcdG1hcmdpbi1sZWZ0OiAwO1xyXG5cdFx0XHRcdFx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHRcdFx0XHRcdH1cclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdCYuY3VycmVudC1tZW51LWl0ZW0sXHJcblx0XHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdFx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cclxuXHRcdFx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdFx0XHRtYXJnaW4tbGVmdDogN3B4O1xyXG5cdFx0XHRcdFx0XHR9XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1lbnUgQnV0dG9uLlxyXG4gKi9cclxuXHJcbiR0cmFuc2l0aW9uLXRpbWluZzogNDAwbXM7XHJcbi5oZWFkZXJfX21lbnUtYnV0dG9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IDI3cHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0XHR6LWluZGV4OiAxMDA7XHJcblxyXG5cdFx0c3BhbiB7XHJcblx0XHRcdGRpc3BsYXk6IGlubGluZS1ibG9jaztcclxuXHRcdFx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdFx0XHRyaWdodDogMDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0d2lkdGg6IDI3cHg7XHJcblx0XHRcdGhlaWdodDogM3B4O1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAycHg7XHJcblx0XHRcdG1hcmdpbjogYXV0bztcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0XHRcdCY6bnRoLWNoaWxkKDEpIHtcclxuXHRcdFx0XHR0b3A6IDA7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAkdHJhbnNpdGlvbi10aW1pbmcsIHRvcCAkdHJhbnNpdGlvbi10aW1pbmcgJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nIDBzO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0dG9wOiBjYWxjKDUwJSAtIDEuNXB4KTtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgb3BhY2l0eSAwbXMgJHRyYW5zaXRpb24tdGltaW5nO1xyXG5cdFx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdFx0b3BhY2l0eTogMTtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgYm90dG9tICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmcsIHRyYW5zZm9ybSAkdHJhbnNpdGlvbi10aW1pbmcgMHM7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0c3BhbiB7XHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMSkge1xyXG5cdFx0XHRcdFx0dG9wOiBjYWxjKDUwJSAtIDEuNXB4KTtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XHJcblx0XHRcdFx0XHR0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yICR0cmFuc2l0aW9uLXRpbWluZywgdG9wICR0cmFuc2l0aW9uLXRpbWluZywgdHJhbnNmb3JtICR0cmFuc2l0aW9uLXRpbWluZyAkdHJhbnNpdGlvbi10aW1pbmc7XHJcblx0XHRcdFx0fVxyXG5cclxuXHRcdFx0XHQmOm50aC1jaGlsZCgyKSB7XHJcblx0XHRcdFx0XHRvcGFjaXR5OiAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpudGgtY2hpbGQoMykge1xyXG5cdFx0XHRcdFx0Ym90dG9tOiBjYWxjKDUwJSAtIDEuNXB4KTtcclxuXHRcdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcclxuXHRcdFx0XHRcdHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgJHRyYW5zaXRpb24tdGltaW5nLCBib3R0b20gJHRyYW5zaXRpb24tdGltaW5nLCB0cmFuc2Zvcm0gJHRyYW5zaXRpb24tdGltaW5nICR0cmFuc2l0aW9uLXRpbWluZztcclxuXHRcdFx0XHR9XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQWN0aW9ucy5cclxuICovXHJcblxyXG4uaGVhZGVyX19hY3Rpb25zIHtcclxuXHR3aWR0aDogMTMwcHg7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxufVxyXG5cclxuLmhlYWRlcl9fbGlua2VkaW4ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRtYXJnaW4tcmlnaHQ6IDIwcHg7XHJcblx0b3BhY2l0eTogMC41O1xyXG5cdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cclxuXHRzdmcge1xyXG5cdFx0d2lkdGg6IDIycHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0b3BhY2l0eTogMTtcclxuXHR9XHJcbn1cclxuXHJcbi5oZWFkZXJfX2NvbnRhY3QtYnV0dG9uIHtcclxuXHJcbn1cclxuIiwiLmludHJvZHVjdGlvbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdG1pbi1oZWlnaHQ6IDgxNXB4O1xyXG5cdH1cclxuXHRAbWVkaWEobWF4LXdpZHRoOiA4MDBweCkge1xyXG5cdFx0bWluLWhlaWdodDogYXV0bztcclxuXHRcdHBhZGRpbmctYm90dG9tOiAwO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1pbi1oZWlnaHQ6IDgxNXB4O1xyXG5cdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cdHBhZGRpbmc6IDc1cHggMCAzMDBweCAwO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMzBweDtcclxuXHRcdGxlZnQ6IC0zODBweDtcclxuXHRcdHdpZHRoOiA1MzhweDtcclxuXHRcdGhlaWdodDogNjQycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2dyb3VwMjcuc3ZnJykgbm8tcmVwZWF0O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAwO1xyXG5cdH1cclxuXHJcblx0JjphZnRlciB7XHJcblx0XHRAbWVkaWEobWluLXdpZHRoOiAxNDQwcHgpIHtcclxuXHRcdFx0YmFja2dyb3VuZC1zaXplOiBpbml0aWFsO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhKG1heC13aWR0aDogODAwcHgpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTAwdnc7XHJcblx0XHRtaW4td2lkdGg6IDE0NDBweDtcclxuXHRcdGhlaWdodDogMzkycHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2ludHJvZHVjdGlvbi1vdmVybGF5LnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdGJhY2tncm91bmQtc2l6ZTogY292ZXI7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IDE7XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIFRleHQgY29sdW1uLlxyXG4gKi9cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX3RleHQtY29sdW1uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0bWF4LXdpZHRoOiBjYWxjKDEwMCUgLSA0NTBweCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdG1heC13aWR0aDogY2FsYygxMDAlIC0gNDEwcHgpO1xyXG5cdH1cclxuXHRAbWVkaWEobWF4LXdpZHRoOiA4MDBweCkge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDI1MHB4O1xyXG5cdFx0ei1pbmRleDogNTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDUzNXB4O1xyXG5cdHotaW5kZXg6IDEwO1xyXG5cclxuXHQmOmFmdGVyIHtcclxuXHRcdEBtZWRpYShtYXgtd2lkdGg6IDgwMHB4KSB7XHJcblx0XHRcdGRpc3BsYXk6IGJsb2NrO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGJvdHRvbTogMDtcclxuXHRcdFx0bGVmdDogLTYwcHg7XHJcblx0XHRcdHdpZHRoOiAxNDQwcHg7XHJcblx0XHRcdGhlaWdodDogMjkwcHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvaW50cm9kdWN0aW9uLW92ZXJsYXkuc3ZnJykgbm8tcmVwZWF0O1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdFx0ei1pbmRleDogMTtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0bGVmdDogLTIwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLmludHJvZHVjdGlvbl9fbGluayB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX19lZGl0b3Ige1xyXG5cdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX19saW5rLXRpdGxlIHtcclxuXHRtYXJnaW46IDMwcHggMDtcclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBJbWFnZSBjb2x1bW4uXHJcbiAqL1xyXG5cclxuLmludHJvZHVjdGlvbl9faW1hZ2UtY29sdW1uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDQ1MHB4O1xyXG5cdH1cclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDQxMHB4O1xyXG5cdH1cclxuXHRAbWVkaWEobWF4LXdpZHRoOiA4MDBweCkge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xyXG5cdFx0aGVpZ2h0OiA1MDBweDtcclxuXHRcdG1hcmdpbi10b3A6IDI1cHg7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IC0yMHB4O1xyXG5cdFx0ei1pbmRleDogMTA7XHJcblxyXG5cdFx0JjphZnRlciB7XHJcblx0XHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdFx0dG9wOiAtMjVweDtcclxuXHRcdFx0bGVmdDogLTYwcHg7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAxMjBweCk7XHJcblx0XHRcdGhlaWdodDogY2FsYygxMDAlICsgMjVweCk7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHR6LWluZGV4OiAxO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRyaWdodDogMDtcclxuXHR3aWR0aDogNTk1cHg7XHJcblx0aGVpZ2h0OiA2NTBweDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0dG9wOiAyNXB4O1xyXG5cdFx0XHRsZWZ0OiAwO1xyXG5cdFx0fVxyXG5cdFx0QG1lZGlhKG1heC13aWR0aDogODAwcHgpIHtcclxuXHRcdFx0dG9wOiAtMzVweDtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZ3JvdXAyMC5zdmcnKTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMjBweDtcclxuXHRcdGxlZnQ6IC03cHg7XHJcblx0XHR3aWR0aDogMjYycHg7XHJcblx0XHRoZWlnaHQ6IDQwMnB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9ncm91cDIwLnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogMjtcclxuXHR9XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX2ltYWdlIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0d2lkdGg6IDM0NXB4O1xyXG5cdFx0aGVpZ2h0OiA0NTVweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IDMzNXB4O1xyXG5cdFx0aGVpZ2h0OiA0NDVweDtcclxuXHR9XHJcblx0QG1lZGlhKG1heC13aWR0aDogODAwcHgpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0aGVpZ2h0OiAzOTVweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogNDk1cHg7XHJcblx0aGVpZ2h0OiA2NTBweDtcclxuXHR6LWluZGV4OiA1O1xyXG5cclxuXHRpbWcge1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCAyMHB4IDEwcHggJGdyZXktMjA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzOXB4IDBweCAwcHggMjA3cHg7XHJcblx0fVxyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX19udW1iZXItd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdHJpZ2h0OiA3MHB4O1xyXG5cdH1cclxuXHRAbWVkaWEobWF4LXdpZHRoOiA4MDBweCkge1xyXG5cdFx0cmlnaHQ6IDQwcHg7XHJcblx0fVxyXG5cclxuXHQmLmlzLXdoaXRlIHtcclxuXHRcdGNvbG9yOiAkd2hpdGUtMTAwXHJcblx0fVxyXG5cclxuXHQmLmlzLWJsdWUge1xyXG5cdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHR9XHJcblxyXG5cdCYuaXMtb3JhbmdlIHtcclxuXHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMTAwcHg7XHJcblx0aGVpZ2h0OiBhdXRvO1xyXG5cdHRvcDogNTBweDtcclxuXHRyaWdodDogMTAwcHg7XHJcblx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0ei1pbmRleDogMTA7XHJcbn1cclxuXHJcbi5pbnRyb2R1Y3Rpb25fX251bWJlciB7XHJcblx0QGluY2x1ZGUgZm9udCg5MnB4LCA3MHB4KTtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX19udW1iZXItY2FwdGlvbiB7XHJcblx0QGluY2x1ZGUgZm9udCgxOHB4LCAyMHB4KTtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRmb250LXdlaWdodDogMzAwO1xyXG59XHJcblxyXG4uaW50cm9kdWN0aW9uX19pbWFnZS1jYXB0aW9uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0dG9wOiAzMTVweDtcclxuXHRcdHJpZ2h0OiA2NXB4O1xyXG5cdFx0bGVmdDogYXV0bztcclxuXHRcdHdpZHRoOiAyNzdweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0dG9wOiAzMDVweDtcclxuXHRcdHJpZ2h0OiA2MHB4O1xyXG5cdH1cclxuXHRAbWVkaWEobWF4LXdpZHRoOiA4MDBweCkge1xyXG5cdFx0dG9wOiAyNjBweDtcclxuXHRcdHJpZ2h0OiBhdXRvO1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWF4LXdpZHRoOiAyNzdweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDI5MHB4O1xyXG5cdGxlZnQ6IDI1cHg7XHJcblx0d2lkdGg6IDMwNXB4O1xyXG5cdGhlaWdodDogYXV0bztcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdGJveC1zaGFkb3c6IDBweCAwcHggMjBweCAxMHB4ICRncmV5LTIwO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxuXHR6LWluZGV4OiAxMDtcclxufVxyXG5cclxuLmludHJvZHVjdGlvbl9faW1hZ2UtdGl0bGUge1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogLTRweDtcclxuXHRcdGxlZnQ6IC0yMHB4O1xyXG5cdFx0d2lkdGg6IDMwcHg7XHJcblx0XHRoZWlnaHQ6IDI4cHg7XHJcblx0XHRib3JkZXItcmFkaXVzOiAwIDRweCA0cHggMDtcclxuXHRcdG1hcmdpbi1yaWdodDogLTEwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHR9XHJcbn1cclxuIiwiLmxvZ29zIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0cGFkZGluZy1ib3R0b206IDc1cHg7XHJcblx0fVxyXG5cdEBtZWRpYShtYXgtd2lkdGg6IDgwMHB4KSB7XHJcblx0XHRtYXJnaW46IDA7XHJcblx0fVxyXG5cclxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuICAgIG1hcmdpbi10b3A6IC0yMzBweDtcclxuICAgIHBhZGRpbmctYm90dG9tOiAxMDBweDtcclxuICAgIHotaW5kZXg6IDIwO1xyXG59XHJcblxyXG4ubG9nb3NfX2xpbmsge1xyXG5cdG1hcmdpbi1ib3R0b206IDMwcHg7XHJcbn1cclxuXHJcbi5sb2dvc19fd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWF4LXdpZHRoOiAxMDAlO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHBhZGRpbmctYm90dG9tOiAzNXB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1heC13aWR0aDogNzAwcHg7XHJcblxyXG5cdC5vd2wtc3RhZ2Uge1xyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHR9XHJcblxyXG5cdCY6YWZ0ZXIge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRib3R0b206IDA7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDQwMnB4O1xyXG5cdFx0aGVpZ2h0OiAxMHB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9ncm91cDE3LnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogMTtcclxuXHR9XHJcbn1cclxuXHJcbi5sb2dvc19fbG9nbyB7XHJcblx0QG1lZGlhKG1heC13aWR0aDogODAwcHgpIHtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdH1cclxuXHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdGltZyB7XHJcblx0XHRtYXgtd2lkdGg6IDEyMHB4O1xyXG5cdFx0d2lkdGg6IGF1dG87XHJcblx0XHRtYXgtaGVpZ2h0OiA1MHB4O1xyXG5cdFx0aGVpZ2h0OiBhdXRvO1xyXG5cdH1cclxufSIsIi5wb3B1cCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xyXG5cdFx0Ym90dG9tOiAxMHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGZpeGVkO1xyXG5cdHJpZ2h0OiAtNTAlO1xyXG5cdGJvdHRvbTogMjBweDtcclxuXHRvcGFjaXR5OiAwO1xyXG5cdHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xyXG5cdG1pbi13aWR0aDogMzA1cHg7XHJcblx0bWF4LXdpZHRoOiA2MDBweDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRib3gtc2hhZG93OiAwcHggMHB4IDIwcHggMTBweCByZ2JhKDg0LCA4NCwgODQsIDAuMjApO1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0ei1pbmRleDogOTU7XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0cmlnaHQ6IDEwcHg7XHJcblx0XHR9XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdFx0cmlnaHQ6IDIwcHg7XHJcblx0fVxyXG5cclxuXHQmLmJhY2tncm91bmQtb3JhbmdlIHtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cclxuXHRcdC5idXR0b24ge1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0Ym9yZGVyOiAycHggc29saWQgJHdoaXRlLTEwMDtcclxuXHJcblx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0ZmlsbDogJHdoaXRlLTEwMDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0Jjpob3ZlciB7XHJcblx0XHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFxyXG5cdFx0XHRcdHN2ZyB7XHJcblx0XHRcdFx0XHRmaWxsOiAkYmx1ZS0xMDA7XHJcblx0XHRcdFx0fVxyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0LnBvcHVwX190aXRsZSB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cclxuXHRcdC5wb3B1cF9fdGV4dCB7XHJcblx0XHRcdGNvbG9yOiAkd2hpdGUtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxuXHJcblx0LnBvcHVwX193cmFwcGVyIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcclxuXHRcdCY6OmJlZm9yZSB7XHJcblx0XHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdHRvcDogMTJweDtcclxuXHRcdFx0bGVmdDogMDtcclxuXHRcdFx0YmFja2dyb3VuZC1jb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0XHRib3JkZXItcmFkaXVzOiAwcHggNHB4IDRweCAwcHg7XHJcblx0XHRcdHdpZHRoOiAxMHB4O1xyXG5cdFx0XHRoZWlnaHQ6IDM0cHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ucG9wdXBfX3RpdGxlIHtcclxuXHRmb250LXNpemU6IDIycHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRsaW5lLWhlaWdodDogMjJweDtcclxuXHRjb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0bWFyZ2luLWJvdHRvbTogMTJweDtcclxufVxyXG5cclxuLnBvcHVwX190ZXh0IHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMnB4O1xyXG5cdGZvbnQtc2l6ZTogMTZweDtcclxuXHRmb250LXdlaWdodDogNDAwO1xyXG5cdGxpbmUtaGVpZ2h0OiAyNnB4O1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcbn1cclxuXHJcbi5wb3B1cF9fbGluayB7XHJcblx0bWFyZ2luLXRvcDogMTJweDtcclxuXHJcblx0LmJ1dHRvbiB7XHJcblx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0Ym9yZGVyOiAycHggc29saWQgJGJsdWUtMTAwO1xyXG5cdFx0YmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblx0XHRcdGZpbGw6ICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblxyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdGZpbGw6ICRibHVlLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnBvcHVwX19jbG9zZSB7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRyaWdodDogMDtcclxuXHRkaXNwbGF5OiBpbmxpbmUtZmxleDtcclxuXHRqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiAyMHB4O1xyXG5cdGhlaWdodDogMjBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2lzdGVyaWEtYmx1ZS0xMDA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogMTNweDtcclxuXHRcdGhlaWdodDogMThweDtcclxuXHR9XHJcbn0iLCIubmF2aWdhdGlvbi1tb2JpbGUge1xyXG5cdHBvc2l0aW9uOiBmaXhlZDtcclxuXHR0b3A6IDEwMHZoO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogY2FsYygxMDAlIC0gODBweCk7XHJcblx0bWFyZ2luLXRvcDogODBweDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgNTAwbXMgZWFzZTtcclxuXHRiYWNrZ3JvdW5kOiAkd2hpdGUtMTAwO1xyXG5cdG9wYWNpdHk6IDA7XHJcblx0ei1pbmRleDogOTk7XHJcblx0b3ZlcmZsb3cteDogaGlkZGVuO1xyXG5cclxuXHQmLmlzLWFjdGl2ZSB7XHJcblx0XHR0b3A6IDA7XHJcblx0XHRvcGFjaXR5OiAxO1xyXG5cdH1cclxuXHJcblx0Jjo6LXdlYmtpdC1zY3JvbGxiYXIge1xyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogTWFpbiBtZW51LlxyXG4gKi9cclxuXHJcbi5uYXZpZ2F0aW9uLW1vYmlsZV9fbWFpbiB7XHJcblx0bWFyZ2luOiAzMHB4IDAgMCAwO1xyXG5cclxuXHQ+IGxpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0XHQmLmN1cnJlbnRfcGFnZV9hbmNlc3RvcixcclxuXHRcdCYuY3VycmVudC1tZW51LWl0ZW0ge1xyXG5cdFx0XHQ+IGEge1xyXG5cdFx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHJcblx0XHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRcdGNvbG9yOiAkb3JhbmdlLTEwMDtcdFxyXG5cdFx0XHRcdH1cclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdCYuaXMtYWN0aXZlIHtcclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHR0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblxyXG5cdFx0PiBhIHtcclxuXHRcdFx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRcdFx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnc2VjdW5kYWlyJyk7XHJcblx0XHRcdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0XHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRcdHBhZGRpbmc6IDAgMCAxMHB4IDA7XHJcblx0XHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblxyXG5cdFx0XHRzcGFuIHtcclxuXHRcdFx0XHRwYWRkaW5nLXJpZ2h0OiAyMHB4O1xyXG5cdFx0XHRcdGN1cnNvcjogcG9pbnRlcjtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0c3ZnIHtcclxuXHRcdFx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHRcdFx0dG9wOiAycHg7XHJcblx0XHRcdFx0d2lkdGg6IDExcHg7XHJcblx0XHRcdFx0aGVpZ2h0OiAxNnB4O1xyXG5cdFx0XHRcdG1hcmdpbi1sZWZ0OiA1cHg7XHJcblx0XHRcdFx0dHJhbnNpdGlvbjogYWxsIDUwMG1zIGVhc2U7XHJcblx0XHRcdFx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cclxuXHRcdC5zdWJtZW51LWNvbnRhaW5lciB7XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArIDEwMHB4KTtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTUwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogMTBweCA2NXB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdFx0d2lkdGg6IGNhbGMoMTAwJSArIDEyMHB4KTtcclxuXHRcdFx0XHRtYXJnaW4tbGVmdDogLTYwcHg7XHJcblx0XHRcdFx0cGFkZGluZzogMTBweCA3NXB4O1xyXG5cdFx0XHR9XHJcblx0XHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0XHR3aWR0aDogY2FsYygxMDAlICsgNDBweCk7XHJcblx0XHRcdFx0bWFyZ2luLWxlZnQ6IC0yMHB4O1xyXG5cdFx0XHRcdHBhZGRpbmc6IDEwcHggMzVweDtcclxuXHRcdFx0fVxyXG5cclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0XHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkZ3JleS0yMDA7XHJcblxyXG5cdFx0XHRsaSB7XHJcblx0XHRcdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdFx0XHRtYXJnaW4tYm90dG9tOiAxNXB4O1xyXG5cclxuXHRcdFx0XHRhIHtcclxuXHRcdFx0XHRcdEBpbmNsdWRlIGZvbnQoMTRweCwgMjBweCk7XHJcblx0XHRcdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRcdFx0XHRcdGZvbnQtd2VpZ2h0OiA0MDA7XHJcblx0XHRcdFx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdFx0XHRcdH1cclxuXHJcblx0XHRcdFx0JjpsYXN0LW9mLXR5cGUge1xyXG5cdFx0XHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdFx0XHR9XHJcblxyXG5cdFx0XHRcdC8vIHNhc3MtbGludDpkaXNhYmxlIGNsYXNzLW5hbWUtZm9ybWF0XHJcblx0XHRcdFx0Ji5jdXJyZW50X3BhZ2VfYW5jZXN0b3IsXHJcblx0XHRcdFx0Ji5jdXJyZW50LW1lbnUtaXRlbSB7XHJcblx0XHRcdFx0XHQ+IGEge1xyXG5cdFx0XHRcdFx0XHRjb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0XHRcdFx0XHR9XHJcblx0XHRcdFx0fVxyXG5cdFx0XHRcdC8vIHNhc3MtbGludDplbmFibGUgY2xhc3MtbmFtZS1mb3JtYXRcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBDb250YWN0LlxyXG4gKi9cclxuXHJcbi5uYXZpZ2F0aW9uLW1vYmlsZV9fY29udGFjdCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcblx0aGVpZ2h0OiA0NXB4O1xyXG5cdHBhZGRpbmc6IDEycHggMDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHJcblx0YSB7XHJcblx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0bWFyZ2luLXJpZ2h0OiAyMHB4O1xyXG5cdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0dHJhbnNpdGlvbjogYWxsIDI1MG1zIGVhc2U7XHJcblxyXG5cdFx0c3ZnIHtcclxuXHRcdFx0d2lkdGg6IDIycHg7XHJcblx0XHRcdGhlaWdodDogMjJweDtcclxuXHRcdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHR9XHJcblxyXG5cdFx0Jjpob3ZlciB7XHJcblx0XHRcdG9wYWNpdHk6IDE7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4vKipcclxuICogRGlzYWJsZSBzY3JvbGwuXHJcbiAqL1xyXG5cclxuLmJvZHkuaXMtYWN0aXZlIHtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHQuaGVhZGVyOjpiZWZvcmUge1xyXG5cdFx0Ym90dG9tOiAwO1xyXG5cdH1cclxufVxyXG4iLCIubmV3cy1sYXRlc3QtaXRlbSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRoZWlnaHQ6IDUwJTtcclxuXHRvdmVyZmxvdzogaGlkZGVuO1xyXG5cclxuXHRhIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogZmxleC1lbmQ7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHR9XHJcblxyXG5cdCYuaXMtYmlnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0bWFyZ2luLWJvdHRvbTogMDtcclxuXHRcdH1cclxuXHJcblx0XHRoZWlnaHQ6IDEwMCU7XHJcblxyXG5cdFx0YSB7XHJcblx0XHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0XHRoZWlnaHQ6IDEwMCVcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCY6aG92ZXIge1xyXG5cdFx0Lm5ld3MtbGF0ZXN0LWl0ZW1fX2ltYWdlIGltZyB7XHJcblx0XHRcdHRvcDogLTEwcHg7XHJcblx0XHRcdGxlZnQ6IC0xMHB4O1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHRcdGhlaWdodDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5ld3MtbGF0ZXN0LWl0ZW1fX21vcmUgc3ZnIHtcclxuXHRcdFx0bWFyZ2luLWxlZnQ6IDEwcHg7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1sYXRlc3QtaXRlbV9fbGFiZWwge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTRweCwgMjBweCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR0b3A6IDIwcHg7XHJcblx0cmlnaHQ6IDIwcHg7XHJcblx0cGFkZGluZzogNXB4IDIwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHBhbGUtb3JhbmdlLTEwMDtcclxuXHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblx0ei1pbmRleDogMTA7XHJcblx0Ym9yZGVyLXJhZGl1czogNXB4O1xyXG5cclxuXHQmLmlzLWRhdGUge1xyXG5cclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdC1pdGVtX19pbWFnZSB7XHJcblx0aW1nIHtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAyNTBtcyBlYXNlO1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3MtbGF0ZXN0LWl0ZW1fX2JvZHkge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogMTAwJTtcclxuXHRwYWRkaW5nOiAyMHB4IDMwcHggMzBweCA0MHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTcwO1xyXG5cdHotaW5kZXg6IDEwO1xyXG59XHJcblxyXG4ubmV3cy1sYXRlc3QtaXRlbV9fbW9yZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTBweDtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogNXB4O1xyXG5cdFx0d2lkdGg6IDE4cHg7XHJcblx0XHRoZWlnaHQ6IDIwcHg7XHJcblx0XHRtYXJnaW4tbGVmdDogNXB4O1xyXG5cdFx0Y29sb3I6ICR3aGl0ZS0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdC1pdGVtX190aXRsZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC00cHg7XHJcblx0XHRsZWZ0OiAtNDBweDtcclxuXHRcdHdpZHRoOiAzMHB4O1xyXG5cdFx0aGVpZ2h0OiAyOHB4O1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMCA0cHggNHB4IDA7XHJcblx0XHRtYXJnaW4tcmlnaHQ6IDEwcHg7XHJcblx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkb3JhbmdlLTEwMDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdH1cclxufSIsIi5uZXdzLWxhdGVzdCB7XHJcblx0bWFyZ2luLWJvdHRvbTogMTAwcHg7XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fc3VidGl0bGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fdGl0bGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAzNXB4O1xyXG5cdH1cclxuXHJcblx0bWFyZ2luLWJvdHRvbTogNzVweDtcclxufVxyXG5cclxuLm5ld3MtbGF0ZXN0X193cmFwIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRwYWRkaW5nOiAwO1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1heC13aWR0aDogMTQ0MHB4O1xyXG5cdG1hcmdpbjogMCBhdXRvO1xyXG5cdHBhZGRpbmctYm90dG9tOiA3NXB4O1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0XHR3aWR0aDogNTQycHg7XHJcblx0XHRcdGxlZnQ6IDUwcHg7XHJcblx0XHRcdG1hcmdpbjogMDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdFx0bGVmdDogNjBweDtcclxuXHRcdH1cclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdGJvdHRvbTogMDtcclxuXHRcdGxlZnQ6IDUwcHg7XHJcblx0XHRyaWdodDogNTBweDtcclxuXHRcdHdpZHRoOiAxMjgwcHg7XHJcblx0XHRoZWlnaHQ6IDI2MnB4O1xyXG5cdFx0bWFyZ2luOiAwIGF1dG87XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2dyb3VwMTYuc3ZnJykgbm8tcmVwZWF0O1xyXG5cdFx0Y29udGVudDogJyc7XHJcblx0XHR6LWluZGV4OiAtMTtcclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLWxhdGVzdF9fY29sdW1uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA1MDVweDtcclxuXHR9XHJcblxyXG5cdGhlaWdodDogNjgwcHg7XHJcblxyXG5cdCYuaXMtYmlnIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRcdGhlaWdodDogNTA1cHg7XHJcblx0XHRcdG1hcmdpbi1ib3R0b206IDIwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IDU1JTtcclxuXHR9XHJcblxyXG5cdCYuaXMtc21hbGwge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0aGVpZ2h0OiA1MjBweDtcclxuXHRcdH1cclxuXHJcblx0XHR3aWR0aDogNDUlO1xyXG5cdH1cclxufVxyXG4iLCIubmV3cy1saXN0LWl0ZW0ge1xyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHJcblx0Jjpob3ZlciB7XHJcblx0XHQubmV3cy1saXN0LWl0ZW1fX2ltYWdlIGltZyB7XHJcblx0XHRcdHRvcDogLTEwcHg7XHJcblx0XHRcdGxlZnQ6IC0xMHB4O1xyXG5cdFx0XHR3aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHRcdG1heC13aWR0aDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHRcdGhlaWdodDogY2FsYygxMDAlICsgMjBweCk7XHJcblx0XHR9XHJcblxyXG5cdFx0Lm5ld3MtbGlzdC1pdGVtX19tb3JlIHN2ZyB7XHJcblx0XHRcdG1hcmdpbi1sZWZ0OiAxMHB4O1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLm5ld3MtbGlzdC1pdGVtX19sYWJlbCB7XHJcblx0QGluY2x1ZGUgZm9udCgxNHB4LCAyMHB4KTtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGFsaWduLWl0ZW1zOiBjZW50ZXI7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMjBweDtcclxuXHRyaWdodDogMjBweDtcclxuXHRwYWRkaW5nOiA1cHggMjBweDtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkcGFsZS1vcmFuZ2UtMTAwO1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0Zm9udC13ZWlnaHQ6IDUwMDtcclxuXHR6LWluZGV4OiAxMDtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblxyXG5cdCYuaXMtZGF0ZSB7XHJcblxyXG5cdH1cclxufVxyXG5cclxuLm5ld3MtbGlzdC1pdGVtX19pbWFnZSB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMzU1cHg7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblxyXG5cdGltZyB7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHR9XHJcbn1cclxuXHJcbi5uZXdzLWxpc3QtaXRlbV9fYm9keSB7XHJcblx0cGFkZGluZzogMjBweCAwIDAgMDtcclxufVxyXG5cclxuLm5ld3MtbGlzdC1pdGVtX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMjBweDtcclxufVxyXG5cclxuLm5ld3MtbGlzdC1pdGVtX190ZWFzZXIge1xyXG5cdGNvbG9yOiAkYmx1ZS0xMDA7XHJcbn1cclxuXHJcbi5uZXdzLWxpc3QtaXRlbV9fbW9yZSB7XHJcblx0bWFyZ2luLXRvcDogMTVweDtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdGZvbnQtd2VpZ2h0OiA1MDA7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblx0XHR0b3A6IDVweDtcclxuXHRcdHdpZHRoOiAxOHB4O1xyXG5cdFx0aGVpZ2h0OiAyMHB4O1xyXG5cdFx0bWFyZ2luLWxlZnQ6IDVweDtcclxuXHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHR9XHJcbn0iLCIubmV3cy1saXN0IHtcclxuXHRtYXJnaW4tYm90dG9tOiA1NXB4O1xyXG59XHJcblxyXG4ubmV3cy1saXN0X190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLm5ld3MtbGlzdF9fd3JhcCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0XHRtYXJnaW46IC0xMi41cHggMDtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcclxuXHRtYXJnaW46IC0zNy41cHggLTEwcHg7XHJcblxyXG5cdC5uZXdzLWxpc3QtaXRlbSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRcdHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG5cdFx0fVxyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0XHR3aWR0aDogMTAwJTtcclxuXHRcdFx0bWFyZ2luOiAyNXB4IDA7XHJcblx0XHR9XHJcblxyXG5cdFx0d2lkdGg6IGNhbGMoMzMuMzMzMyUgLSAyMHB4KTtcclxuXHRcdG1hcmdpbjogMzcuNXB4IDEwcHg7XHJcblx0fVxyXG59XHJcbiIsIi5uZXdzLXNlbGVjdGlvbiB7XHJcblx0bWFyZ2luLWJvdHRvbTogNzVweDtcclxuXHRwYWRkaW5nOiA1MHB4IDA7XHJcbn1cclxuXHJcbi5uZXdzLXNlbGVjdGlvbi0tYmFja2dyb3VuZC1ibHVlIHtcclxuXHRiYWNrZ3JvdW5kLWNvbG9yOiAkd2lzdGVyaWEtYmx1ZS0xMDtcclxufVxyXG5cclxuLm5ld3Mtc2VsZWN0aW9uX190aXRsZSB7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxufVxyXG5cclxuLm5ld3Mtc2VsZWN0aW9uX19uYXZpZ2F0aW9uIHtcclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XHJcblx0bWFyZ2luLWJvdHRvbTogMzBweDtcclxuXHJcblx0c3ZnIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHRvcDogMnB4O1xyXG5cdFx0d2lkdGg6IDEycHg7XHJcblx0XHRoZWlnaHQ6IDIycHg7XHJcblx0XHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRjb2xvcjogJG9yYW5nZS0xMDA7XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG4ubmV3cy1zZWxlY3Rpb25fX25hdmlnYXRpb24tY291bnQge1xyXG5cdEBpbmNsdWRlIGZvbnQoMTZweCwgMjZweCk7XHJcblx0bWFyZ2luOiAwIDEwcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDQwMDtcclxufVxyXG5cclxuLm5ld3Mtc2VsZWN0aW9uX193cmFwIHtcclxuXHQub3dsLW5hdiB7XHJcblx0XHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG4iLCIubmV3cy1zaW5nbGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG1pbi1oZWlnaHQ6IGF1dG87XHJcblx0XHRtYXJnaW46IDc1cHggMDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiA2NTBweDtcclxuXHRtYXJnaW46IDEwMHB4IDAgNzVweCAwO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC00NXB4O1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxNTRweDtcclxuXHRcdGhlaWdodDogNDk2cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2dyb3VwMzUuc3ZnJyk7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX190ZXh0LWNvbHVtbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDEwMCU7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNTAlO1xyXG59XHJcblxyXG4ubmV3cy1zaW5nbGVfX2ltYWdlLWNvbHVtbiB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdGhlaWdodDogNTUwcHg7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRcdHdpZHRoOiBjYWxjKDEwMCUgKyAyMHB4KTtcclxuXHRcdGhlaWdodDogMzk1cHg7XHJcblx0XHRtYXJnaW4tdG9wOiAzMHB4O1xyXG5cdH1cclxuXHJcblx0cG9zaXRpb246IGFic29sdXRlO1xyXG5cdHRvcDogMDtcclxuXHRyaWdodDogMDtcclxuXHR3aWR0aDogNTAlO1xyXG5cdG1heC13aWR0aDogNzEwcHg7XHJcblx0aGVpZ2h0OiA2NTBweDtcclxuXHJcblx0JjpiZWZvcmUge1xyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IGNhbGMoNTAlIC0gMjAxcHgpO1xyXG5cdFx0bGVmdDogLTExMHB4O1xyXG5cdFx0d2lkdGg6IDI2MnB4O1xyXG5cdFx0aGVpZ2h0OiA0MDJweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZ3JvdXAyMC5zdmcnKSBuby1yZXBlYXQ7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxuXHJcblx0aW1nIHtcclxuXHRcdGJveC1zaGFkb3c6IDBweCAwcHggMjBweCAxMHB4ICRncmV5LTEwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogMzlweCAwcHggMHB4IDIwN3B4O1xyXG5cdH1cclxufVxyXG5cclxuLm5ld3Mtc2luZ2xlX190eXBlIHtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG59XHJcbiIsIi50ZWFtIHtcclxuXHRwYWRkaW5nLWJvdHRvbTogNzVweDtcclxufVxyXG5cclxuLnRlYW1fX21lbWJlcnMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAtMTBweCAwO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xyXG5cdG1hcmdpbjogLTEwcHg7XHJcbn1cclxuXHJcbi50ZWFtX19tZW1iZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiAxMDAlO1xyXG5cdFx0bWFyZ2luOiAxMHB4IDA7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogY2FsYyg1MCUgLSAyMHB4KTtcclxuXHRtYXJnaW46IDEwcHg7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxufVxyXG5cclxuLnRlYW1fX21lbWJlci1pbWFnZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0d2lkdGg6IDUwJTtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHR3aWR0aDogNjAlO1xyXG5cdGhlaWdodDogMzgwcHg7XHJcblxyXG5cdGltZyB7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0fVxyXG59XHJcblxyXG4udGVhbV9fbWVtYmVyLWJvZHkge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiA1MCU7XHJcblx0fVxyXG5cclxuXHR3aWR0aDogNDAlO1xyXG5cdHBhZGRpbmc6IDIwcHggMCAwIDIwcHg7XHJcbn1cclxuXHJcbi50ZWFtX19tZW1iZXItaGVhZCB7XHJcblx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdG1hcmdpbi1sZWZ0OiAtNzVweDtcclxuXHRwYWRkaW5nOiAyMHB4IDIwcHggMjBweCA0MHB4O1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuXHRib3JkZXItcmFkaXVzOiA0cHg7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogMDtcclxuXHRcdGxlZnQ6IDA7XHJcblx0XHR3aWR0aDogMTBweDtcclxuXHRcdGhlaWdodDogMTAwJTtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRvcmFuZ2UtMTAwO1xyXG5cdFx0Ym9yZGVyLXJhZGl1czogNHB4IDAgMCA0cHg7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHR9XHJcbn1cclxuXHJcblxyXG4udGVhbV9fbWVtYmVyLW5hbWUge1xyXG5cdG1hcmdpbi1ib3R0b206IDVweDtcclxufVxyXG5cclxuLnRlYW1fX21lbWJlci1uYW1lLFxyXG4udGVhbV9fbWVtYmVyLWZ1bmN0aW9uIHtcclxuXHRjb2xvcjogJHdoaXRlLTEwMDtcclxufVxyXG5cclxuLnRlYW1fX21lbWJlci10ZXh0IHtcclxuXHRwYWRkaW5nOiAxMHB4IDA7XHJcblx0Y29sb3I6ICRibHVlLTEwMDtcclxufVxyXG5cclxuLnRlYW1fX21lbWJlci1hY3Rpb25zIHtcclxuXHRhIHtcclxuXHRcdGRpc3BsYXk6IGZsZXg7XHJcblx0XHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdFx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0XHR3aWR0aDogNDBweDtcclxuXHRcdGhlaWdodDogNDBweDtcclxuXHRcdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRcdGJhY2tncm91bmQtY29sb3I6ICRibHVlLTEwMDtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHR3aWR0aDogMzBweDtcclxuXHRcdFx0aGVpZ2h0OiAzMHB4O1xyXG5cdFx0XHRjb2xvcjogJHdoaXRlLTEwMDtcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi50ZWFtX19tZW1iZXItbGlua2VkaW4ge1xyXG5cdG1hcmdpbi1yaWdodDogMjBweDtcclxufVxyXG4iLCIudGVhc2VycyB7XHJcblx0cGFkZGluZy1ib3R0b206IDc1cHg7XHJcbn1cclxuXHJcbi50ZWFzZXJzLS1iYWNrZ3JvdW5kLWJsdWUge1xyXG5cdGJhY2tncm91bmQtY29sb3I6ICR3aXN0ZXJpYS1ibHVlLTEwO1xyXG59XHJcblxyXG4udGVhc2Vyc19fd3JhcCB7XHJcblx0anVzdGlmeS1jb250ZW50OiBjZW50ZXI7XHJcblx0d2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xyXG5cdG1hcmdpbjogLTEwcHg7XHJcbn1cclxuXHJcbi50ZWFzZXJzX190ZWFzZXIge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDMzLjMzMzMlIC0gMjBweCk7XHJcblx0fVxyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdHdpZHRoOiBjYWxjKDUwJSAtIDIwcHgpO1xyXG5cdH1cclxuXHJcblx0d2lkdGg6IGNhbGMoMjAlIC0gMjBweCk7XHJcblx0bWFyZ2luOiAxMHB4O1xyXG5cclxuXHRhIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHRcdHBhZGRpbmc6IDIwcHg7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogZmxleDtcclxuXHRcdGZsZXgtd3JhcDogd3JhcDtcclxuXHRcdGp1c3RpZnktY29udGVudDogY2VudGVyO1xyXG5cdFx0aGVpZ2h0OiAxMDAlO1xyXG5cdFx0cGFkZGluZzogMjBweCAzMHB4O1xyXG5cdFx0YmFja2dyb3VuZC1jb2xvcjogJHBhbGUtb3JhbmdlLTEwMDtcclxuXHRcdGNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRib3JkZXItcmFkaXVzOiA1cHg7XHJcblx0XHR0cmFuc2l0aW9uOiBhbGwgMjUwbXMgZWFzZTtcclxuXHJcblx0XHQmLmlzLWFjdGl2ZSxcclxuXHRcdCY6aG92ZXIge1xyXG5cdFx0XHRiYWNrZ3JvdW5kLWNvbG9yOiAkYmx1ZS0xMDA7XHJcblx0XHRcdGNvbG9yOiAkcGFsZS1vcmFuZ2UtMTAwO1xyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnRlYXNlcnNfX3RlYXNlci1pY29uIHtcclxuXHR3aWR0aDogMTAwJTtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblxyXG5cdHN2ZyB7XHJcblx0XHR3aWR0aDogNTNweDtcclxuXHRcdGhlaWdodDogNTBweDtcclxuXHR9XHJcbn1cclxuXHJcbi50ZWFzZXJzX190ZWFzZXItdGl0bGUge1xyXG5cdEBpbmNsdWRlIGZvbnQoMjBweCwgMjJweCk7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHR0ZXh0LWFsaWduOiBjZW50ZXI7XHJcblx0YWxpZ24taXRlbXM6IGNlbnRlcjtcclxuXHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICdzZWN1bmRhaXInKTtcclxuXHRmb250LXdlaWdodDogNTAwO1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG4iLCIucGFydG5lci1zaW5nbGUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdG1pbi1oZWlnaHQ6IGF1dG87XHJcblx0XHRtYXJnaW46IDc1cHggMDtcclxuXHR9XHJcblxyXG5cdHBvc2l0aW9uOiByZWxhdGl2ZTtcclxuXHRtaW4taGVpZ2h0OiA2NTBweDtcclxuXHRtYXJnaW46IDEwMHB4IDAgNzVweCAwO1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHRcdGRpc3BsYXk6IG5vbmU7XHJcblx0XHR9XHJcblxyXG5cdFx0ZGlzcGxheTogYmxvY2s7XHJcblx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHR0b3A6IC00NXB4O1xyXG5cdFx0bGVmdDogMDtcclxuXHRcdHdpZHRoOiAxNTRweDtcclxuXHRcdGhlaWdodDogNDk2cHg7XHJcblx0XHRiYWNrZ3JvdW5kOiB1cmwoJy4vLi4vaW1hZ2VzL2dyb3VwMzUuc3ZnJyk7XHJcblx0XHRjb250ZW50OiAnJztcclxuXHRcdHotaW5kZXg6IC0xO1xyXG5cdH1cclxufVxyXG5cclxuLnBhcnRuZXItc2luZ2xlX19wYXJ0bmVyIHtcclxuXHRmb250LXNpemU6IDE4cHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRsaW5lLWhlaWdodDogMjBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMHB4O1xyXG5cdGxldHRlci1zcGFjaW5nOiAwLjAyZW07XHJcblx0Y29sb3I6ICRibHVlLTEwMDtcclxufVxyXG5cclxuLnBhcnRuZXItc2luZ2xlX19sb2dvIHtcclxuXHRtYXJnaW4tdG9wOiA1MHB4O1xyXG5cdG1heC1oZWlnaHQ6IDEwMHB4O1xyXG59XHJcblxyXG4ucGFydG5lci1zaW5nbGVfX3RleHQtY29sdW1uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgncGhvbmUnKSB7XHJcblx0XHR3aWR0aDogMTAwJTtcclxuXHR9XHJcblxyXG5cdHdpZHRoOiA1MCU7XHJcbn1cclxuXHJcbi5wYXJ0bmVyLXNpbmdsZV9faW1hZ2UtY29sdW1uIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LWxhbmRzY2FwZS1kb3duJykge1xyXG5cdFx0aGVpZ2h0OiA1NTBweDtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3Bob25lJykge1xyXG5cdFx0cG9zaXRpb246IHJlbGF0aXZlO1xyXG5cdFx0d2lkdGg6IGNhbGMoMTAwJSArIDIwcHgpO1xyXG5cdFx0aGVpZ2h0OiAzOTVweDtcclxuXHRcdG1hcmdpbi10b3A6IDMwcHg7XHJcblx0fVxyXG5cclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdHdpZHRoOiA1MCU7XHJcblx0bWF4LXdpZHRoOiA3MTBweDtcclxuXHRoZWlnaHQ6IDY1MHB4O1xyXG5cclxuXHQmOmJlZm9yZSB7XHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogY2FsYyg1MCUgLSAyMDFweCk7XHJcblx0XHRsZWZ0OiAtMTEwcHg7XHJcblx0XHR3aWR0aDogMjYycHg7XHJcblx0XHRoZWlnaHQ6IDQwMnB4O1xyXG5cdFx0YmFja2dyb3VuZDogdXJsKCcuLy4uL2ltYWdlcy9ncm91cDIwLnN2ZycpIG5vLXJlcGVhdDtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG5cclxuXHRpbWcge1xyXG5cdFx0Ym94LXNoYWRvdzogMHB4IDBweCAyMHB4IDEwcHggJGdyZXktMTA7XHJcblx0XHRib3JkZXItcmFkaXVzOiAzOXB4IDBweCAwcHggMjA3cHg7XHJcblx0fVxyXG59XHJcblxyXG4ucGFydG5lci1zaW5nbGVfX3R5cGUge1xyXG5cdG1hcmdpbi1ib3R0b206IDEwcHg7XHJcbn1cclxuXHJcbi5wYXJ0bmVyLXNpbmdsZV9fdGl0bGUge1xyXG5cdEBleHRlbmQgaDI7XHJcbn0iLCIucGFydG5lcnMtbGlzdCB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLXRvcDogODBweDtcclxuXHRcdG1hcmdpbi1ib3R0b206IDEwMHB4O1xyXG5cdH1cclxuXHRtYXJnaW4tdG9wOiAxMDBweDtcclxuXHRtYXJnaW4tYm90dG9tOiAxMzBweDtcclxuXHRwb3NpdGlvbjogcmVsYXRpdmU7XHJcblxyXG5cdCY6YmVmb3JlIHtcclxuXHRcdEBpbmNsdWRlIG1lZGlhKCdwaG9uZScpIHtcclxuXHRcdFx0ZGlzcGxheTogbm9uZTtcclxuXHRcdH1cclxuXHJcblx0XHRkaXNwbGF5OiBibG9jaztcclxuXHRcdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHRcdHRvcDogLTQ1cHg7XHJcblx0XHRsZWZ0OiAwO1xyXG5cdFx0d2lkdGg6IDE1NHB4O1xyXG5cdFx0aGVpZ2h0OiA0OTZweDtcclxuXHRcdGJhY2tncm91bmQ6IHVybCgnLi8uLi9pbWFnZXMvZ3JvdXAzNS5zdmcnKTtcclxuXHRcdGNvbnRlbnQ6ICcnO1xyXG5cdFx0ei1pbmRleDogLTE7XHJcblx0fVxyXG5cclxuXHQ+IC53cmFwcGVyIHtcclxuXHRcdCY6YmVmb3JlIHtcclxuXHRcdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1sYW5kc2NhcGUtZG93bicpIHtcclxuXHRcdFx0XHRkaXNwbGF5OiBub25lO1xyXG5cdFx0XHR9XHJcblxyXG5cdFx0XHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0XHRcdGJvdHRvbTogMjAwcHg7XHJcblx0XHRcdHJpZ2h0OiAwO1xyXG5cdFx0XHR3aWR0aDogMTgwcHg7XHJcblx0XHRcdGhlaWdodDogMjYycHg7XHJcblx0XHRcdGJhY2tncm91bmQ6IHVybCggJy4vLi4vaW1hZ2VzL2dyb3VwMTYuc3ZnJyApIG5vLXJlcGVhdDtcclxuXHRcdFx0b3BhY2l0eTogMC41O1xyXG5cdFx0XHRjb250ZW50OiAnJztcclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wYXJ0bmVycy1saXN0X19zdWJ0aXRsZSB7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDE4cHg7XHJcblx0bGluZS1oZWlnaHQ6IDIwcHg7XHJcblx0bGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcclxuXHRjb2xvcjogJGJsdWUtMTAwO1xyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcbn1cclxuXHJcbi5wYXJ0bmVycy1saXN0X190aXRsZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0Zm9udC1zaXplOiAzMnB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDMycHg7XHJcblx0fVxyXG5cdGZvbnQtd2VpZ2h0OiA3MDA7XHJcblx0Zm9udC1zaXplOiA2NHB4O1xyXG5cdGxpbmUtaGVpZ2h0OiA2NHB4O1xyXG59XHJcblxyXG4ucGFydG5lci1jYXRlZ29yeSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0bWFyZ2luLXRvcDogNTBweDtcclxuXHR9XHJcblx0bWFyZ2luLXRvcDogNzVweDtcclxuXHRkaXNwbGF5OiBibG9jaztcclxufVxyXG5cclxuLnBhcnRuZXItY2F0ZWdvcnlfX25hbWUge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRcdGZvbnQtc2l6ZTogMjJweDtcclxuXHRcdGxpbmUtaGVpZ2h0OiAyMnB4O1xyXG5cdH1cclxuXHRkaXNwbGF5OiBmbGV4O1xyXG5cdGZsZXgtd3JhcDogd3JhcDtcclxuXHRhbGlnbi1pdGVtczogY2VudGVyO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdG1hcmdpbi1ib3R0b206IDMycHg7XHJcblx0Zm9udC13ZWlnaHQ6IDcwMDtcclxuXHRmb250LXNpemU6IDM2cHg7XHJcblx0bGluZS1oZWlnaHQ6IDQwcHg7XHJcblx0Y29sb3I6ICRvcmFuZ2UtMTAwO1x0XHJcblx0Zm9udC1mYW1pbHk6IG1hcC1nZXQoJGZvbnQtZmFtaWx5LCAnc2VjdW5kYWlyJyk7XHJcblxyXG5cdC50b2dnbGUge1xyXG5cdFx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0XHRkaXNwbGF5OiBmbGV4O1xyXG5cdFx0fVxyXG5cdFx0ZGlzcGxheTogbm9uZTtcclxuXHJcblx0XHRzdmcge1xyXG5cdFx0XHRtYXJnaW4tbGVmdDogMTBweDtcclxuXHRcdFx0ZmlsbDogJGJsdWUtMTAwO1xyXG5cdFx0XHR3aWR0aDogMTNweDtcclxuXHRcdFx0aGVpZ2h0OiAxM3B4O1xyXG5cdFx0XHR0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XHJcblx0XHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuXHRcdH1cclxuXHR9XHJcblxyXG5cdCYuaXMtYWN0aXZlIHtcclxuXHRcdC50b2dnbGUge1xyXG5cdFx0XHRzdmcge1xyXG5cdFx0XHRcdHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcbi5wYXJ0bmVycy1saXN0LWl0ZW0ge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtbGFuZHNjYXBlLWRvd24nKSB7XHJcblx0XHR3aWR0aDogY2FsYygzMyUgLSAxNXB4KTtcclxuXHR9XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0d2lkdGg6IGNhbGMoNTAlIC0gMTVweCk7XHJcblx0fVxyXG5cdHdpZHRoOiBjYWxjKDI1JSAtIDIwcHgpO1xyXG5cdGRpc3BsYXk6IGZsZXg7XHJcblx0ZmxleC13cmFwOiB3cmFwO1xyXG5cclxuXHQmOmhvdmVyIHtcclxuXHRcdC5wYXJ0bmVyLWl0ZW1fX2xvZ28td3JhcHBlciB7XHJcblx0XHRcdGltZyB7XHJcblx0XHRcdFx0dHJhbnNmb3JtOiBzY2FsZSgxLjAzKTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuLnBhcnRuZXJzX2xpc3RfX3dyYXAge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCd0YWJsZXQtcG9ydHJhaXQtZG93bicpIHtcclxuXHRkaXNwbGF5OiBub25lO1xyXG5cdH1cclxufVxyXG5cclxuLnBhcnRuZXItbGlzdF9faXRlbXMgIHtcclxuXHRnYXA6IDMzcHggMjZweDtcclxufVxyXG5cclxuLnBhcnRuZXItaXRlbV9fbG9nby13cmFwcGVyIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgndGFibGV0LXBvcnRyYWl0LWRvd24nKSB7XHJcblx0XHRoZWlnaHQ6IDkwcHg7XHJcblx0fVxyXG5cdGJveC1zaGFkb3c6IDBweCAxcHggMTBweCByZ2JhKDMzLCA1OSwgMTM5LCAwLjEpO1xyXG5cdGJvcmRlci1yYWRpdXM6IDVweDtcclxuXHRwYWRkaW5nOiAyMHB4O1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTQwcHg7XHJcblx0ZGlzcGxheTogZmxleDtcclxuXHR0cmFuc2l0aW9uOiBhbGwgMzAwbXMgZWFzZS1pbi1vdXQ7XHJcblx0YmFja2dyb3VuZC1jb2xvcjogJHdoaXRlLTEwMDtcclxuXHJcblx0aW1nIHtcclxuXHRcdHRyYW5zaXRpb246IGFsbCAzMDBtcyBlYXNlLWluLW91dDtcclxuXHR9XHJcbn1cclxuXHJcbi5wYXJ0bmVyLWl0ZW1fX2xvZ28ge1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRtYXgtd2lkdGg6IDEwMCU7XHJcblx0bWF4LWhlaWdodDogODBweDtcclxuXHRvYmplY3QtZml0OiBjb250YWluO1xyXG5cdG9iamVjdC1wb3NpdGlvbjogY2VudGVyO1xyXG5cdG1hcmdpbjogYXV0bztcclxufVxyXG5cclxuLnBhcnRuZXItaXRlbV9fbmFtZSB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJ3RhYmxldC1wb3J0cmFpdC1kb3duJykge1xyXG5cdFx0Zm9udC1zaXplOiAxNXB4O1xyXG5cdFx0bGluZS1oZWlnaHQ6IDE1cHg7XHJcblx0fVxyXG5cdG1hcmdpbi10b3A6IDEwcHg7XHJcblx0Zm9udC13ZWlnaHQ6IDYwMDtcclxuXHRmb250LXNpemU6IDIycHg7XHJcblx0bGluZS1oZWlnaHQ6IDIycHg7XHJcblx0Y29sb3I6ICRibHVlLTEwMDtcclxuXHR3aWR0aDogMTAwJTtcclxufSIsIi8qKlxyXG4gKiBDb2xvciB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqXHJcbiAqIEF1dG9tYXRpY2FsbHkgZ2VuZXJhdGVkIGNvbG9yIGFuZCBiYWNrZ3JvdW5kIGNvbG9yIHV0aWxpdHkgY2xhc3NlcyBiYXNlZCBvbiBldmVyeSBjb2xvciBkZWZpbml0aW9uIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbiAqIExvb3AgdGhyb3VnaCBldmVyeSBgJGtleWAgYW5kIGAkbWFwYCBpbiB0aGUgYCRjb2xvcnNgIHZhcmlhYmxlIG1hcCBkZWZpbmVkIGluIGBzZXR0aW5ncy9fY29sb3Iuc2Nzc2AuXHJcbiAqL1xyXG4gXHJcbkBlYWNoICRrZXksICRtYXAgaW4gJGNvbG9ycyB7XHJcblxyXG5cdC8vIExvb3AgdGhyb3VnaCBldmVyeSBgJHNoYWRlYCBhbmQgYCRyZ2JgIGluIGAkbWFwYC5cclxuXHRAZWFjaCAkc2hhZGUsICRyZ2IgaW4gJG1hcCB7XHJcblxyXG5cdFx0Ly8gTG9vcCB0aHJvdWdoIGV2ZXJ5IGBjb2xvcmAgYW5kIGBiYWNrZ3JvdW5kLWNvbG9yYCBydWxlcy5cclxuXHRcdEBlYWNoICRydWxlIGluIGNvbG9yLCBiYWNrZ3JvdW5kLWNvbG9yIHtcclxuXHJcblx0XHRcdC8qKlxyXG5cdFx0XHQgKiBgI3skcnVsZX1gICN7JHJnYn0tI3skc2hhZGV9IGNvbG9yIHV0aWxpdHkuXHJcblx0XHRcdCAqL1xyXG5cclxuXHRcdFx0LiN7JHJ1bGV9LSN7dW5xdW90ZSgka2V5KX0tI3t1bnF1b3RlKCRzaGFkZSl9IHtcclxuXHRcdFx0XHQjeyRydWxlfTogJHJnYjtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVmlzdWFsbHkgaGlkZSBhbnkgZWxlbWVudCBmcm9tIHRoZSB1c2VyLlxyXG4gKi9cclxuXHJcbi52aXN1YWxseS1oaWRkZW4ge1xyXG5cdGRpc3BsYXk6IGJsb2NrO1xyXG5cdHBvc2l0aW9uOiBhYnNvbHV0ZTtcclxuXHR3aWR0aDogMXB4O1xyXG5cdGhlaWdodDogMXB4O1xyXG5cdHdoaXRlLXNwYWNlOiBub3dyYXA7XHJcblx0b3ZlcmZsb3c6IGhpZGRlbjtcclxuXHRjbGlwOiByZWN0KDFweCwgMXB4LCAxcHgsIDFweCk7XHJcblx0Y2xpcC1wYXRoOiBpbnNldCgxcHgpO1xyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIE1ha2UgbGF6eWxvYWQgcGxhY2Vob2xkZXIgMTAwJSB3aWRlLlxyXG4gKi9cclxuXHJcbi5sYXp5bG9hZCB7XHJcblx0d2lkdGg6IDEwMCU7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogSGVscGVyIGNsYXNzIGZvciBvYmplY3QgZml0IHBvbHlmaWxsLiBBZGQgdGhpcyBjbGFzcyB0byBhbnkgZWxlbWVudFxyXG4gKiB0aGF0IHV0aWxpemVzIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXHJcbiAqL1xyXG5cclxuJW9iamVjdC1maXQsXHJcbi5vYmplY3QtZml0IHtcclxuXHRwb3NpdGlvbjogYWJzb2x1dGU7XHJcblx0dG9wOiAwO1xyXG5cdHJpZ2h0OiAwO1xyXG5cdGJvdHRvbTogMDtcclxuXHRsZWZ0OiAwO1xyXG5cdHdpZHRoOiAxMDAlO1xyXG5cdGhlaWdodDogMTAwJTtcclxuXHRmb250LWZhbWlseTogJ29iamVjdC1maXQ6IGNvdmVyOyc7XHJcblx0b2JqZWN0LWZpdDogY292ZXI7XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogQWxpZ24gY2VudGVyLlxyXG4gKi9cclxuXHJcbi5hbGlnbi1jZW50ZXIge1xyXG5cdHRleHQtYWxpZ246IGNlbnRlcjtcclxufVxyXG5cclxuLyoqXHJcbiAqIEFsaWduIGxlZnQuXHJcbiAqL1xyXG5cclxuLmFsaWduLWxlZnQge1xyXG5cdHRleHQtYWxpZ246IGxlZnQ7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBBbGlnbiByaWdodC5cclxuICovXHJcblxyXG4uYWxpZ24tcmlnaHQge1xyXG5cdHRleHQtYWxpZ246IHJpZ2h0O1xyXG59XHJcbiIsIi8qKlxyXG4gKiBPYmplY3QgZml0LlxyXG4gKlxyXG4gKiAxLiBGb250IGZhbWlseSBwb2x5ZmlsbCB3aXRoIChodHRwczovL2dpdGh1Yi5jb20vYmZyZWQtaXQvb2JqZWN0LWZpdC1pbWFnZXMpLlxyXG4gKiBMb29wIHRocm91Z2ggZXZlcnkgdmFsdWUgZm9yIHRoZSBgb2JqZWN0LWZpdGAgcHJvcGVydHkuXHJcbiAqL1xyXG5cclxuQGVhY2ggJHZhbHVlIGluIGZpbGwsIGNvbnRhaW4sIGNvdmVyLCBub25lLCBzY2FsZS1kb3duIHtcclxuXHJcblx0LyoqXHJcblx0ICogYG9iamVjdC1maXRgICN7JHZhbHVlfSB1dGlsaXR5IGNsYXNzLlxyXG5cdCAqL1xyXG5cclxuXHQuI3skdmFsdWV9IHtcclxuXHRcdGZvbnQtZmFtaWx5OiAnb2JqZWN0LWZpdDogI3skdmFsdWV9Oyc7IC8qIDEgKi9cclxuXHRcdG9iamVjdC1maXQ6ICN7JHZhbHVlfTtcclxuXHR9XHJcbn1cclxuIiwiLyoqXHJcbiAqIFBvc2l0aW9uIHV0aWxpdHkgY2xhc3MuXHJcbiAqL1xyXG5cclxuQGVhY2ggJHZhbHVlIGluIHN0YXRpYywgcmVsYXRpdmUsIGFic29sdXRlLCBmaXhlZCwgc3RpY2t5IHtcclxuXHQuI3skdmFsdWV9IHtcclxuXHRcdHBvc2l0aW9uOiAkdmFsdWU7XHJcblx0fVxyXG59XHJcbiIsIlxyXG4vKipcclxuICogRm9udCBmYW1pbHkgdXRpbGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICRwcm9wZXJ0eSwgJHZhbHVlIGluICRmb250LWZhbWlseSB7XHJcblx0XHRcdC50ZXh0LSN7JGtleX0tI3skcHJvcGVydHl9IHtcclxuXHRcdFx0XHRmb250LWZhbWlseTogbWFwLWdldCgkZm9udC1mYW1pbHksICRwcm9wZXJ0eSk7XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCBzaXplIHV0aWxpdHkgY2xhc3Nlcy5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkYnJlYWtwb2ludCBpbiAkYnJlYWtwb2ludHMge1xyXG5cdEBpbmNsdWRlIG1lZGlhKCRicmVha3BvaW50KSB7XHJcblx0XHRAZWFjaCAkcHJvcGVydHksICR2YWx1ZSBpbiAkZm9udC1zaXplIHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRwcm9wZXJ0eX0ge1xyXG5cdFx0XHRcdEBpbmNsdWRlIHRleHQoJHByb3BlcnR5KTtcclxuXHRcdFx0fVxyXG5cdFx0fVxyXG5cdH1cclxufVxyXG5cclxuXHJcbi8qKlxyXG4gKiBUZXh0IGFsaWdubWVudCB1dGlsaXR5IGNsYXNzZXMuXHJcbiAqL1xyXG5cclxuQGVhY2ggJGtleSwgJGJyZWFrcG9pbnQgaW4gJGJyZWFrcG9pbnRzIHtcclxuXHRAaW5jbHVkZSBtZWRpYSgkYnJlYWtwb2ludCkge1xyXG5cdFx0QGVhY2ggJGRpcmVjdGlvbiBpbiBsZWZ0LCByaWdodCwgY2VudGVyIHtcclxuXHRcdFx0LnRleHQtI3ska2V5fS0jeyRkaXJlY3Rpb259IHtcclxuXHRcdFx0XHR0ZXh0LWFsaWduOiAkZGlyZWN0aW9uO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcblxyXG5cclxuLyoqXHJcbiAqIEZvbnQgd2VpZ2h0IHV0aWxpdHkgY2xhc3Nlcy5cclxuICpcclxuICogMS4gTXVsdGlwbHkgbG9vcGVkIGludGVnZXIgYnkgMTAwIGZvciBjb3JyZWN0IGZvbnQgd2VpZ2h0IHZhbHVlLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggOSB7XHJcblx0XHRcdCRpOiAkaSAqIDEwMDsgLy8gWzFdXHJcblxyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JGl9IHtcclxuXHRcdFx0XHRmb250LXdlaWdodDogI3skaX07XHJcblx0XHRcdH1cclxuXHRcdH1cclxuXHR9XHJcbn1cclxuXHJcblxyXG4vKipcclxuICogVGV4dCB0cmFuc2Zvcm0gdWl0bGl0eSBjbGFzc2VzLlxyXG4gKi9cclxuXHJcbkBlYWNoICRrZXksICRicmVha3BvaW50IGluICRicmVha3BvaW50cyB7XHJcblx0QGluY2x1ZGUgbWVkaWEoJGJyZWFrcG9pbnQpIHtcclxuXHRcdEBlYWNoICR0cmFuc2Zvcm0gaW4gY2FwaXRhbGl6ZSwgdXBwZXJjYXNlLCBsb3dlcmNhc2UsIG5vbmUsIGZ1bGwtd2lkdGgge1xyXG5cdFx0XHQudGV4dC0jeyRrZXl9LSN7JHRyYW5zZm9ybX0ge1xyXG5cdFx0XHRcdHRleHQtdHJhbnNmb3JtOiAkdHJhbnNmb3JtO1xyXG5cdFx0XHR9XHJcblx0XHR9XHJcblx0fVxyXG59XHJcbiIsIi8qKlxyXG4gKiBWZXJ0aWNhbCBSaHl0aG0uXHJcbiAqL1xyXG4gXHJcbkBmb3IgJGkgZnJvbSAwIHRocm91Z2ggMTAge1xyXG5cdCRpOiAkaSAqIDg7XHJcblxyXG5cdC52ci0jeyRpfSB7XHJcblx0XHRtYXJnaW4tYm90dG9tOiAjeyRpfXB4O1xyXG5cdH1cclxufVxyXG4iLCIvKipcclxuICogVXRpbGl0eSBjbGFzc2VzIGZvciBtYW5pcHVsYXRpbmcgc3RhY2tpbmcgb3JkZXIgaW4gSFRNTC5cclxuICovXHJcblxyXG5AZWFjaCAka2V5LCAkdmFsdWUgaW4gJHotaW5kZXgge1xyXG5cdC56LWluZGV4LSN7JGtleX0ge1xyXG5cdFx0ei1pbmRleDogJHZhbHVlO1xyXG5cdH1cclxufVxyXG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUNGSDs7R0FFRztBQ0ZIOztHQUVHO0FBUUg7O0dBRUc7QUFDSCxVQUFVO0VBQ1IsV0FBVyxFQUFFLFNBQVM7RUFDdEIsR0FBRyxFQUFFLDREQUE0RCxDQUFDLGtCQUFrQjtFQUNwRixXQUFXLEVBQUUsR0FBRzs7QUFFbEIsVUFBVTtFQUNSLFdBQVcsRUFBRSxTQUFTO0VBQ3RCLEdBQUcsRUFBRSw4REFBOEQsQ0FBQyxrQkFBa0I7RUFDdEYsV0FBVyxFQUFFLEdBQUc7O0FBRWxCLFVBQVU7RUFDUixXQUFXLEVBQUUsU0FBUztFQUN0QixHQUFHLEVBQUUsNkRBQTZELENBQUMsa0JBQWtCO0VBQ3JGLFdBQVcsRUFBRSxHQUFHOztBQUVsQixVQUFVO0VBQ1IsV0FBVyxFQUFFLFNBQVM7RUFDdEIsR0FBRyxFQUFFLDJEQUEyRCxDQUFDLGtCQUFrQjtFQUNuRixXQUFXLEVBQUUsR0FBRzs7QUFJbEI7O0dBRUc7QUFXSDs7R0FFRztBR2xESDs7R0FFRztBQWVIOztHQUVHO0FBTUg7O0dBRUc7QUFlSDs7R0FFRztBQU1ILEFB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LEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxHQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLEdBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxHQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLEdBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFF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UjFCQSxRQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFFBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxHQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLEdBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxHQUE0QjtJUTJCakMsT0FBTyxFQUFFLENB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Rjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxHQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLEdBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxHQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLEdBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsVUFBVSxDQUFTO0lB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QUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLEdBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxHQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLEdBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7O09BRUc7RUFFSCxBQUFBLFlBQVksQ0FBVTtJQUNyQixXQUFXLEVSekNQLFNBQTRCLEdRMENoQztFQXRCRjs7TUFFRztFQUVILEFBQUEsU0FBUyxDQUFVO0lBQ2xCLElBQUksRUFBRSxRQUFRO0lBQ2QsS0FBSyxFUjFCQSxTQUE0QjtJUTJCakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxJQUFhLEdBQ3hCO0VBUUE7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 */
